Skip to content

fix(web): Cmd/Ctrl+click adds projects to the sidebar filter, like thread selection - #31574

Open
ipanasenko wants to merge 2 commits into
pingdotgg:mainfrom
ipanasenko:fix/project-filter-mod-click
Open

ipanasenko wants to merge 2 commits into
pingdotgg:mainfrom
ipanasenko:fix/project-filter-mod-click

Conversation

@ipanasenko

Copy link
Copy Markdown
Contributor

Note

🤖 Written by Claude Opus 5.5 on behalf of Illia

Problem

The sidebar uses two different multi-select gestures. In the thread list, Cmd+click (Ctrl+click on Windows and Linux) toggles one thread and Shift+click selects a range, like a file manager. In the project filter, Shift+click toggles a project instead (added in #25284), so Cmd+click there filters to one project and closes the menu.

Change

The project filter now uses the thread list's modifier:

 project filter row
-  Shift+click / Shift+Enter    -> add or remove project, keep menu open
+  Cmd/Ctrl+click / Cmd/Ctrl+Enter -> add or remove project, keep menu open
   plain click / Enter          -> show only this project, close menu
  • isPlatformModKey (Meta on macOS, where Ctrl+click is a secondary click; Ctrl elsewhere) is now shared by thread selection and the filter, so the two cannot drift again.
  • Shift+click is now a plain pick. Shift+Enter does nothing, because Base UI's combobox input ignores any modified Enter. On main, Cmd/Ctrl+Enter did nothing in the same way. A no-op keeps the current selection for anyone used to the old toggle.
  • The multi-select gesture was not in the user docs, so docs/user/thread-sidebar.md gets one short paragraph.
  • Mobile keeps its single-project filter.

Scope and approval

This is a focused consistency fix to an existing capability, the multi-project filter from #25284. No new behavior: the toggle moves to the modifier the same sidebar already uses for thread selection, and the menu, selection model, and persistence are unchanged.

Verification

Manual pass in the desktop preview browser on macOS, against a dev server with seeded projects:

Action Before (main) After
Cmd+click a project filters to that project, menu closes adds or removes it, menu stays open, search kept
Cmd+Enter on highlighted project nothing adds or removes it, menu stays open, search kept
Shift+click a project adds or removes it filters to that project, menu closes
plain click filters to that project unchanged

The automation tool drops modifiers on real clicks, so Cmd+click was sent as a synthetic MouseEvent with metaKey: true; Cmd+Enter was a real key press. I did not check Ctrl+click on Windows or Linux. There is no visual change, so there are no screenshots.

vp run check:changed passes (format, lint, knip, typecheck, tests, React compiler).

Claude Opus 5.5 in Claude Code (T3 Code), reviewed by GPT-6.1 Sol in Codex.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:S 10-29 changed lines (additions + deletions). labels Nov 5, 2026
@ipanasenko
ipanasenko marked this pull request as ready for review November 5, 2026 16:56
@macroscopeapp

This comment has been minimized.

@macroscopeapp

macroscopeapp Bot commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at ecc9884

Macroscope's review found this PR approvable — Project-filter multi-selection now uses Cmd/Ctrl+click or Cmd/Ctrl+Enter, matching thread selection. The change is limited to explicit sidebar interactions and reuses existing filter-state handling.

You can add or adjust custom eligibility rules. Learn more.

@coderabbitai

coderabbitai Bot commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

The sidebar now uses platform-specific modifier keys for thread and project selection. The project-search Enter shortcut uses the same modifier. Documentation describes project filtering on web, desktop, and mobile.

Changes: Sidebar selection

Layer / File(s) Summary
Platform modifier selection
apps/web/src/components/Sidebar.tsx, docs/user/thread-sidebar.md
Thread clicks and project-scope clicks use Meta on macOS and Ctrl elsewhere. The project-search shortcut toggles a project with the platform modifier and Enter when Shift and Alt are not pressed. Documentation describes single-project and multi-project filtering on web and desktop, and single-project filtering on mobile.

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Suggested reviewers: t3dotgg, maria-rcks

Merge Risk: Low · up to 4dfe0

The new project-selection gestures are not protected by automated regression tests. This is a bounded coverage risk.

Pre-merge checks: Passed 4

Check name Status Explanation
Title check Passed The title names the main change: Cmd/Ctrl+click now adds or removes projects in the sidebar project filter, matching thread selection. It uses the conventional fix(web) prefix and is specific, so it p…
Description check Passed The description follows the template's Problem, Change, Scope and approval, and Verification sections. The Problem and Change sections are clear and specific. Scope cites the existing multi-project fi…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title names the main change: Cmd/Ctrl+click now adds or removes projects in the sidebar project filter, matching thread selection. It uses the conventional fix(web) prefix and is specific, so it passes.

Full details: Description check

Explanation

The description follows the template's Problem, Change, Scope and approval, and Verification sections. The Problem and Change sections are clear and specific. Scope cites the existing multi-project filter from #25284 and explains why the change is a focused fix. Verification lists manual checks with observed before/after results, names what was not checked (Ctrl+click on Windows and Linux), and explains why there are no screenshots. Minor gaps: the Scope section does not link a triaged issue or maintainer approval comment, and the template asks for a link to the approval or an explanation for a small obvious fix. The author gives an explanation for a focused consistency fix, but it is not a link to an approval. The template also asks for a model and harness line at the end, and the author included one. The description is mostly complete, so the check passes.

Finishing Touches

Generate unit tests (beta)

  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Recent review info

Run configuration

Commits

Reviewing files that changed from the base of the PR and between ecc9884 and 4dfe084.

Files selected for processing: 2

  • apps/web/src/components/Sidebar.tsx
  • docs/user/thread-sidebar.md

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S 10-29 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant