v1.6.3 — Lifecycle stability and release hygiene
v1.6.3 — Lifecycle stability and release hygiene
Stable maintenance release / 正式維護版本
Multi-AI Chat Desktop v1.6.3 is a focused stability patch for asynchronous UI, provider WebView, and session-reset lifecycles. It also tightens release supply-chain pinning and restores machine-readable MIT license detection. The frozen product scope is unchanged: no provider, workflow, or product surface was added.
Multi-AI Chat Desktop v1.6.3 是針對非同步 UI、provider WebView 與 session reset 生命週期的穩定性修正版,同時強化 release supply-chain pinning,並恢復可由工具辨識的標準 MIT 授權。已凍結的產品範圍完全不變:沒有增加 provider、workflow 或新產品介面。
UI and WebView lifecycle reliability / UI 與 WebView 生命週期可靠性
- Provider WebView hide/show commands are serialized per provider. A modal opened and closed rapidly can no longer finish an older hide command after the restore command and leave the live page invisible.
- 每個 provider 的 WebView hide/show 命令會依序執行;快速開關 modal 時,較舊的 hide 不會在 restore 之後才完成,避免真實頁面持續隱藏。
- Adapter notice subscriptions now dispose correctly even when an asynchronous listener registration resolves after React StrictMode cleanup.
- 即使非同步 listener 註冊在 React StrictMode cleanup 後才完成,adapter notice subscription 也會正確解除,不會留下重複 listener。
- Settings update checks are bound to one modal session and request sequence, preventing a late result from overwriting a newly reopened Settings view.
- Settings 的版本檢查綁定單一 modal session 與 request sequence,過晚結果不會覆蓋重新開啟後的新狀態。
Provider focus and session recovery / Provider 焦點與 session 恢復
- Opening an already-existing provider WebView no longer steals keyboard focus during background restoration. Explicit login or focus actions continue to request focus normally.
- 背景恢復已存在的 provider WebView 時不再搶走鍵盤焦點;明確的登入或聚焦操作仍會正常要求 focus。
- A timed-out new-session operation clears its pending boot filter before returning an error. The current document can immediately resume status reporting instead of remaining rejected until another navigation.
- New session 逾時時會先清除 pending boot filter 再回報錯誤,讓目前 document 立即恢復狀態回報,不必再等下一次導覽。
Supply chain and licensing / Supply chain 與授權
- CI and release workflows pin
dtolnay/rust-toolchainto an immutable commit rather than a movingstablereference. - CI 與 release workflow 將
dtolnay/rust-toolchain鎖定 immutable commit,不再使用會移動的stablereference。 - The
LICENSEfile now contains the unmodified standard MIT text. Project provenance is preserved in a separateNOTICE.md, allowing license scanners to identify the repository correctly without losing attribution. LICENSE現在保留未修改的標準 MIT 文字;專案來源資訊移至獨立NOTICE.md,讓 license scanner 能正確辨識,同時保留 attribution。
Review scope / 審核範圍
- The stability audit found no open pull requests, issues, Dependabot alerts, code-scanning alerts, or secret-scanning alerts at review time. npm audit reported no known package vulnerabilities.
- 穩定性稽核當下沒有未處理的 pull request、issue、Dependabot alert、code-scanning alert 或 secret-scanning alert;npm audit 也沒有已知套件漏洞。
- Major React, Tailwind, Vite, Vitest, ESLint, and TypeScript upgrades remain intentionally deferred. A feature-frozen maintenance patch should not absorb unrelated major-version migration risk.
- React、Tailwind、Vite、Vitest、ESLint 與 TypeScript 的 major upgrade 刻意延後;feature-frozen 維護版不應承擔無關的大版本遷移風險。
- Large structural refactors such as splitting
App.tsxremain deferred until a concrete defect requires them. App.tsx拆分等大型結構重構持續延後,除非未來有具體缺陷需要處理。
Validation / 驗證
- The release candidate passes 417 frontend tests across 51 files, 21 Agent contract tests, TypeScript type-checking, ESLint, adapter checks, production build, and npm audit.
- Release candidate 通過 51 個檔案共 417 個 frontend tests、21 個 Agent contract tests、TypeScript type-check、ESLint、adapter checks、production build 與 npm audit。
- It also passes 55 Rust tests,
cargo fmt --check, warnings-denied Clippy, pull-request CI, and CodeQL on Windows, macOS, and Linux. - 同時通過 55 個 Rust tests、
cargo fmt --check、warnings-denied Clippy,以及 Windows、macOS、Linux 的 pull-request CI 與 CodeQL。 - The immutable
v1.6.3tag rebuilds the Windows installer and portable zip, Apple Silicon DMG, and Linux AppImage before the release is published. - Immutable
v1.6.3tag 會重新建置 Windows installer/portable zip、Apple Silicon DMG 與 Linux AppImage;全部產物完成後才發布正式版本。
Accepted upstream risk / 已接受的上游風險
- The current Tauri/Wry Linux GTK3 dependency graph retains the documented medium-severity
glib::VariantStrIteradvisory. The app does not directly call the affected API, and the compatible upstream graph does not yet provide the newerglibline. - 目前 Tauri/Wry 的 Linux GTK3 dependency graph 仍有已記錄的 medium-severity
glib::VariantStrIteradvisory。本 app 未直接呼叫受影響 API,而相容的上游 graph 尚未提供新版glibline。
Downloads / 下載
- Windows x64 installer and portable zip
- Apple Silicon macOS DMG
- Linux x86_64 AppImage
Notes / 注意事項
- Windows artifacts remain unsigned and may trigger SmartScreen.
- Windows 產物仍未簽章,可能觸發 SmartScreen。
- The macOS package is ad-hoc signed and signature-verified in CI, but is not Apple-notarized; follow the README first-launch steps if Gatekeeper blocks it.
- macOS package 使用 ad-hoc 簽章並由 CI 驗證,但尚未 Apple notarize;若 Gatekeeper 阻擋,請依 README 的首次啟動步驟操作。
- Grok login and Cloudflare verification remain third-party behavior and may vary by network, account, or provider changes. The app defers rather than bypasses provider security checks.
- Grok 登入與 Cloudflare 驗證屬第三方行為,可能因網路、帳號或 provider 改版而異;本 app 只會延後自動化,不會繞過 provider 安全驗證。
- Linux remains CI-packaged without a new maintainer-owned real-device launch report.
- Linux 仍由 CI 封裝,本版沒有 maintainer 自有實機的最新啟動回報。
- Provider websites can change independently. Attach a sanitized exported debug log when reporting automation failures.
- Provider 網頁可能獨立改版;回報自動化失敗時,請附上已去識別化的匯出 debug log。
Full changelog: v1.6.2...v1.6.3