$ the-wire · showcase
Codex enforces managed residency, openai-node fixes streaming and abort paths
By RepoJournal · Filed · About OpenAI · Composed from the cited sources · methodology
Today's work hardens the edges: Codex closes a residency bypass in Realtime connections while openai-node fixes dropped terminal SSE events, abort latency during retry backoff, and strict-schema conversion.
Enforce managed residency when constructing API providers (#46011) openai/codex
Realtime connections constructed API providers directly, so configured provider headers could outrank managed residency requirements. Residency is now enforced in ModelProviderInfo::to_api_provider, where enforce_residency = "us" overrides both static and environment-derived values.
fix(streaming): emit terminal SSE events missing a trailing blank line (#2726) openai/openai-node
SSEDecoder only emitted on a blank line, so a final data: or event: record without a trailing newline was discarded at EOF. The decoder is now flushed at EOF, which delivers finish_reason and response.completed when a gateway closes the stream right after the last field.
fix(client): interrupt retry backoff on abort (#2581) openai/openai-node
Aborting a request during Retry-After backoff waited out the full delay: roughly 2.9 seconds to stop in the 3-second case, for both caller signals and signals installed by prepareRequest. Both paths now stop in about 1 ms and keep the abort reason in APIUserAbortError.cause.
fix(zod): omit impossible optional branch in strict schemas (#2751) openai/openai-node
Shared Zod v3 .nullable().optional() fields could extract definitions containing anyOf: [{ not: {} }, innerSchema], and that not branch accepts no JSON values and is unsupported by strict Structured Outputs. Without an override callback, strict conversion now generates anyOf: [innerSchema].
fix: preserve chat stream moderation results openai/openai-python
Chat stream snapshots and final completions now keep moderation results, including reports delivered after content; later omitted or null fields retain the last report, and unmoderated streams are unchanged.
Keep MCP user interaction on the root thread openai/codex
The day's long tail: MCP interactions that need human input stay on the root thread, inline code and file paths in the TUI take the active syntax theme's Markdown raw-text color with cyan as fallback, completion footers drop the done prefix, and prepared images route through the session's attachment store.
Action items