Skip to content

feat(client): add a search box to the revision selector#438

Open
yoshiko-pg wants to merge 2 commits into
mainfrom
feat/searchable-revision-selector
Open

feat(client): add a search box to the revision selector#438
yoshiko-pg wants to merge 2 commits into
mainfrom
feat/searchable-revision-selector

Conversation

@yoshiko-pg

@yoshiko-pg yoshiko-pg commented Jul 11, 2026

Copy link
Copy Markdown
Owner

Summary

Implements suggestion 2 from #432: a searchable branch/commit picker.

Quick menu (main dropdown)

  • A sticky filter input now sits at the top of the revision quick menu, above the Quick Diffs section.
  • Typing filters across:
    • Quick Diff presets (HEAD, HEAD...Uncommitted, main...Uncommitted, Previous commit, ...)
    • Recent commits — selecting one shows commit^...commit
    • Branches — selecting one shows branch...Uncommitted (merge-base), consistent with the existing presets
  • Pressing Enter selects the first match; an empty state is shown when nothing matches. The query resets when the menu closes.

Detailed Diff selector

  • The Base/Target revision dropdowns in the Detailed Diff modal get the same filter input (focused on open, Enter selects the first enabled match).
  • The dropdown height is now capped with floating-ui's size middleware so the list always fits inside the viewport. Previously it could overflow off-screen when it flipped upward.

Test plan

  • Unit tests for quick menu filtering (presets/commits/branches), commit and branch selection semantics, Enter-selects-first-match, empty state
  • Unit tests for the Detailed selector filtering
  • Verified in the browser with pnpm run dev: typing inline in the quick menu narrows to the matching commit and the feat/inline-reply-box branch

Part of #432

🤖 Generated with Claude Code

yoshiko-pg and others added 2 commits July 11, 2026 18:52
Add a sticky filter input at the top of the branch/commit dropdown so
revisions can be narrowed down by typing, similar to GitHub's branch
picker. Matching is case-insensitive across special option labels,
commit hashes and messages, and branch names. Pressing Enter selects
the first enabled match, and an empty state is shown when nothing
matches.

Also cap the dropdown height with the floating-ui size middleware so
the list (and the new search box) always stays inside the viewport
instead of overflowing off-screen.

Implements suggestion 2 in #432.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Move the primary search experience into the DiffQuickMenu dropdown: a
sticky filter input now sits above the Quick Diffs section. Typing
filters across quick diff presets, recent commits (select for
commit^...commit), and branches (select for
branch...Uncommitted (merge-base)). Enter picks the first match and an
empty state is shown when nothing matches.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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