1. 31 Dec, 2025 2 commits
    • IanShaw027's avatar
      refactor(gemini): 简化用量窗口显示为等级+限流状态 · 7e700931
      IanShaw027 authored
      - 前端:移除进度条和限额文本,只显示 tier badge + 限流状态/倒计时
      - 后端:token provider 自动保存 tier_id 到账号凭证
      - 优化:tier 名称简化为 Free/Pro/Ultra
      - 显示格式:[Free] 未限流 / [Pro] 限流 2m 35s
      7e700931
    • IanShaw027's avatar
      fix(gemini): 修复 P0/P1 级别问题(429误判/Tier丢失/expires_at/前端一致性) · e4928177
      IanShaw027 authored
      P0 修复(Critical - 影响生产稳定性):
      - 修复 429 判断逻辑:使用 project_id 判断而非 account.Type
        防止 AI Studio OAuth 被误判为 Code Assist 5分钟窗口
      - 修复 Tier ID 丢失:刷新时始终保留旧值,默认 LEGACY
        防止 fetchProjectID 失败导致 tier_id 被清空
      - 修复 expires_at 下界:添加 minTTL=30s 保护
        防止 expires_in <= 300 时生成过去时间引发刷新风暴
      
      P1 修复(Important - 行为一致性):
      - 前端 isCodeAssist 判断与后端一致(支持 legacy)
      - 前端日期解析添加 NaN 保护
      - 迁移脚本覆盖 legacy 账号
      
      前端功能(新增):
      - AccountQuotaInfo 组件:Tier Badge + 二元进度条 + 倒计时
      - 定时器动态管理:watch 监听限流状态
      - 类型定义:GeminiCredentials 接口
      
      测试:
      -  TypeScript 类型检查通过
      -  前端构建成功(3.33s)
      -  Gemini + Codex 双 AI 审查通过
      
      Refs: #gemini-quota
      e4928177