feat(web): let users change project folders - #8147
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 |
There was a problem hiding this comment.
UI consistency review found four issues in the new checkout-path row and the palette directory-picker mode: a control-height mismatch beside the InputGroup, an icon-size override that opts out of the Button primitive's responsive sizing, a keyboard-invisible copy affordance, and two palette details (reserved input padding and the leading icon) that were not updated for the new Select flow.
Posted via Macroscope — UI Consistency
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This PR adds a new project-folder editing workflow and changes persistent grouping and sidebar-order key behavior across the web app. Because it introduces cross-cutting user-visible behavior and state migration rather than a small isolated change, human review is warranted. You can add or adjust custom eligibility rules. Learn more. |
There was a problem hiding this comment.
UI consistency review: the earlier findings in this PR (folder button height/icon contract, keyboard reachability of the hidden copy addon, reserved end padding for the longer Select label) are addressed in the current head. One non-blocking note below about an inert branch left over from the icon fix.
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 d157199. Configure here.

Renaming a project only changed its display name. Users could not update the folder attached to an existing project, so moving a repository could leave duplicate project entries.
Add an editable path field to Project Settings and reuse the existing directory browser for folder selection. Threads and project settings stay attached when the path changes.
Note
Medium Risk
Changes persisted project paths, grouping override resolution, and sidebar order migration; mistakes could mis-group projects or scramble manual sort, but scope is settings/UI rather than auth or server data.
Overview
Lets users repoint an existing project checkout without creating a duplicate entry. Project Settings adds an editable Path field plus a folder button that opens the command palette in a new
select-directorymode; choosing a folder updatesworkspaceRootwhile threads and settings stay on the same project.The palette bus, reducer, and browse UI now support that intent (including Select submit, directory existence checks, environment validation for WSL/file-manager picks, and case-insensitive browse matching on non-Windows).
Sidebar grouping and manual order no longer key off folder paths: overrides use stable environment + project id keys, with
sidebarProjectGroupingInheritancerecording explicit “inherit global mode,” legacy path overrides still read as fallback, andmigrateProjectOrderKeysrewriting persistedprojectOrderwhen a path changes. Manual sort and ordering also accept legacy physical/CWD keys so existing preferences keep working.Desktop, mobile, and contracts settings/tests are updated for the new inheritance field; user docs describe changing a project folder.
Reviewed by Cursor Bugbot for commit dad0842. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add directory picker to
CommandPaletteand project folder editing to settingsselect-directoryintent tocommandPaletteBusandCommandPalette, allowing callers to open the palette to browse and select a folder.ProjectDetailinProjectSettingsPanelgains inline path editing and a folder chooser button that uses the new directory picker to change a checkout'sworkspaceRoot.getProjectOrderKeyandderiveProjectGroupingOverrideKeyto use stable environment-scoped IDs (environmentId+project.id) instead of physical paths. AddssidebarProjectGroupingInheritanceto manage legacy override fallbacks.caseSensitiveflag tofilterFilesystemBrowseEntriesto control exact-match case sensitivity.migrateProjectOrderKeys, andresolveProjectGroupingOverridefalls back to legacy physical-path keys unless inheritance suppresses them.Macroscope summarized dad0842.