You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Mobile omits Codex request_user_input_async decision cards #20073
When Codex asks a question with request_user_input_async, Orca mobile does not show its choice card. This concerns the decision UI, not an entirely blank transcript.
Both Orca desktop 1.4.188 and main at fab78c766952404a1296d519a1dd76df6ed8d12e (also reproduced on the original b6e44575 base) decode the question's assistant prose, but the mobile prompt projection does not recognize this async question as a decision card.
Codex CLI 0.153.4 uses this shape (synthetic example):
Its rollout records a function_call with serialized arguments, an event_msg/item_completed containing an AgentMessage with delivery: "async" and the call id, then a function_call_output of {"accepted":true}. That result acknowledges display; it is not a user's answer. Codex continues working and receives an answer as a later user message. See the versioned Codex handler.
Reproduction with synthetic fixtures:
Feed these call/completion/result records through the Codex transcript decoder and mobile RPC sanitizer.
Resolve mobile prompts with a settled transcript and no blocking status.
The existing mobile prompt projection returns no card, including for title-only questions.
Expected: show titles, suggested choices and free-text input, with a reply path appropriate for an async question. Do not assign a fake blocking state or send the digit/Escape sequences used by blocking request_user_input.
Proposed bounded improvement: show a card for confirmed async questions in the loaded transcript; Add to message appends the selected answers and their questions to the existing draft for review and ordinary composer submission. Dismiss is local. This is not an async provider-response RPC.
Known boundary: mobile initially loads 40 messages. A question outside the loaded window cannot become a card until earlier history is loaded. A subsequent user message ends the local outstanding-question projection.
Evidence: synthetic unit/component regressions and headless React Native Web before/after screenshots are prepared. Actual iOS/Android, paired-host/SSH and Codex TUI reply delivery have not been exercised for this change. No private conversation content is included.
I've opened #30062 to address this issue on mobile and desktop, for both structured chat and chat backed by a terminal. It adds suggested answers and an Other field using the existing question controls.
The host reconstructs pending questions from history, so they remain available after reopening a chat even when the original question is outside the loaded page. A delivered reply updates the pending set for the other clients too. Async acknowledgements and turn completion do not count as answers.
The PR has 384 passing focused tests and a passing build. Fork CI still needs maintainer approval; physical-phone and live SSH validation remain pending. Mobile screenshots and the validation details are in the PR.
Activity
miguel93041 commentedon Oct 17, 2026
I've opened #30062 to address this issue on mobile and desktop, for both structured chat and chat backed by a terminal. It adds suggested answers and an Other field using the existing question controls.
The host reconstructs pending questions from history, so they remain available after reopening a chat even when the original question is outside the loaded page. A delivered reply updates the pending set for the other clients too. Async acknowledgements and turn completion do not count as answers.
The PR has 384 passing focused tests and a passing build. Fork CI still needs maintainer approval; physical-phone and live SSH validation remain pending. Mobile screenshots and the validation details are in the PR.