# v0.4.62 (2026-05-26)

## Fixes
- Codex: auto-retry when upstream drops mid-stream (no more hangs)
- Codex: fix random 400/404 errors, tool-calling failures, and unstable prompt cache
- MITM: support Antigravity 2.x (updated IDE version detection and DNS/cert flow)
- Sanitize Read tool args to prevent retry loops from non-Anthropic models (#1144)
- Implement json_schema fallback for OpenAI-compatible providers without native Structured Output (#1343)
- Strip empty Read pages argument in OpenAI-to-Claude translator (#1354)
- Forward Gemini output dimensions for embeddings (#1366)
- Resolve setState-in-effect errors in dashboard components (#1362)
- Gemini CLI: reuse stored OAuth project IDs for quota checks and show clearer setup guidance when the project is missing (#1271, #1428)
This commit is contained in:
decolua
2026-05-26 12:46:30 +07:00
parent f3176b4b23
commit 0065bbbdfd
9 changed files with 74 additions and 143 deletions
+3 -12
View File
@@ -19,7 +19,7 @@ function rewriteAntigravityUserAgent(userAgent, version) {
return userAgent.replace(/antigravity\/[^\s]+/, `antigravity/${version}`);
}
function applyAntigravityIdeVersionOverride(bodyBuffer, headers, log = () => {}) {
function applyAntigravityIdeVersionOverride(bodyBuffer, headers) {
if (!ANTIGRAVITY_IDE_VERSION_OVERRIDE_ENABLED) {
return { bodyBuffer, headers, applied: false, version: ANTIGRAVITY_IDE_VERSION };
}
@@ -32,22 +32,13 @@ function applyAntigravityIdeVersionOverride(bodyBuffer, headers, log = () => {})
try {
const parsed = JSON.parse(bodyBuffer.toString());
if (!shouldRewriteMetadata(parsed?.metadata)) {
if (userAgentChanged) log(`🛰️ [antigravity] user-agent version override → ${ANTIGRAVITY_IDE_VERSION}`);
return { bodyBuffer, headers: nextHeaders, applied: userAgentChanged, version: ANTIGRAVITY_IDE_VERSION };
}
const previousVersion = parsed.metadata.ideVersion;
parsed.metadata.ideVersion = ANTIGRAVITY_IDE_VERSION;
const nextBodyBuffer = Buffer.from(JSON.stringify(parsed));
log(`🛰️ [antigravity] IDE version override: ${previousVersion || "unknown"} → ${ANTIGRAVITY_IDE_VERSION}`);
return { bodyBuffer: nextBodyBuffer, headers: nextHeaders, applied: true, version: ANTIGRAVITY_IDE_VERSION };
} catch (e) {
if (userAgentChanged) {
log(`🛰️ [antigravity] user-agent version override → ${ANTIGRAVITY_IDE_VERSION}`);
return { bodyBuffer, headers: nextHeaders, applied: true, version: ANTIGRAVITY_IDE_VERSION };
}
log(`🛰️ [antigravity] IDE version override skipped: ${e.message}`);
return { bodyBuffer, headers: nextHeaders, applied: false, version: ANTIGRAVITY_IDE_VERSION };
} catch {
return { bodyBuffer, headers: nextHeaders, applied: userAgentChanged, version: ANTIGRAVITY_IDE_VERSION };
}
}