- [Instant Cold-Start Account Rendering & Full Quota Persistence Fix] (Fixes #3726):
- Restored Full Quota Persistence During Batch Import: In the 6-way asynchronous pipeline, accounts concurrently resolve Token exchange, UserInfo, Project ID, and detailed Quota payloads during import, ensuring complete quota metadata is 100% persisted on disk. After import completion, subsequent cold starts load locally without delayed online backfilling, completely eliminating incremental loading from 0 to N. (Fixes #3726)
- Decoupled Cold-Start Startup Locks (Zero-Latency UI Rendering): Refactored
commands::list_accountsto acquire the TokenManager runtime reference via non-blockingtry_read(), ensuring frontend account list queries are never stalled while the background admin server initializes under an exclusive write lock. (Fixes #3726) - Prioritized Direct Modern Index Deserialization: Streamlined
load_account_index_in_dirto directly deserialize the modernAccountIndexfirst (~0.5ms), bypassing redundant legacy format probes and file I/O operations during normal restarts. (Fixes #3726)
- [冷启动账号秒级直出与批量导入满血配额落盘修复] (Fixes #3726):
- 恢复批量导入满血配额落盘: 在 6 路异步流式并发中,每个账号并行完成 Token 换取、UserInfo、Project ID 探测与详细 Quota 拉取,使账号在导入期 100% 具备完备的配额与等级数据落盘,保证导入完成后无论多少次冷启动重启,均无需在线重新补齐,彻底杜绝冷启动重启后账号从 0 递增与加载延迟。(Fixes #3726)
- 冷启动锁彻底解耦(消灭 0 一会儿时间): 将
commands::list_accounts中获取运行时 TokenManager 状态的读锁改为非阻塞try_read(),在后台管理服务器(AxumServer)启动持写锁期间绝不阻塞前端账号列表向界面的毫秒级直出呈现。(Fixes #3726) - 索引读取优先直接反序列化: 优化
load_account_index_in_dir优先直接反序列化新版规范的AccountIndex(0.5ms 瞬时命中),消除冷启动时不必要的旧版迁移格式探测与额外 I/O 放大。(Fixes #3726)
Full Changelog: v4.9.9-beta.6...v4.9.9-beta.7