Repository navigation
fix(composer): ignore secondary picker selection - #27351
teamleaderleo wants to merge 4 commits into
Conversation
7dad3ae to
3965af9
Compare
|
Bead |
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Unclear: CI failed on
Failures:
Matched log linesNot re-run automatically: Written by red: cmux-next checks (god files, concurrency, crash safety, l10n); no finished base run on 90a5c3a to compare; do not merge until green; see lane-rules |
|
Found 12 test failures on Blacksmith runners: Failures
...and 2 more test failures. View all on Blacksmith
|








![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Right- and middle-clicking a generic composer Picker option selected it and closed the menu. The row now ignores non-primary mouse buttons while preserving
preventDefault()first, so browser focus stays on the combobox and keyboard selection continues to work.The production change is a primary-button guard. Focused unit tests and the synthetic
agent-pane.picker-pointergallery/browser harness cover ignored presses, primary selection, keep-open behavior, and keyboard selection.HOLD: Keep this PR draft. Do not ready or merge.
Validation
Final-head fleet checks at
7b6d8ea5f8c9815e49f02a0568b81a5f755865fe: run 40853680320 passed (exit 0): full webview check, 6/6 unit tests (18 assertions), and 6/6 Chromium/WebKit tests (38 assertions). Formatting passed, lint reported 0 warnings/errors, and typechecking reported no errors. The system-blue guard emitted non-failing warnings.Red/green fleet run:
Commands:
cd webviews && bun run check;bun test test/composer-picker-primary.test.tsx;CMUX_BROWSER_TESTS=1 bun test test/composer-picker-pointer.test.ts.Before / after
Synthetic gallery at 520×400; capture receipt. Before
217eefdbfc75d203f2686670533f2a16cdfc8830; after3965af956fdb939fa9ed6ad687b9867cbd0888e4. Later commits only format the gallery/tests.Right/middle previously selected Mention file and closed the menu. After the fix, the menu remains open with no selection. Primary selection remains unchanged.
Scope and limits
Observed in synthetic Linux Chromium/WebKit; native macOS control-click and production-app captures were not run. Risk is limited to generic Picker row mouse selection; keyboard handlers and menu styling are unchanged. The browser harness closes pages, browsers, and its Vite server.
Open/merged duplicate searches found related changes in #21158, #25316, #26843, and #26616, but no duplicate of this generic Picker guard. The automated file-overlap command was unavailable through the broker.
Changelog
Fixed: Composer picker options ignore secondary and middle mouse presses.
Agent session: agent session