Skip to content

[codex] Fix realtime v1 websocket compatibility#23771

Merged
guinness-oai merged 1 commit into
mainfrom
froge/realtime-v1-api-compat-20260520
May 20, 2026
Merged

[codex] Fix realtime v1 websocket compatibility#23771
guinness-oai merged 1 commit into
mainfrom
froge/realtime-v1-api-compat-20260520

Conversation

@guinness-oai
Copy link
Copy Markdown
Collaborator

Why

Realtime v1 websocket sessions now expect a slightly different boundary shape for text input, completed input transcripts, and connection headers. Codex was still using the older shape, so some v1 text appends could be rejected before the existing conversation flow could handle them.

What changed

  • Send v1 user text items with input_text content
  • Accept v1 turn-marked input transcript events as completed transcripts
  • Add the v1 alpha header only for v1 realtime sessions
  • Cover the outbound text shape, transcript parsing, and versioned headers

Test plan

  • cargo test -p codex-api endpoint::realtime_websocket::methods::tests
  • cargo test -p codex-core quicksilver_alpha_header

@guinness-oai guinness-oai marked this pull request as ready for review May 20, 2026 22:37
@guinness-oai guinness-oai requested a review from a team as a code owner May 20, 2026 22:37
@guinness-oai guinness-oai merged commit d6d03d4 into main May 20, 2026
46 of 47 checks passed
@guinness-oai guinness-oai deleted the froge/realtime-v1-api-compat-20260520 branch May 20, 2026 23:03
@github-actions github-actions Bot locked and limited conversation to collaborators May 20, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants