- [Harden Background Quota Auto-Refresh with Single-Flight RAII Locking] (Fixes #3958, PR #3964, Thanks to @mclinyeshi):
- Single-Flight Scheduling & RAII Unlock: Introduced
RefreshLockGuardestablishing a full-lifecycle single-flight lock across manual triggers and periodic background refreshes; RAII drop guarantees resettingIS_REFRESHINGatomic flag to zero, eliminating deadlocks caused by unhandled panics or async task cancellations. (Fixes #3958, PR #3964, Thanks to @mclinyeshi) - Tokio Missed Tick Delay & Clock Skew Self-Healing: Configured
MissedTickBehavior::Delayto eliminate burst polling storms upon host resume from sleep; detected and auto-corrected backward NTP clock drift; added a 60-second backoff upon transient network failure rather than delaying by the full polling interval. (Fixes #3958, PR #3964, Thanks to @mclinyeshi) - Frontend Refresh Event Deduplication: Centralized refresh listening in root
App.tsxvia silent sync (fetchAccounts(true)), removing redundant MiniView listeners and unmount races. (Fixes #3958, PR #3964, Thanks to @mclinyeshi)
- Single-Flight Scheduling & RAII Unlock: Introduced
- [Token Statistics Analytics: Model Family Hierarchy Aggregation & Condensed Pricing] (PR #3963, Thanks to @cubelikeplayDaniel):
- Model Family Aggregation: Extracted reusable model family normalization and grouping utilities (
modelFamilyUtils.ts), aggregating date-stamped variants and online models under standard family codes (e.g. Claude 3.5 Sonnet, Gemini 2.5 Flash). (PR #3963, Thanks to @cubelikeplayDaniel) - Expandable Tree Drill-Down & Compact Pricing: Supported expanding and collapsing sub-model variants by clicking anywhere on the family row; condensed lengthy pricing tables to the family level, reducing UI clutter. (PR #3963, Thanks to @cubelikeplayDaniel)
- Model Family Aggregation: Extracted reusable model family normalization and grouping utilities (
- [Co-Calibrate Hub Fingerprint & Wrap Flat Envelope Bodies] (Fixes #3956, PR #3959, Thanks to @hazerwin, @koeria):
- [后台配额自动刷新全面加固与单飞锁防重护航] (Fixes #3958, PR #3964, Thanks to @mclinyeshi):
- 单飞调度与 RAII 自动解锁: 引入
RefreshLockGuard,在手动触发与后台定时刷新之间建立全生命周期单飞锁,Drop 保证IS_REFRESHING标志位归零,彻底消灭未捕获 panic 或协程取消导致的死锁隐患。(Fixes #3958, PR #3964, Thanks to @mclinyeshi) - Tokio 漏跳补偿与时钟跳变自适应: 配置
MissedTickBehavior::Delay,根除休眠唤醒后的密集突发轮询风暴;检测并自适应校正 NTP 时钟回拨;针对网络瞬态失败引入 60 秒轻量退避机制,不再直接延迟整个轮询周期。(Fixes #3958, PR #3964, Thanks to @mclinyeshi) - 前端刷新事件去重: 根组件
App.tsx全局监听并以静默同步方式更新,移除 MiniView 冗余监听与挂载竞争。(Fixes #3958, PR #3964, Thanks to @mclinyeshi)
- 单飞调度与 RAII 自动解锁: 引入
- [Token 统计分析重构:按模型家族层级聚合与单价表收敛] (PR #3963, Thanks to @cubelikeplayDaniel):
- 模型变体家族化聚合: 提取跨端公用的模型家族归一化与分组工具(
modelFamilyUtils.ts),按标准代号(如 Claude 3.5 Sonnet、Gemini 2.5 Flash 等)将繁复的日期后缀、联网变体进行家族级聚合展示。(PR #3963, Thanks to @cubelikeplayDaniel) - 树状下钻与紧凑单价表: 支持点击家族整行展开或折叠子版本明细;将庞大的单价参考表收敛至家族顶层,精简界面高度与视觉噪音。(PR #3963, Thanks to @cubelikeplayDaniel)
- 模型变体家族化聚合: 提取跨端公用的模型家族归一化与分组工具(
- [Hub 官方指纹协同步长校准与 Flat Envelope 结构加固防封] (Fixes #3956, PR #3959, Thanks to @hazerwin, @koeria):
What's Changed
- refactor(proxy): purge obsolete placebo mechanisms, dead caches, and write-only estimators (Ref #3639, #3895, #3898) by @cubelikeplayDaniel in #3898
- fix(proxy): 修复 Antigravity CLI 心跳崩溃、JSON 模式围栏剥离与厂牌清洗作用域 (Fixes #3940, Fixes #3951, Fixes #3952, Ref #3941) by @cubelikeplayDaniel in #3954
- revert(proxy): revert 5bdc267 to merge community PR #3953 by @cubelikeplayDaniel in #3955
- fix(proxy): 对 Gemini 流禁用注入式 ': ping' SSE 注释心跳,修复 Antigravity CLI (agy) 解析失败 (Fixes #3952) by @koeria in #3953
- chore(release): bump version to 5.0.4-beta.11 and update changelog by @cubelikeplayDaniel in #3957
- fix(account): sink periodic quota auto-refresh into rust background worker (Fixes #3958) by @cubelikeplayDaniel in #3964
- fix(proxy): enforce co-calibrated hub fingerprint and wrap flat envelope bodies to prevent upstream TOS bans (Fixes #3956) by @cubelikeplayDaniel in #3959
- feat(token-stats): aggregate model variants by family with expandable tree drill-down and condensed pricing by @cubelikeplayDaniel in #3963
- chore(release): bump version to 5.0.4-beta.12 and update changelog by @cubelikeplayDaniel in #3966
New Contributors
Full Changelog: v5.0.4-beta.10...v5.0.4-beta.12