Skip to content

Mirror user text into realtime#17520

Merged
aibrahim-oai merged 14 commits intomainfrom
dev/realtime-user-text
Apr 12, 2026
Merged

Mirror user text into realtime#17520
aibrahim-oai merged 14 commits intomainfrom
dev/realtime-user-text

Conversation

@aibrahim-oai
Copy link
Copy Markdown
Collaborator

@aibrahim-oai aibrahim-oai commented Apr 12, 2026

  • Let typed user messages submit while realtime is active and mirror accepted text into the realtime text stream.\n- Add integration coverage and snapshot for outbound realtime text.

Copy link
Copy Markdown
Contributor

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c9438f6891

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

if sess.conversation.running_state().await.is_none() {
return;
}
if let Err(err) = sess.conversation.text_in(text).await {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Prevent mirrored turns from being re-routed as handoff input

mirror_user_text_to_realtime now sends every accepted typed turn into realtime via conversation.text_in (codex.rs), but realtime fanout still routes every HandoffRequested back through route_realtime_text_input (realtime_conversation.rs). In V2, text_in requests a response (handle_user_text_input), so mirrored text can be re-injected as a second user steer, duplicating input and altering turn behavior.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c0b675291d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread codex-rs/core/src/realtime_conversation.rs
@aibrahim-oai
Copy link
Copy Markdown
Collaborator Author

@codex review this

Copy link
Copy Markdown
Contributor

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 03606c72fd

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines 1001 to 1004
.await;
return Err(mapped_error.into());
}
match session_kind {
RealtimeSessionKind::V1 => {}
RealtimeSessionKind::V2 => {
response_create_queue
.request_create(writer, events_tx, "text")
.await?;
}
}
Ok(())
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Trigger response.create for V2 text appends

handle_user_text_input now only sends conversation.item.create and returns. Realtime V2 requires a follow-up response.create (queued when a response is active) for text turns to produce output; app-server thread/realtime/appendText flows depend on that behavior. As written, text is mirrored into the session but no realtime response is started.

Useful? React with 👍 / 👎.

@aibrahim-oai aibrahim-oai merged commit d840b24 into main Apr 12, 2026
22 checks passed
@aibrahim-oai aibrahim-oai deleted the dev/realtime-user-text branch April 12, 2026 22:03
@github-actions github-actions bot locked and limited conversation to collaborators Apr 12, 2026
@aibrahim-oai aibrahim-oai changed the title Mirror user text into realtime Support realtime text input and output in TUI Apr 13, 2026
@aibrahim-oai aibrahim-oai changed the title Support realtime text input and output in TUI Mirror user text into realtime Apr 13, 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.

1 participant