Skip to content

fix(ui): keep a way back to a hidden async question - #543

Merged
Tryanks merged 1 commit into
mainfrom
fix/async-question-reveal
Sep 26, 2026
Merged

Tryanks merged 1 commit into
mainfrom
fix/async-question-reveal

Conversation

@Tryanks

@Tryanks Tryanks commented Sep 26, 2026

Copy link
Copy Markdown
Owner

Changed behaviour

Hiding a non-blocking (Codex request_user_input_async) question only hides it on this client. It sends nothing to the host or the agent, so the question stays open and the sidebar correctly keeps showing Needs your answer. The composer, however, left no way to reopen it. The user was pointed at a question they could not reach until they switched threads or the agent asked again.

A hidden question now leaves a small ghost button above the composer (info icon + "Question from the agent", tooltip "Answer") that reopens the question expanded. It disappears with the question when the question is answered or the turn ends. It reuses existing strings, so there are no locale changes.

The dismissed-request filter moves from Composer::render into render_async_question, the only place that can dismiss. Blocking questions are unaffected.

Test

async_question_strip_controls (renamed from async_question_strip_buttons_toggle_and_page) now continues past the toggle/paging clicks. Clicking hide removes the strip, and clicking the reveal entry brings the question back expanded. Without this change, the reveal entry does not exist and the test fails at that click.

Checks run locally (macOS)

  • cargo fmt --all --check
  • cargo clippy --workspace --all-targets --locked -- -D warnings
  • cargo nextest run -p tcode-ui --locked: 314 passed

Not done: a visual check in the running app, which needs a live Codex async question.

Hiding a non-blocking question is local to the client: the question stays
open on the host and the sidebar keeps showing it as awaiting an answer,
but the composer left no way to reopen it. A hidden question now leaves a
small entry above the composer that reopens it expanded.
@Tryanks
Tryanks merged commit e5d0d99 into main Sep 26, 2026
7 checks passed
@Tryanks
Tryanks deleted the fix/async-question-reveal branch September 26, 2026 18:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant