Skip to content

v0.3.2

Choose a tag to compare

@jacob-bd jacob-bd released this 22 Jun 21:25

Fixed

  • Codex App: rate limit errors now appear in the conversation instead of crashing silently — when a model hits its usage limit (e.g. OpenCode Go's 5-hour cap), the proxy now injects a readable error message directly into the Codex App conversation: "5-hour usage limit reached. Resets in Xmin. To continue using this model now, enable usage from your available balance: ...". Previously the session just stalled with no explanation in the UI.

  • Codex App: rate limit errors print a clean one-liner in the terminal — instead of flooding the terminal with full RetryError stack traces (one per retry attempt, per request), the proxy now prints a single [relay-ai] <model>: <message> line per failed request.

  • Codex proxy: removed SDK default console.error on stream failures — the Vercel AI SDK's streamText calls console.error(error) by default whenever the stream encounters an error. This was the root cause of the full stack trace dumps. The proxy now passes onError: () => {} to suppress this. The error is still handled through the stream pipeline and surfaced to the user.

  • Codex App: context overflow no longer crashes long sessions — relay-ai now writes model_context_window and model_auto_compact_token_limit (70% of the model's actual limit) into ~/.codex/config.toml at session start. Codex uses these values to trigger auto-compaction before the conversation reaches the model's hard limit, preventing the compaction-fails-at-limit crash that previously broke sessions and made them unrecoverable. Applies to single-provider, favorites, and Vertex AI sessions alike.

  • Codex App: proxy-level message truncation as a safety net — if a conversation history arrives that already exceeds 85% of the selected model's context window (e.g. a long native GPT-5.5 session loaded into a 1 M-token model), relay-ai silently drops the oldest messages before forwarding to the upstream model. The session continues in a degraded but functional state instead of crashing with an unrecoverable error.

  • Codex App: Ctrl+C now shows a confirmation menu instead of immediately closing — pressing Ctrl+C now presents an arrow-key selection menu: "Close Codex Desktop and restore your Codex config?" (Yes / No). Pressing Ctrl+C a second time during the prompt, or pressing Enter on Yes, closes the app and restores config. Choosing No keeps the session running. SIGTERM and SIGHUP still close immediately without a prompt.

  • Codex App: --trace request observability--trace mode now logs previous_response_id, input_items, and body_bytes for every incoming proxy request, making it possible to verify Codex's conversation-history protocol against a specific provider setup.