[codex] restore Sidebar V2 project actions#4373
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 Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
Bugbot Autofix is ON, but a cloud agent failed to start.
Reviewed by Cursor Bugbot for commit 493abfa. Configure here.
ApprovabilityVerdict: Needs human review This PR adds new user-facing features including project rename, grouping preference management, and a new project actions dialog. The scope of new functionality and user workflows warrants human review. You can customize Macroscope's approvability policy. Learn more. |
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
1d596b3 to
ef27faf
Compare

What changed
Sidebar V2 now exposes the project-entry actions that were available in Sidebar V1 without treating a logical project group as one indivisible destructive target.
The project ellipsis closes the scope menu, then opens one project settings dialog. Each physical entry is clearly labeled by environment and workspace path, with its project name and grouping rule editable inline. Copy path and Remove stay available per entry; removing every member remains an explicit, secondary Remove all entries action.
Single projects use the same dialog with one entry. Rename uses the existing server update command, while grouping changes update the existing grouping override settings directly.
Why
The previous Sidebar V2 trash button immediately targeted the entire logical group. Once local and remote project records were grouped, users could no longer rename, regroup, copy, or remove one physical project independently, and the default removal confirmation could delete every grouped entry and its conversation history.
Verification
vp lint apps/web/src/components/SidebarV2.tsxvp test run apps/web/src/components/Sidebar.logic.test.ts apps/web/src/environmentGrouping.test.tsvp run --filter @t3tools/web typecheckNote
Medium Risk
Changes destructive project removal UX and adds server-backed rename plus client grouping overrides, but reuses existing commands and settings patterns from Sidebar V1.
Overview
Sidebar V2’s project scope menu no longer removes an entire logical group from a trash icon. Each project row gets an ellipsis that dismisses the scope menu and opens a Project settings dialog.
The dialog is per physical entry (environment + path): inline rename via
projectEnvironment.update, grouping rule overrides via client settings, copy path, and remove for that entry only. Multi-member groups also show an explicit Remove all entries footer.Removal logic is refactored to
handleRemoveProjectMemberswith a member subset, so confirmations name the specific entry (path/environment) and clarify when other grouped entries stay untouched.Reviewed by Cursor Bugbot for commit ef27faf. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Restore project actions in Sidebar V2 with logical project grouping
sortLogicalProjectsForSidebarto sort grouped cross-environment projects by manual order or recent activity, ignoring archived threads.'manual'.buildSidebarProjectSnapshotssomemberProjectRefsincludes all scoped project references mapping to a logical group, and addsbuildSidebarProjectPickerEntriesto select a preferred-environment target per group.Macroscope summarized 1d596b3.