Skip to content

Conversation

@charley-oai
Copy link
Collaborator

@charley-oai charley-oai commented Jan 27, 2026

Summary

Overhaul the ask‑user‑questions TUI to support “Other/None” answers, better notes handling, improved option selection
UX, and a safer submission flow with confirmation for unanswered questions.

Resolves #10088

Multiple choice (number keys for quick selection, up/down or jk for cycling through options):
Screenshot 2026-01-27 at 7 22 29 PM

Tab to add notes:
Screenshot 2026-01-27 at 7 22 45 PM

Freeform (also note enter tooltip is highlighted on last question to indicate questions UI will be exited upon submission):
Screenshot 2026-01-27 at 7 23 13 PM

Confirmation dialogue (submitting with unanswered questions):
Screenshot 2026-01-27 at 7 23 29 PM

Key Changes

  • Options UI refresh

    • Render options as numbered entries; allow number keys to select & submit.
    • Remove “Option X/Y” header and allow the question UI height to expand naturally.
    • Keep spacing between question, options, and notes even when notes are visible.
    • Hide the title line and render the question prompt in cyan only when uncommitted.
  • “Other / None of the above” support

    • Wire isOther to add “None of the above”.
    • Add guidance text: “Optionally, add details in notes (tab).”
  • Notes composer UX

    • Remove “Notes” heading; place composer directly under the selected option.
    • Preserve pending paste placeholders across question navigation and after submission.
    • Ctrl+C clears notes only when the notes composer has focus.
    • Ctrl+C now triggers an immediate redraw so the clear is visible.
  • Committed vs uncommitted state

    • Introduce a unified answer_committed flag per question.
    • Editing notes (including adding text or pastes) marks the answer uncommitted.
    • Changing the option highlight (j/k, up/down) marks the answer uncommitted.
    • Clearing options (Backspace/Delete) also clears pending notes.
    • Question prompt turns cyan only when the answer is uncommitted.
  • Submission safety & confirmation

    • Only submit notes/freeform text once explicitly committed.
    • Last-question submit with unanswered questions shows a confirmation dialog.
    • Confirmation options:
      1. Proceed (default)
      2. Go back
    • Description reflects count: “Submit with N unanswered question(s).”
    • Esc/Backspace in confirmation returns to first unanswered question.
    • Ctrl+C in confirmation interrupts and exits the overlay.
  • Footer hints

    • Cyan highlight restored for “enter to submit answer” / “enter to submit all”.

Codex author

codex fork 019c00ed-323a-7000-bdb5-9f9c5a635bd9

@charley-oai
Copy link
Collaborator Author

@codex review this

Copy link
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: 7efe081a2f

ℹ️ 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".

@charley-oai charley-oai force-pushed the ask-user-question-is-other-in-tui branch from 7efe081 to 901d918 Compare January 27, 2026 20:36
@charley-oai
Copy link
Collaborator Author

@codex review this

Copy link
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: 901d918476

ℹ️ 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".

@charley-oai charley-oai force-pushed the ask-user-question-is-other-in-tui branch from 901d918 to bd473d1 Compare January 27, 2026 22:03
@charley-oai
Copy link
Collaborator Author

@codex review this

@charley-oai charley-oai force-pushed the ask-user-question-is-other-in-tui branch from bd473d1 to 7afa1f3 Compare January 27, 2026 22:07
Copy link
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: bd473d1021

ℹ️ 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".

@charley-oai charley-oai changed the base branch from main to ask-user-question-ui-footer-improvements January 27, 2026 22:43
@charley-oai charley-oai force-pushed the ask-user-question-is-other-in-tui branch from 7afa1f3 to 467bba1 Compare January 27, 2026 22:44
@charley-oai
Copy link
Collaborator Author

@codex review this

Copy link
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: 467bba1c6f

ℹ️ 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".

@charley-oai charley-oai changed the base branch from ask-user-question-ui-footer-improvements to main January 27, 2026 22:56
@charley-oai charley-oai force-pushed the ask-user-question-is-other-in-tui branch from fa11349 to 2931294 Compare January 27, 2026 23:17
@charley-oai
Copy link
Collaborator Author

@codex review this

@chatgpt-codex-connector
Copy link
Contributor

Codex Review: Didn't find any major issues. Nice work!

ℹ️ 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".

@charley-oai charley-oai changed the title TUI: honor isOther in request_user_input with “None of the above” Refine request_user_input TUI interactions and option UX Jan 28, 2026
@charley-oai
Copy link
Collaborator Author

@codex review this

Copy link
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

) -> (u16, u16, u16, u16, u16, u16, u16, u16) {
let max_question_height = available_height.saturating_sub(1);
let adjusted_question_height = question_height.min(max_question_height);

P2 Badge Fix off-by-one truncation in tight freeform layout

In the tight no-options path you still reserve an extra row (available_height.saturating_sub(1)) even though this commit removed the header line entirely (header height is now 0). When the pane is constrained (e.g., question wraps to 2 lines and only 2 rows are available), this forces max_question_height to 1 and truncates a line that would fit, leaving a blank row. Consider using the full available_height here or only subtracting when a header/progress row is actually rendered.

ℹ️ 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".

@charley-oai
Copy link
Collaborator Author

@codex review this

Copy link
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: 2a1a02d3b2

ℹ️ 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".

@charley-oai
Copy link
Collaborator Author

@codex review this

Copy link
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: 16c571e8bf

ℹ️ 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".

@charley-oai
Copy link
Collaborator Author

@codex review this

Copy link
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: cbfe0c12ee

ℹ️ 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".

@charley-oai
Copy link
Collaborator Author

@codex review this

Copy link
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

let options = question.options.as_ref();
// For option questions we may still produce no selection.
let selected_idx = if options.is_some_and(|opts| !opts.is_empty()) {
answer_state.committed_option_idx
} else {

P2 Badge Skip submitting stale options when answer is uncommitted

Right now submit_answers always uses committed_option_idx for option questions, even when answer_committed is false. This can happen after a user changes the highlighted option or edits notes (which marks the answer uncommitted). In that case the UI treats the question as “unanswered” (see is_question_answered), but proceeding still submits the previously committed option without the user re‑confirming it, which is inconsistent with the confirmation dialog and can silently send a stale choice. Consider gating option submission on answer_committed (or clearing committed_option_idx when you mark it uncommitted).

ℹ️ 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".

@charley-oai
Copy link
Collaborator Author

@codex review this

Copy link
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: b174e95b83

ℹ️ 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".

@charley-oai
Copy link
Collaborator Author

@codex review this

@chatgpt-codex-connector
Copy link
Contributor

Codex Review: Didn't find any major issues. Can't wait for the next one!

ℹ️ 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".

@charley-oai charley-oai marked this pull request as ready for review January 28, 2026 09:52
@charley-oai charley-oai merged commit 9638675 into main Jan 28, 2026
51 of 53 checks passed
@charley-oai charley-oai deleted the ask-user-question-is-other-in-tui branch January 28, 2026 17:42
@github-actions github-actions bot locked and limited conversation to collaborators Jan 28, 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.

Plan mode offer 4 bad options and no way to say to model my custom one if all are bad.

3 participants