- [Disabled Model Variant Ingestion Filtering, Baseline Gatekeeping & False Quota Badge Elimination] (Fixes #3735, Ref #3737):
- Official Model Struct Ingestion of
disabledFlag: Added thedisabled: Option<bool>field andis_disabled(&self)helper toOfficialModelInfoto accurately capture models flagged withdisabled: truefrom Google'sfetchAvailableModelsupstream response. (Fixes #3735) - Baseline Gatekeeping & Normalization Guard: Intercepted
-disabledand_disabledsuffixes at the very top ofis_model_compliant_with_baseline; returnedNoneinnormalize_to_standard_idfor disabled models to prevent mappinggemini-4-argon-disabledinto the activegemini-4-argondispatch bucket. (Fixes #3735) - Strict Quota Parsing & Account Pool Ingestion Sanitization: Thoroughly skipped
is_disabled()and-disabledentries duringfetchAvailableModelsparsing inquota.rsand local account ingestion inTokenManager(load_single_account,get_available_models_from_json), preventing staged/locked models from entering the active candidate pool. (Fixes #3735, Ref #3737) - Elimination of False Frontend Badges & Quota Displays: Filtered out
-disabledmodels inisSupportedDisplayModel,getGroupQuotaSummaries, andhasArgonevaluation inquotaDisplay.ts, ensuring Argon badges and quota progress bars are only activated when an account possesses a genuine, non-disabled Argon model or an official Argon quota group, eradicating false quota illusions. (Fixes #3735)
- Official Model Struct Ingestion of
- [Mini View Main Window Wakeup Deadlock Elimination, Native Main Thread Scheduling & Lightweight Mode Black Screen Prevention] (Ref #3733, Ref #3738, Ref #3741):
- Native Main Thread Scheduling & Win32 Deadlock Elimination: Introduced
switch_to_main_windowandhide_mini_viewcommands in the Rust backend, dispatching main window reconstruction and reactivation (exit_lightweight_mode) fully onto the OS native UI main thread (app.run_on_main_thread), completely eliminating Win32 message loop deadlocks and spinlock hangs when creating windows cross-thread on Windows. (Ref #3733, Ref #3738, Ref #3741) - Mini View & Main Console Switching Race Condition Elimination: When activating the main console, atomically hidden unpinned Mini views and reset active states in the Rust backend first, preventing frontend multi-stage awaits from freezing due to WebView2 suspension. (Ref #3733, Ref #3738)
- Full-Chain ACL Capability Permissions Completion: Added missing permissions including
core:window:allow-hide,allow-set-focus,allow-unminimize, andallow-closefor bothmainandminiwindows incapabilities/default.json, preventing foreground window control operations from being blocked by Tauri's ACL subsystem. (Ref #3738) - Lightweight Mode Seamless Fade-in on Render Ready: Kept main window invisible by default (
visible: false) during reconstruction, fading in and focusing smoothly only after ThemeManager mounts theme and configurations, completely eliminating black screen/white frame flickers before WebView2 paints the React DOM. (Ref #3733, Ref #3738)
- Native Main Thread Scheduling & Win32 Deadlock Elimination: Introduced
- [官方禁用模型严格过滤、基准线拦截门禁与虚假配额展示清理] (Fixes #3735, Ref #3737):
- 官方模型结构体补齐 disabled 字段: 在
OfficialModelInfo中补齐disabled: Option<bool>字段与is_disabled(&self)判定方法,准确捕获 Google 上游fetchAvailableModels中带有disabled: true标记的条目。(Fixes #3735) - 基准线与归一化门禁拦截禁用变体: 在
is_model_compliant_with_baseline判定中置顶拦截-disabled/_disabled模型变体;并在normalize_to_standard_id中对禁用模型返回None,杜绝将gemini-4-argon-disabled误归一化为可调度的gemini-4-argon标准计费桶。(Fixes #3735) - 配额解析与账号池加载严格防渗透: 在
quota.rs解析quota_response.models响应及TokenManager读入本地账号文件(load_single_account、get_available_models_from_json)时,双向剔除is_disabled()及-disabled变体,防止未开放灰度模型渗入可用模型列表。(Fixes #3735, Ref #3737) - 前端配额卡片与能力徽章虚假展示治理: 在
isSupportedDisplayModel、getGroupQuotaSummaries及hasArgon聚合逻辑中全面过滤-disabled标记,仅当账号真正具备未禁用 Argon 模型或官方 Argon 独立配额组时才激活 Argon 徽章与卡片,彻底根除因残留标记误借普通 Gemini 周配额导致的虚假展示。(Fixes #3735)
- 官方模型结构体补齐 disabled 字段: 在
- [Mini 视窗唤醒主控制台死锁消除、原生主线程调度与轻量模式防黑屏] (Ref #3733, Ref #3738, Ref #3741):
- 主线程调度与死锁根除: 在后端引入
switch_to_main_window与hide_mini_view命令,将主窗口重建及激活(exit_lightweight_mode)全量调度至系统原生 UI 主线程(app.run_on_main_thread),彻底消除 Windows 下跨线程创建窗口导致的 Win32 消息循环死锁与自旋挂起。(Ref #3733, Ref #3738, Ref #3741) - Mini 视窗与主控制台切换竞态消除: 呼出主控制台时,先在 Rust 后端原子化隐藏未置顶的 Mini 视窗并重置活跃态,避免前端多段 await 因 WebView2 挂起导致假死。(Ref #3733, Ref #3738)
- 全链路 ACL 能力权限补全: 在
capabilities/default.json中为 main 与 mini 窗口补齐core:window:allow-hide、allow-set-focus、allow-unminimize、allow-close等权限,防止前台窗口控制被底层 ACL 拦截。(Ref #3738) - 轻量模式首屏渲染就绪无感淡入: 重建主控制台窗口时默认保持
visible: false静默装载,待 ThemeManager 首屏主题与配置挂载就绪后自动淡入并对焦,彻底根除 WebView2 绘制 React DOM 前的黑底白框闪烁。(Ref #3733, Ref #3738)
- 主线程调度与死锁根除: 在后端引入
Full Changelog: v5.0.0-beta.1...v5.0.0-beta.2