github lbjlaq/Antigravity-Manager v5.0.4-beta.1
Antigravity Tools v5.0.4-beta.1

pre-releaseone hour ago
  • [403 Ban State Machine & Quota Refresh Overwrite Protection: Root-Fixing 403 State Loss on 200 OK Daily Quota & Adding Abnormal Filter] (Fixes #3863, Ref #3865, PR #3875, commit fc45775, a079bdf, 3010f9e, Thanks to @cubelikeplayDaniel, @jeikl):
    • 403 Status Lock Persistence: Established invariant that 403/Ban state outranks daily quota 200 OK responses. Guarded update_quota and update_account_quota_internal so background/manual quota refreshes never wipe active is_forbidden or proxy_disabled flags, resolving the issue where banned accounts seemed healthy until invoked. (Fixes #3863, PR #3875)
    • Safe Probe Healing: Non-model 403 locks are only released when live production probes return Healthy; model-scoped restrictions preserve locks, preventing regular daily quota pulls from spoofing unbans. (commit a079bdf, 3010f9e)
    • Abnormal Account Filter & Direct Navigation: Added an "Abnormal" filter button on the Accounts toolbar aggregating all banned / validation_blocked / 403 accounts with badge counts; made Dashboard "Health & Risk" card clickable for direct navigation to the abnormal filter view. (Ref #3865, PR #3875)
  • [UI Interaction & Dialog Layering Fix: Eliminating Add Account Button Penetration] (Fixes #3853, PR #3872, Thanks to @cubelikeplayDaniel):
    • Removed legacy relative z-[100] escaping stacking context on the Add Account trigger button to prevent it piercing through the update notification modal; promoted UpdateNotification card z-index to z-[200] matching ToastContainer standards. (Fixes #3853, PR #3872)
  • [Startup Asynchronous Quota Refresh & Toolbar Action] (Ref #3726, PR #3871, Thanks to @lbjlaq):
    • Asynchronously refreshes quotas on application startup up to the configured account threshold, and adds a manual refresh action to the accounts toolbar. (Ref #3726, PR #3871)
  • [Pedal Quota Mode Stability & Visual Polishing] (Ref #3870, commit 73d798c, 0f734f5, Thanks to @cubelikeplayDaniel):
    • Completed reset exit semantics tests and reduced-motion accessibility compatibility; polished light theme styling and highlighted target pedal accounts for smoother rotation. (Ref #3870, commit 73d798c, 0f734f5)
  • [Web Model Probe Dispatch & Credential Refresh] (Ref #3861, Ref #3869, PR #3868, commit fb32517, 8232798, 2677d8c, 32735f9, Thanks to @cubelikeplayDaniel):
    • Unified Web model test automatic account selection and credential refreshing, sorting by target model, and enabling model-scoped self-healing while intercepting TOS bans. (Ref #3861, PR #3868)
  • [Hierarchical Quota Window Contract & Recovery Governance: Root-Fixing Cross-Model Reset Contamination & Zero-Quota Deadlock] (Fixes #3840, #3845, PR #3852, Thanks to @jeikl, @cubelikeplayDaniel):
    • Weekly Hard Quota Priority Contract (P0-1): Enforced strict hierarchy between weekly windows and short-term 5-hour rolling windows. When an account's weekly hard quota is depleted (0%), self-healing is strictly disallowed even if the 5h window has elapsed; all depleted buckets (e.g. secondary Argon WTU weekly buckets) must expire before admission is restored. (Fixes #3840, PR #3852)
    • Model-Family Reset Isolation (P0-2): Decoupled reset timestamp extraction into independent model-family maps (Argon / 3P / Gemini); models absent from the family reset map never fall back to the global reset timestamp when per-model maps are populated, preventing Argon resets from erroneously accelerating Gemini models. (Fixes #3845, PR #3852)
    • Decoupled Admission from Scheduling Weight (P1-4): Separated has_candidate_quota_admission (binary gate) from get_candidate_quota (weight ranking); self-healed accounts receive a conservative positive sentinel (20) to participate in candidate competition without usurping healthy 80%-100% accounts. (PR #3852)
    • Realtime Quota Refresh State Synchronization (P1-2, P1-3): Synchronized model_reset_times, model_weekly_reset_times, and detailed model_quota_windows simultaneously across fetch_and_lock_with_realtime_quota and load_single_account, picking the earliest deadline (.min(ts)) when multiple buckets share a window, and purging historical mappings upon receiving new quota groups to prevent stale timestamp contamination; robustly supports camelCase quotaGroups. (PR #3852)
    • Selective Circuit Breaker Reconciliation (P1-6): Replaced indiscriminate quota-lock wiping in account reloads with model-scoped reconcile_quota_recovery, ensuring a positive Gemini quota cannot prematurely unlock an exhausted Claude model, while strictly preserving 429 RateLimitExceeded backoff. (PR #3852)
    • Account-Level Lock & Global Fallback Boundaries (P1-7): Clear the account-level "all models exhausted" QuotaExhausted lock as soon as any model recovers; restrict global reset fallback to the case where both short-term and weekly per-model maps are empty, eliminating residual cross-family clock contamination. (PR #3852)
  • [Docker Healthcheck Leak & Tini Init Process Governance] (Fixes #3850, PR #3854, Thanks to @cubelikeplayDaniel):
    • Integrated tini as init process to eliminate zombie process accumulation in Docker containers; adjusted HEALTHCHECK curl timeouts to prevent 503 container deadlocks every 2-3 hours. (Fixes #3850, PR #3854)
  • [Upload Bandwidth Semantics & Budget Alignment: Eliminating 15s Request Drop on Large Payloads] (Ref #3763, Ref #3821, PR #3857, Thanks to @wakeupnotfound):
    • Enforced upload timeout budget extension only, preventing premature 15s aborts on large request bodies; updated formula examples to use resolved values and clarified conservative minimum bandwidth semantics across 12 languages (recommended 0.5-5 Mbps). (Ref #3763, Ref #3821, PR #3857)
  • [Account Ban Detection & Zero-Quota Admission Deadlock Resolution] (Ref #3525, #3630, #3631, #3840, commit 03c83b1, Thanks to @jeikl):
    • Added production endpoint TOS_VIOLATION detection and appeal link extraction, instantly isolating banned accounts from routing; added disk account pool throttled reload and mapped-model re-validation before 502 rejection to unblock admission upon adding new accounts. (Ref #3525, #3630, #3631, #3840)
  • [Embedded Text Data URL Media Auto-Recovery & Token Blowup Prevention] (PR #3864, Ref #3830, Thanks to @mclinyeshi):
    • Promoted Base64 Data URL images serialized within plain text (such as rollout transcripts in Codex background memory generation) into canonical inlineData visual parts with content deduplication, eliminating massive token billing blowups (from 500k+ text tokens down to standard image tokens) and drastically reducing prefill latency;
    • Traffic Log Defense: Automatically collapsed massive Base64 payloads in frontend concise views and persistent audit storage, preventing UI freezes and database bloating. (PR #3864)
  • [Responses Protocol Tool Call & Response Adjacency Alignment: Eliminating Claude 400 Prefill Error and Gemini Cache Invalidation] (PR #3866, PR #3867, Thanks to @mclinyeshi):
    • Folded plain-text commentary turns wedged between functionCall and functionResponse turns in Codex /v1/responses back into the calling turn (protocol-agnostic): eliminated upstream Claude HTTP 400 rejection (This model does not support assistant message prefill) and prevented Gemini thought signature flickering on wedged turns across adjacent turns to preserve context cache stability. (PR #3866, PR #3867)

  • [403 封禁锁状态机与配额刷新防覆写:根治日配额 200 OK 冲掉 403 缺陷并新增异常账号一键筛选] (Fixes #3863, Ref #3865, PR #3875, commit fc45775, a079bdf, 3010f9e, Thanks to @cubelikeplayDaniel, @jeikl):
    • 403 状态硬锁定保持: 确立 403 封禁状态高于日配额 200 OK 契约。在 update_quota 与 update_account_quota_internal 中引入锁定守卫,无论后台定时刷新还是手动刷新日配额,现存 403 is_forbidden 与 proxy_disabled 标记绝对不被冲掉,彻底解决“刷新额度 403 凭空消失,调用一次又报错”的严重缺陷。(Fixes #3863, PR #3875)
    • 生产测活精准安全自愈: 仅当生产端点真实探测返回 Healthy 时方可解除非模型级 403 锁;模型定向受限保留模型锁,杜绝拉取普通日配额欺骗解限。(commit a079bdf, 3010f9e)
    • 账号列表「异常」快捷过滤与直达: 账号管理页工具栏新增「异常」快捷过滤按钮,一键聚合展示所有 banned / validation_blocked / 403 账号并显示精确计数;仪表盘「健康度 & 风控」卡片支持点击直达异常过滤视图。(Ref #3865, PR #3875)
  • [UI 交互与弹窗层级修复:根治添加账号按钮穿透更新弹窗] (Fixes #3853, PR #3872, Thanks to @cubelikeplayDaniel):
    • 根除添加账号触发按钮残留的 relative z-[100] 逃逸层级,防止按钮穿透更新弹窗浮层;将全局版本更新通知卡片层级规范提升至 z-[200],确保始终位于顶层不被遮挡。(Fixes #3853, PR #3872)
  • [启动配额异步刷新与工具栏操作] (Ref #3726, PR #3871, Thanks to @lbjlaq):
    • 客户端启动后按账号配置上限异步静默刷新配额,并在账号工具栏中补齐手动刷新入口。(Ref #3726, PR #3871)
  • [蹬额度模式稳定性与视觉体验优化] (Ref #3870, commit 73d798c, 0f734f5, Thanks to @cubelikeplayDaniel):
    • 补齐 reset 退出语义测试与 reduced-motion 无障碍兼容;优化浅色主题视觉呈现与待蹬账号高亮状态标识,提升多账号自愈与切换流畅度。(Ref #3870, commit 73d798c, 0f734f5)
  • [Web 端测活自动调度与安全自愈] (Ref #3861, Ref #3869, PR #3868, commit fb32517, 8232798, 2677d8c, 32735f9, Thanks to @cubelikeplayDaniel):
    • 统合 Web 端测活自动调度选号与凭据刷新,下沉选号逻辑并按目标模型排序,测活成功按模型与受限原因安全自愈,拦截 TOS 封禁与跨模型误解限。(Ref #3861, PR #3868)
  • [分级配额契约与自愈架构重构:根治跨模型重置时间污染与零配额死锁,实现周硬配额绝对优先与安全自愈] (Fixes #3840, #3845, PR #3852, Thanks to @jeikl, @cubelikeplayDaniel):
    • Weekly 硬配额优先契约 (P0-1): 严格落实周窗口与短期 5 小时滚动窗口的层级约束。当周硬配额耗尽(0%)时,系统严禁仅因短期 5h 窗口重置而误触发账号自愈;多周桶(如 Argon WTU 7d)并发耗尽时需全部桶到期自愈,方可解除配额耗尽锁定并恢复调度准入。(Fixes #3840, PR #3852)
    • 模型大类组级隔离 (P0-2): 重置时间提取与模型映射全面解耦,按模型大类族群(Argon / 3P / Gemini)维护独立重置映射与窗口快照;当模型重置时间映射非空时,严禁未匹配模型回退至全局全局最早重置时间,彻底杜绝 Argon 重置到期污染普通 Gemini 模型或导致错误提权。(Fixes #3845, PR #3852)
    • 准入资格与调度排序解耦 (P1-4): 拆分 has_candidate_quota_admission(布尔准入资格)与 get_candidate_quota(排序权重计算);自愈到期账号赋予保守正向 sentinel (20),既能及时参与候选调度竞争,又绝不抢占与压制具备健康正配额(40%~100%)的高可用账号。(PR #3852)
    • 实时配额刷新全状态同步 (P1-2, P1-3): fetch_and_lock_with_realtime_quota 与 load_single_account 同步提取 model_reset_times、model_weekly_reset_times 与详细 model_quota_windows,多桶同窗口取最早截止时间戳 (.min(ts)),并在接收新配额组时彻底清空旧映射防止跨窗口陈旧时间戳污染,实现动态模型族映射与快照一致性;同时健壮兼容 camelCase quotaGroups 结构。(PR #3852)
    • 熔断锁模型级精准解限与 429 退避保护 (P1-6): 账号重载与正配额快照恢复时,对各模型分别进行正配额校验并按模型粒度调用 reconcile_quota_recovery,防止正向 Gemini 模型提前解禁尚在耗尽状态的 Claude 模型,仅精准释放已恢复的 QuotaExhausted 状态,严格保留 429 RateLimitExceeded 速率退避时间。(PR #3852)
    • 账号级锁与全局兜底边界收敛 (P1-7): 任一模型恢复正配额时同步解除账号级“全模型耗尽” QuotaExhausted 锁;全局 reset 兜底收紧为仅当短期与周周期两个 per-model map 均为空时才生效,彻底封堵残余跨族时间污染。(PR #3852)
  • [Docker 容器健康检查超时修复与 Tini Init 进程泄漏治理] (Fixes #3850, PR #3854, Thanks to @cubelikeplayDaniel):
    • 修复 Docker 镜像缺少 tini init 进程导致僵尸进程堆积缺陷;优化 HEALTHCHECK curl 超时参数,防止每 2-3 小时因检查堆叠造成容器假死 503。(Fixes #3850, PR #3854)
  • [上传带宽语义与预算对齐:根治大请求体 15s 误杀] (Ref #3763, Ref #3821, PR #3857, Thanks to @wakeupnotfound):
    • 上传超时预算只允许随请求体体积放宽,严禁反向收紧导致大请求体被提前 15s 误杀;公式示例改用解析后的实际数值,并在 12 种语言中明确“保守最低上行”语义与推荐范围(0.5-5 Mbps)。(Ref #3763, Ref #3821, PR #3857)
  • [账号封禁识别与无配额门禁卡死修复] (Ref #3525, #3630, #3631, #3840, commit 03c83b1, Thanks to @jeikl):
    • 增加生产端点 TOS_VIOLATION 探测与申诉链接提取,封禁账号即时移出调度池;502 门禁前增加磁盘账号池节流重载与映射模型复查,新账号导入后可秒级放行。(Ref #3525, #3630, #3631, #3840)
  • [文本内嵌 Data URL 视觉自愈与超大 Token 计费治理] (PR #3864, Ref #3830, Thanks to @mclinyeshi):
    • 将序列化进纯文本(如 Codex memory 提取的 rollout JSON)中的 Data URL 图像提升为规范 inlineData 部件(按内容去重),彻底消除数十万字符 Base64 被上游按文本 Token 逐字计费(输入膨胀至 500k+ tokens 且极度拉长首字延迟)的缺陷;
    • 日志精简防护:在前端简要视图与后端持久化审计中自动折叠大段 Base64,防止前端与 SQLite 数据库被巨量字符串卡死。(PR #3864)
  • [Responses 协议工具调用与回执相邻性对齐:根治 Claude 400 与 Gemini 缓存跳变] (PR #3866, PR #3867, Thanks to @mclinyeshi):
    • 在统一流水线中将 Codex /v1/responses 夹在 functionCall 轮与 functionResponse 轮之间的纯文本过程说明折回调用轮(全协议通用):Claude 目标彻底根治上游判定夹层文本为非法 prefill 导致会话中断报 HTTP 400(This model does not support assistant message prefill)的缺陷;Gemini 目标消除夹层纯文本轮在相邻轮次间签名闪烁导致的上下文缓存失效,保护长对话缓存命中。(PR #3866, PR #3867)

Full Changelog: v5.0.3-beta.5...v5.0.4-beta.1

Don't miss a new Antigravity-Manager release

NewReleases is sending notifications on new releases.