- [Phased Adaptive Upload Timeouts & Unified Signature/Thinking Governance Across Four Protocols] (PR #3767, Fixes #3763, Thanks to @jeikl):
- Phased Timeouts & Upload Budget: Split connect, upload, first-response-header, and large-file retry into independent stages. Upload budget is now derived as
request body size ÷ upload bandwidth × (1 + extra wait ratio)(default 2 Mbps + 0.4), with a 45s stall timeout capped by the upload budget. Header waits are scheduled per media type (text 30/25s, image 45/25s, video 60/30s, other 15/15s). Large bodies default to a single endpoint attempt, suppressing fallback and cross-account re-upload amplification. (PR #3767, Fixes #3763, Thanks to @jeikl) - Gemini Stream Lifecycle Unification: Migrated Gemini native streaming to the shared
run_stream_lifecycle, so all four protocols now share the 3s SSE heartbeat and the initial-TTFT / transition / sliding guardrails. Removed the handwritten 300s timeout and pre-header first-chunk peek; keepalive starts immediately after headers. (PR #3767, Fixes #3763, Thanks to @jeikl) - Unified Signature Retry & Thinking Governance: On 400 signature errors, all protocols now skip ThinkingStore hydration, strip every real signature, degrade thought blocks into plain text (preserving reasoning content), and backfill the official sentinel for Gemini tool calls. Added
untrusted_signaturesto finalize to avoid "drop text first, strip signature later". Removed ClaudeThinking → Textand OpenAI request-body specializations. (PR #3767, Fixes #3763, Thanks to @jeikl) - Self-Healing & Pre-Filter Alignment: Separated the
tool_choiceconflict flag from the signature-retry flag; added Gemini tool_choice/thinking conflict self-healing and inbound signature pre-filtering. All four protocols now align on overload budget degradation, corrupted images, signature errors, and tool-choice conflicts. (PR #3767, Fixes #3763, Thanks to @jeikl) - Configuration & Copy: Simplified the frontend timeout card into connect/upload/first-header/first-token sections with seven timeout fields; every field supports
ANTIGRAVITY_TIMEOUT_*environment overrides, with all 12 locales synchronized. (PR #3767, Fixes #3763, Thanks to @jeikl)
- Phased Timeouts & Upload Budget: Split connect, upload, first-response-header, and large-file retry into independent stages. Upload budget is now derived as
- [大文件上传分阶段自适应超时与四协议签名/思考治理统一] (PR #3767, Fixes #3763, Thanks to @jeikl):
- 分阶段超时与上传预算: 将连接、上传、首响应头、大文件重试拆为独立阶段;上传预算按「请求体大小 ÷ 上传带宽 × (1 + 额外等待系数)」自适应计算(默认 2 Mbps + 0.4),停滞超时默认 45s 且不超过上传预算;首响应头按聊天 30/25s、图片 45/25s、视频 60/30s、其他 15/15s 调度;大文件默认只尝试一次,抑制端点 fallback 与跨账号重发造成的上行放大。(PR #3767, Fixes #3763, Thanks to @jeikl)
- Gemini 流式生命同周期统一: Gemini 原生流式迁移到通用
run_stream_lifecycle,四协议共享 3s SSE 心跳与首字/状态切换/滑动三段守卫,移除手写 300s 与首包 peek,响应头返回后立即开始保活。(PR #3767, Fixes #3763, Thanks to @jeikl) - 签名重试与思考治理统一: 400 签名错误后统一跳过 ThinkingStore hydration,由流水线清理全部真实签名、将思考块降级为普通正文(保留推理内容),Gemini 工具调用回填官方哨兵;finalize 新增
untrusted_signatures模式,避免「先丢文本、再删签名」;删除 ClaudeThinking → Text与 OpenAI 请求体特化。(PR #3767, Fixes #3763, Thanks to @jeikl) - 自愈与预过滤对齐: 分离
tool_choice冲突与签名重试标志,Gemini 补齐 tool_choice/thinking 冲突自愈与入站签名预过滤;四协议在过载预算降级、坏图、签名错误、工具冲突四类自愈上完全对齐。(PR #3767, Fixes #3763, Thanks to @jeikl) - 配置与文案: 前端「超时设置」精简为连接/上传/首响应头/首字四分区,新增 7 个超时字段;全部字段支持
ANTIGRAVITY_TIMEOUT_*环境变量覆盖,并同步 12 国语言。(PR #3767, Fixes #3763, Thanks to @jeikl)
What's Changed
Full Changelog: v5.0.1-beta.3...v5.0.1-beta.4