feat(web): filter sidebar threads by environment - #8530
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:
Comment |
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This PR adds a new environment-filtering workflow to the production sidebar and integrates it with thread rendering, drafts, project scope, search, and selection behavior. The change is broader than a small isolated UI adjustment, so the resulting runtime interactions merit human review. You can add or adjust custom eligibility rules. Learn more. |
258c853 to
8983e13
Compare
Dismissing prior approval to re-evaluate 8983e13
There was a problem hiding this comment.
One consistency finding on the new environment-filter trigger: it is the only icon SidebarMenuButton in this header row without the coarse-pointer hit-target overlay its neighbors use. Everything else (Menu/MenuPopup/MenuCheckboxItem composition, width-class contract on MenuPopup, active-filter dot matching PullRequestListFilters) matches the shared component system.
Posted via Macroscope — UI Consistency
8983e13 to
14ed67b
Compare
Add an icon button next to the sidebar's project scope menu (visible only when more than one environment is connected) that opens a checklist to enable and disable which environments' threads the list shows. The filter composes with the project scope, draft rows, search, and the settled-tail pagination reset; the project menu narrows to projects with a presence in an enabled environment. State is the disabled set, so newly connected environments are visible by default. The last enabled environment cannot be unchecked, and a catalog change that would leave nothing enabled resets the filter instead of hiding every thread behind a control that no longer renders. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
14ed67b to
72c948d
Compare
There was a problem hiding this comment.
Two consistency findings on the new environment filter control in apps/web/src/components/Sidebar.tsx. Everything else (dot indicator matching PullRequestListFilters, MenuPopup width contract, SidebarMenuButton icon-color indirection) lines up with the existing system.
Posted via Macroscope — UI Consistency
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit d80e30b. Configure here.
There was a problem hiding this comment.
One finding on the new commit: the locked environment row explains its constraint with a native title attribute instead of the shared Tooltip primitive. Details inline.
Posted via Macroscope — UI Consistency
There was a problem hiding this comment.
One finding on the newest commit: the environment checkbox rows now pin data-highlighted text colors, which overrides MenuCheckboxItem's accent-surface foreground contract.
Posted via Macroscope — UI Consistency
|
Note 🤖 GPT-6 Astra (preview) responding on behalf of Theo This note is part of an automated cleanup pass. Documentation carryover from #9241 at 32c1c96: update |

The sidebar can filter threads by connected environment while keeping project scope and saved preferences consistent. Selecting an environment narrows the visible threads; explicitly disabling that environment clears the now-invalid scope.
The implementation preserves main’s persisted project-scope state and snapshot-readiness guard while integrating the latest sidebar behavior.
Verification
Head
c92ee801ca17019f8c83326d5604a3e9e1be681bincludes upstream main4631000f5a7666c88402ce11a9ebb8cdef7a7dad. The conflict repair preserves the environment-filter coverage while accepting upstream deletion of unused helper coverage. All 120 focused Sidebar.logic tests, web typecheck and scoped lint pass. The contribution diff check is clean; independent review found no actionable source findings.A fresh multi-environment client pass is still needed for visual and interaction acceptance. These captures are historical and were not recaptured on this head:
Work: GPT-6 in Codex with GPT-5.6 Sol implementation/source review on the larger repairs. Direct Claude Opus review was attempted but unavailable because OAuth had expired; no Claude review occurred.