Integrate ASR/Omni fixes, API Route, Android IME and confirmation-based vocabulary learning. Complete settings transitions and macOS single-item credential storage. Synchronize all application versions to 2.0.0-Beta.4+build.20260930.
Integrated PRs: #1116, #1120, #1121, #1123, #1124, #1067 and #1128. Linux #1117 remains independent and is excluded from automatic release.
Validated: full cross-platform CI, 18 UI motion cases, 112 frontend test files, 1245 Core tests (1 ignored) and 572 macOS native tests.
Co-authored-by: HKLHaoBin <we3q@qq.com>
Integrate Android CI acceleration, modifier-only dictation chords,
Requesty, and remote-input generation guards over the verified Beta 2
baseline and macOS CI improvements. Fix review findings in signing
configuration caching, APK validation, and modifier arbitration/recording.
Keep Linux egui and its release workflows identical to Beta 2.
Co-authored-by: HKLHaoBin <we3q@qq.com>
Co-authored-by: leolulu <35873316+leolulu@users.noreply.github.com>
Co-authored-by: Thibault Jaigu <thibault.jaigu@gmail.com>
Co-authored-by: Ethan <257484394+EthanYoQ@users.noreply.github.com>
* ci: optimize CI caching, concurrency, and Tauri security
Address multiple CI/CD efficiency and security gaps identified during
project optimization analysis. The changes reduce PR build times,
prevent wasteful concurrent runs, tighten the Tauri security boundary,
and eliminate unnecessary submodule fetches on non-macOS jobs.
CI workflow improvements:
- Add swatinem/rust-cache@v2 to both ci.yml jobs (android-check and
cross-platform), matching the caching already present in
release-tauri.yml. This converts PR Rust compilation from full
rebuilds to incremental builds, saving an estimated 60-80% of
compile time per run.
- Add concurrency groups to all three workflows. PR pushes cancel
superseded runs to free concurrency slots; tag pushes and manual
dispatches are isolated by run_id to avoid mutually canceling
release builds. Previously, rapid PR pushes triggered redundant
parallel CI runs with no cancellation.
- Unify Node version to 22 across release-tauri.yml and
android-apk.yml, which were previously pinned to 20. This ensures
consistent build environments across all workflows.
Submodule and security hardening:
- Conditionally fetch the vendor/qwen-asr submodule only on macOS
jobs across all three workflows. The submodule is compiled
exclusively by build.rs on macOS (build_qwen_asr_macos); Linux,
Windows, and Android builds never reference it. Removing the
unconditional recursive checkout eliminates a network fetch and
a submodule-availability failure point on every non-macOS job.
- Set withGlobalTauri to false in tauri.conf.json. The frontend
exclusively uses @tauri-apps/api imports and never references the
window.__TAURI__ global, so disabling it removes an unnecessary
XSS attack surface without functional impact.
Dependency hygiene:
- Move @types/dompurify from dependencies to devDependencies in
package.json. Type declaration packages are build-time only and
should not ship in the production bundle.
* fix(ci): address review findings
* fix(ci): isolate manual CI workflow runs
---------
Co-authored-by: Chris233 <h-chris233@outlook.com>
Add signed release APK builds on v*-tauri tags, minisign manifests per ABI, custom Android in-app updater, and CI cargo check for aarch64-linux-android.
Co-authored-by: Cursor <cursoragent@cursor.com>