mirror of
https://github.com/openai/codex.git
synced 2026-10-20 17:38:45 +00:00
## Why WebSocket rate-limit and overload errors ignored `Retry-After` advice and ended turns even when the server supplied a retry delay. ## What changed Extract retry advice from nested `error.headers`, falling back to top-level `headers` when nested advice is missing or invalid. Use the shared HTTP header validation and retry-delay parser, and preserve the delay when mapping WebSocket errors. ## Testing Add coverage for nested-header precedence, malformed headers, HTTP header validation, and recovery after an advised rate limit. Verify that overloads retry only while advice is present, without falling back to HTTP, and that headerless rate limits, usage limits, and `flex_unavailable` errors remain terminal. GitOrigin-RevId: 61add0c36197e10402d6d3c325332aac72a5a521