Browse Source

Merge pull request #2213 from Yidadaa/bugfix-0701

feat: mac os arm64 bundle
Yifei Zhang 1 year ago
parent
commit
564709aa98
5 changed files with 28 additions and 7 deletions
  1. 20 3
      .github/workflows/app.yml
  2. 7 2
      app/components/mask.tsx
  3. 1 2
      app/store/update.ts
  4. BIN
      public/macos.png
  5. BIN
      src-tauri/icons/icon.icns

+ 20 - 3
.github/workflows/app.yml

@@ -39,9 +39,21 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        platform: [macos-latest, ubuntu-20.04, windows-latest]
+        config:
+          - os: ubuntu-latest
+            arch: x86_64
+            rust_target: x86_64-unknown-linux-gnu
+          - os: macos-latest
+            arch: x86_64
+            rust_target: x86_64-apple-darwin
+          - os: macos-latest
+            arch: aarch64
+            rust_target: aarch64-apple-darwin
+          - os: windows-latest
+            arch: x86_64
+            rust_target: x86_64-pc-windows-msvc
 
-    runs-on: ${{ matrix.platform }}
+    runs-on: ${{ matrix.config.os }}
     steps:
       - uses: actions/checkout@v3
       - name: setup node
@@ -50,8 +62,13 @@ jobs:
           node-version: 16
       - name: install Rust stable
         uses: dtolnay/rust-toolchain@stable
+        with:
+          targets: ${{ matrix.config.rust_target }}
+      - uses: Swatinem/rust-cache@v2
+        with:
+          key: ${{ matrix.config.rust_target }}
       - name: install dependencies (ubuntu only)
-        if: matrix.platform == 'ubuntu-20.04'
+        if: matrix.config.os == 'ubuntu-20.04'
         run: |
           sudo apt-get update
           sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf

+ 7 - 2
app/components/mask.tsx

@@ -134,14 +134,19 @@ export function MaskConfig(props: {
               type="checkbox"
               checked={props.mask.syncGlobalConfig}
               onChange={async (e) => {
+                const checked = e.currentTarget.checked;
                 if (
-                  e.currentTarget.checked &&
+                  checked &&
                   (await showConfirm(Locale.Mask.Config.Sync.Confirm))
                 ) {
                   props.updateMask((mask) => {
-                    mask.syncGlobalConfig = e.currentTarget.checked;
+                    mask.syncGlobalConfig = checked;
                     mask.modelConfig = { ...globalConfig.modelConfig };
                   });
+                } else if (!checked) {
+                  props.updateMask((mask) => {
+                    mask.syncGlobalConfig = checked;
+                  });
                 }
               }}
             ></input>

+ 1 - 2
app/store/update.ts

@@ -81,8 +81,7 @@ export const useUpdateStore = create<UpdateStore>()(
 
         set(() => ({ version }));
 
-        const shouldCheck =
-          Date.now() - get().lastUpdate > 24 * 60 * ONE_MINUTE;
+        const shouldCheck = Date.now() - get().lastUpdate > 2 * 60 * ONE_MINUTE;
         if (!force && !shouldCheck) return;
 
         set(() => ({

BIN
public/macos.png


BIN
src-tauri/icons/icon.icns