Skip to content

Fixed unnumbered choice prompts showing every line as a bogus option - #178

Merged
oleg68 merged 1 commit into
nbplugins:mainfrom
oleg68:bugfix/unnumbered-choice-menu-prose-as-options
Sep 30, 2026
Merged

oleg68 merged 1 commit into
nbplugins:mainfrom
oleg68:bugfix/unnumbered-choice-menu-prose-as-options

Conversation

@oleg68

@oleg68 oleg68 commented Sep 30, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Fixed ScreenContentDetector.detectUnnumberedChoiceMenu sweeping an entire dialog's blank-separated prose (header, warning text, etc.) into the options list for unnumbered choice prompts that have no box-drawing boundary above the real options (e.g. the "trust this folder" dialog) — every line was rendered as its own bogus radio button.
  • Fixed the same method unconditionally merging any two adjacent non-blank lines into one option, which fused the real "Yes" choice into the "No" option's description, making "Yes" unselectable.
  • Added a regression fixture (trust-folder-prompt.src.txt/.expectedRes.json) reproducing the exact reported screen.

Test plan

  • mvn test — full suite passes (0 failures/errors), including all existing resume-picker-unnumbered* fixtures (unaffected) and the new trust-folder-prompt fixture
  • mvn package builds cleanly
  • Manually verified in the IDE against an untrusted-folder prompt: only "No, exit" (pre-selected) and "Yes, I trust this folder" now appear as options

🤖 Generated with Claude Code

…ery line as a bogus option

detectUnnumberedChoiceMenu skipped blank lines unconditionally while
scanning upward for options, so it swept an entire dialog's blank-separated
prose into the options list once no box-drawing boundary was present.
It also unconditionally merged any two adjacent non-blank lines into one
option, fusing the real "Yes" choice into the "No" option's description.

Now the upward scan stops on the first blank line encountered after at
least one option block has been collected, and two lines are only merged
into one (main, desc) option when the lower line carries the "·" metadata
separator used by real 2-line entries (e.g. the /resume picker).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@oleg68
oleg68 merged commit f4f4660 into nbplugins:main Sep 30, 2026
3 checks passed
@oleg68
oleg68 deleted the bugfix/unnumbered-choice-menu-prose-as-options branch September 30, 2026 14:10
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