diff --git a/.github/workflows/app.yml b/.github/workflows/app.yml index 234338dd4..b928ad6c1 100644 --- a/.github/workflows/app.yml +++ b/.github/workflows/app.yml @@ -9,7 +9,7 @@ jobs: create-release: permissions: contents: write - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest outputs: release_id: ${{ steps.create-release.outputs.result }} @@ -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-latest' run: | sudo apt-get update sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf @@ -68,7 +85,7 @@ jobs: publish-release: permissions: contents: write - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest needs: [create-release, build-tauri] steps: diff --git a/app/components/mask.tsx b/app/components/mask.tsx index c10ba4766..ea7cf3a53 100644 --- a/app/components/mask.tsx +++ b/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; + }); } }} > diff --git a/app/locales/jp.ts b/app/locales/jp.ts index cf0f1d7a8..d2feca4d8 100644 --- a/app/locales/jp.ts +++ b/app/locales/jp.ts @@ -61,7 +61,20 @@ const jp: PartialLocaleType = { Settings: { Title: "設定", SubTitle: "設定オプション", - + Danger: { + Reset: { + Title: "設定をリセット", + SubTitle: "すべての設定項目をデフォルトにリセットします", + Action: "今すぐリセットする", + Confirm: "すべての設定項目をリセットしてもよろしいですか?", + }, + Clear: { + Title: "データを消去", + SubTitle: "すべてのチャット履歴と設定を消去します", + Action: "今すぐ消去する", + Confirm: "すべてのチャット履歴と設定を消去しますか?", + }, + }, Lang: { Name: "Language", // ATTENTION: if you wanna add a new translation, please do not translate this value, leave it as `Language` All: "全ての言語", @@ -71,7 +84,10 @@ const jp: PartialLocaleType = { Title: "フォントサイズ", SubTitle: "チャット内容のフォントサイズ", }, - + InputTemplate: { + Title: "入力の前処理", + SubTitle: "新規入力がこのテンプレートに埋め込まれます", + }, Update: { Version: (x: string) => `現在のバージョン:${x}`, IsLatest: "最新バージョンです", diff --git a/app/store/update.ts b/app/store/update.ts index c336f03fd..dd4d3c724 100644 --- a/app/store/update.ts +++ b/app/store/update.ts @@ -81,8 +81,7 @@ export const useUpdateStore = create()( 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(() => ({ diff --git a/public/macos.png b/public/macos.png new file mode 100644 index 000000000..f1bd0e69f Binary files /dev/null and b/public/macos.png differ diff --git a/src-tauri/icons/icon.icns b/src-tauri/icons/icon.icns index deca5bc69..7432486f7 100644 Binary files a/src-tauri/icons/icon.icns and b/src-tauri/icons/icon.icns differ