feat(web): filter the sidebar by several projects at once - #8142
feat(web): filter the sidebar by several projects at once#8142c0nsoleg wants to merge 2 commits into
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — The sidebar filter changes from single-select to persistent multi-select and changes the effective thread/draft set, selection state, and settled pagination behavior. The work is localized client-side code with helper tests and no backend or schema changes, but it introduces a new user-facing workflow with several coordinated runtime effects. You can add or adjust custom eligibility rules. Learn more. |
The project filter was a radio menu: all projects, or one. Working in two repos at the same time meant flipping it back and forth all day. It's checkboxes now. The scope is a list of project keys, empty meaning all, and the popup stays open while you pick. The thread list, the draft rows, the bulk-selection reset and the settled paging all read the union of the picked groups, so nothing under the filter changed. The trigger keeps favicon plus name for a single project and shows "3 projects" past that. Picks are dropped when their project group goes away, which replaces the old single-key reset. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
989e36e to
fa2163e
Compare
The project filter was a radio menu: all projects, or one. If you're working
in two repos at the same time you end up flipping it back and forth all day.
It's checkboxes now.
Before
After
Tests: 4 new ones for the toggle/prune helpers, plus typecheck and lint on
the changed files.
Note
Low Risk
Client-only sidebar filter UX and local state; no auth, persistence, or API changes.
Overview
The sidebar project filter moves from single-select to multi-select: an empty checkbox selection still means all projects, but users can check several logical projects and see the union of their threads without flipping the menu back and forth.
State is now
projectScopeKeys(array) instead of one nullable key.toggleProjectScopeKeyandpruneProjectScopeKeysinSidebar.logichandle add/remove and drop stale keys when project groups disappear. The filter menu usesMenuCheckboxItemwithcloseOnClick={false}so the menu stays open while toggling; the trigger shows one project’s favicon/name when exactly one is selected, “All projects” when none, or “N projects” when several.Pagination reset and bulk-selection clearing key off
projectScopeSelectionKey(sorted set of keys, or"all"), so reordering picks alone does not reset settled paging or selection.Reviewed by Cursor Bugbot for commit b6ba5a9. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Update
Sidebarto support filtering by multiple projectsSidebarcomponent to allow users to filter by multiple projects simultaneously instead of a single project.projectScopeKeywithprojectScopeKeys(readonly string array) and introducestoggleProjectScopeKeyandpruneProjectScopeKeysutilities to manage selection state.projectScopeSelectionKey.Macroscope summarized b6ba5a9.