Unify dropdown menus on the branch selector's picker style - #41
Merged
Merged
Conversation
Every button-triggered dropdown now shares the branch selector's popover language from the theme tokens: `picker_surface` with `picker_entry` rows, overlay hover, and the active fill + accent check on the current choice. Covers the Git page's Sync / branch "…" / changed-file / merge-rebase menus, the Review source menu, the Usage filter and row menus, the composer's add/access/workflow popups and autocomplete, the sidebar session menu, and aligns the row treatment of the existing search pickers (branch, labels, templates, Settings selects). Right-click context menus (Explorer tree, transcript selection) keep their compact `context_menu_*` metrics.
Both label triggers (the Issues filter chip and the issue detail's Edit labels button) only toggled `label_menu_open`, while the popup dismissed itself on mouse-down-out. Clicking an open trigger therefore closed the popup on mouse-down and the same click's mouse-up toggled it straight back open, so the dropdown could never be closed from its trigger. Arm `menu_dismissed_at` on dismissal and check the 200 ms gesture guard in both triggers — the pattern the branch menu, template picker, and the other dropdowns already use.
imrj05
marked this pull request as ready for review
September 28, 2026 18:42
rj05xdev
approved these changes
Sep 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Dropdown menus across the app had drifted apart: the branch selector, label picker, settings, usage filters, and sidebar each carried their own ad-hoc menu styling, and behavior was inconsistent — some menus did not close when their trigger was clicked a second time.
This branch aligns every dropdown on the branch selector's picker style and fixes the toggle behavior:
git_panel,sidebar,settings,usage/filters,usage/view,view.rs,sidepane.rs).fix(git): toggle the label dropdown closed on a second trigger click).piwhen New Task runs while the process is dead (fix(session): respawn pi when New Task runs with a dead process), with reconnect tests added innew_task_reconnect_tests.rs.Related issue
Closes #40
Type of change
Checklist
cargo build --workspaceis clean (zero warnings)cargo test --workspacepasses (pi-dependent tests may skip)cargo clippy --workspace --all-targetshas no new warningspiremains the only agent runtime (JSONL RPC over stdio)unsafewithout a commentINTENT.md→ Implementation status updated (and aD#decision added or revised if the architecture changed)README.mdfeatures/roadmap andCHANGELOG.md[Unreleased]updatedScreenshots / recordings
UI-only change to dropdown styling and toggle behavior; before/after recordings still need to be attached.