diff --git a/.github/workflows/release-macos.yaml b/.github/workflows/release-macos.yaml
index 83906b7..a6ce902 100644
--- a/.github/workflows/release-macos.yaml
+++ b/.github/workflows/release-macos.yaml
@@ -1,9 +1,8 @@
name: Release macOS App
on:
- push:
- tags:
- - 'v*.*.*'
+ release:
+ types: [ published ]
jobs:
release:
@@ -12,12 +11,12 @@ jobs:
strategy:
matrix:
platform:
- # - darwin/amd64
- # - darwin/arm64
- - darwin/universal
+ - darwin/amd64
+ # - darwin/arm64
+ # - darwin/universal
steps:
- name: Checkout source code
- uses: actions/checkout@v2
+ uses: actions/checkout@v3
- name: Normalise platform tag
id: normalise_platform
@@ -78,26 +77,34 @@ jobs:
- name: Compress macOS app
shell: bash
- run: cd build/bin && zip -r TinyRDM-${{ steps.normalise_platform.outputs.tag }}.zip TinyRDM.app
+ run: |
+ cd build/bin
+ mv tinyrdm.app "Tiny RDM.app"
+ zip -r TinyRDM-${{ steps.normalise_platform.outputs.tag }}.zip "Tiny RDM.app"
- - name: Create Release
- id: create_release
- uses: actions/create-release@v1.1.4
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- tag_name: ${{ github.ref }}
- release_name: Release ${{ github.ref }}
- draft: true
- prerelease: false
+ - name: Get latest release from API
+ id: get_upload_url
+ shell: bash
+ run: |
+ curl -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" "https://api.github.com/repos/${GITHUB_REPOSITORY}/releases" > /tmp/releases.json
+ url=$(jq -r '.[0].upload_url' /tmp/releases.json)
+ echo "url=${url/%{?name,label}/}" >> "$GITHUB_OUTPUT"
- - name: Upload Release Asset
- id: upload-release-asset
- uses: actions/upload-release-asset@v1.0.2
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- upload_url: ${{ steps.create_release.outputs.upload_url }}
- asset_path: ./build/bin/TinyRDM-${{ steps.normalise_platform.outputs.tag }}.zip
- asset_name: TinyRDM_{{ steps.normalise_version.outputs.version }}_${{ steps.normalise_platform.outputs.tag }}.zip
- asset_content_type: application/zip
+ - name: Upload release asset
+ shell: bash
+ run: |
+ filepath="./build/bin/TinyRDM-${{ steps.normalise_platform.outputs.tag }}.zip"
+ filename="TinyRDM_${{ steps.normalise_version.outputs.version }}_${{ steps.normalise_platform.outputs.tag }}.zip"
+ upload_url="https://uploads.github.com/repos/${GITHUB_REPOSITORY}/releases/${{ github.event.release.id }}/assets"
+ curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" -H "Content-Type: application/zip" --data-binary @$filepath "$upload_url?name=$filename"
+
+# - name: Upload artifact
+# uses: actions/upload-release-asset@v1.0.2
+# env:
+# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+# ARTIFACT_NAME: TinyRDM_${{ steps.normalise_version.outputs.version }}_${{ steps.normalise_platform.outputs.tag }}
+# with:
+# upload_url: ${{ steps.get_upload_url.outputs.url }}
+# asset_path: ./build/bin/TinyRDM-${{ steps.normalise_platform.outputs.tag }}.zip
+# asset_name: ${{ env.ARTIFACT_NAME }}.zip
+# asset_content_type: application/zip
diff --git a/build/appicon.png b/build/appicon.png
index ec86201..883f6b4 100644
Binary files a/build/appicon.png and b/build/appicon.png differ
diff --git a/build/darwin/Info.dev.plist b/build/darwin/Info.dev.plist
index 02e7358..ff8604e 100644
--- a/build/darwin/Info.dev.plist
+++ b/build/darwin/Info.dev.plist
@@ -8,7 +8,7 @@
CFBundleExecutable
{{.Name}}
CFBundleIdentifier
- com.wails.{{.Name}}
+ com.tinycraft.{{.Name}}
CFBundleVersion
{{.Info.ProductVersion}}
CFBundleGetInfoString
@@ -29,4 +29,4 @@
-
\ No newline at end of file
+
diff --git a/frontend/src/components/dialogs/PreferencesDialog.vue b/frontend/src/components/dialogs/PreferencesDialog.vue
index 7cd7901..843b6ae 100644
--- a/frontend/src/components/dialogs/PreferencesDialog.vue
+++ b/frontend/src/components/dialogs/PreferencesDialog.vue
@@ -15,22 +15,26 @@ const i18n = useI18n()
const message = useMessage()
const loading = ref(false)
+const initPreferences = async () => {
+ try {
+ loading.value = true
+ tab.value = 'general'
+ await prefStore.loadFontList()
+ await prefStore.loadPreferences()
+ prevPreferences.value = {
+ general: prefStore.general,
+ editor: prefStore.editor,
+ }
+ } finally {
+ loading.value = false
+ }
+}
+
watch(
() => dialogStore.preferencesDialogVisible,
- async (visible) => {
+ (visible) => {
if (visible) {
- try {
- loading.value = true
- tab.value = 'general'
- await prefStore.loadFontList()
- await prefStore.loadPreferences()
- prevPreferences.value = {
- general: prefStore.general,
- editor: prefStore.editor,
- }
- } finally {
- loading.value = false
- }
+ nextTick().then(async () => initPreferences())
}
},
)