Skip to content

home: a search's pointer previews the match under it, and leaving gives the card back to the cursor - #1541

Merged
AbirAbbas merged 3 commits into
devfrom
fix/home-search-card-2026-09-26
Sep 26, 2026
Merged

AbirAbbas merged 3 commits into
devfrom
fix/home-search-card-2026-09-26

Conversation

@AbirAbbas

Copy link
Copy Markdown
Collaborator

Found by the real-model tmux suite after the senior-dev wave. TestTUIE2E/hover_previews_the_match_under_the_pointer fails on dev, and it is the only failure there that is the product rather than the suite (see #1540).

What a person saw. At 180 columns, typing Seed on Home lists the three matches. Pointing at Seed Beta drew nothing to the right of the list. The manual promises "a card … about the match under the cursor — or the one under your pointer while it is on one".

Why. Since #1071 (17ae56d34), the card has read only the keyboard cursor, and a hover moved that cursor. A redraw could hand the cursor back to the start a new conversation row, whose card is deliberately empty. Leaving the list could never restore the cursor's match, because the hover had overwritten it.

Now. While a search is typed:

  • The pointer previews the match under it and leaves the keyboard cursor where the keys put it.
  • Moving off the matches gives the card back to the cursor's match.
  • The card's own chords (→, ctrl+o, ctrl+y, …) act on the card on screen.
  • Any other key retires the hover, so enter and typing still act on the cursor.

Resting Home keeps #1071's single selection. A folder gone match still gets a card, and the manual now says so.

Proof.

  • TestHomeSearchCardFollowsKeyboardCursor, …FollowsPointerMatch, …ReturnsToCursorWhenPointerLeaves and TestHomeSearchHasNoSideCardBelow136Columns are written from the manual section, and each fails on the old code.
  • The real-binary subtest fails on the old binary (no card for Seed Beta) and passes on this one (Seed Beta's card on the right, then back to the cursor's card when the pointer leaves).
  • make pr-ready is green, including internal/tui3's full sharded suite.

🤖 Generated with Claude Code

AbirAbbas and others added 3 commits September 26, 2026 10:19
Since #1071 the card beside a search read only the keyboard cursor, and a
hover moved that cursor, so a redraw could hand it back to the start-a-new
row whose card is empty: pointing at a match drew no card at all, and
leaving the list could not restore the cursor's match. While a search is
typed the pointer now previews the match under it and leaves the cursor
where the keys put it; the card's own chords act on the card on screen, and
any other key retires the hover. Resting home keeps #1071's one selection.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…he cursor

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@AbirAbbas
AbirAbbas merged commit baa1dd7 into dev Sep 26, 2026
4 checks passed
@AbirAbbas
AbirAbbas deleted the fix/home-search-card-2026-09-26 branch September 26, 2026 14:26
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