Separate client and environment settings#4567
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:
✨ Finishing Touches🧪 Generate unit tests (beta)
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: Approved This PR reorganizes the settings UI into Client and Environment sections without changing how any settings actually work. It's a straightforward presentation-layer refactor with a new unit test confirming the navigation structure. You can customize Macroscope's approvability policy. Learn more. |
… in the UI) # Conflicts: # apps/web/src/components/settings/SettingsPanels.tsx
# Conflicts: # apps/web/src/components/settings/SettingsPanels.tsx
What Changed
/settings/generaland environment settings at/settings/environment.Why
Settings that follow the graphical client and settings that configure the connected execution environment currently appear together, obscuring where changes apply. Making ownership explicit supports first-class remote environments and complements #4559 and #4564.
UI Changes
Before: one flat settings navigation and a General page mixing client preferences with environment configuration.
After: labeled Client and Environment navigation groups with separate General pages. The affected flows were verified in an authenticated web client; the preview screenshot/recording endpoint failed during capture, so no reliable artifact is attached.
Checklist
Verification
vp test run src/components/settings/SettingsSidebarNav.test.ts --project unitvp linton the six affected filesvp buildinapps/weborigin/mainNote
Low Risk
UI and settings-layout refactor with no auth or data-model changes; behavior is mostly route and panel partitioning with a test locking nav structure.
Overview
Settings navigation is now grouped under Client and Environment labels, with routes split so client pages (General, Connections, Beta, Archive) sit apart from environment pages (General, Keybindings, Providers, Source Control).
The former mixed General screen is split:
/settings/generalshows client-owned UI preferences and About;/settings/environmentis a new route for execution-environment options (streaming, git fetch, new-thread defaults, text generation model, etc.) plus a Diagnostics section moved off the client page.Restore defaults takes a
SettingsOwnershipargument and only lists and resets settings for the active page—client vs environment—instead of one combined reset.Reviewed by Cursor Bugbot for commit 39c0a87. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Split settings into separate Client and Environment pages
/settings/environmentroute rendered byEnvironmentSettingsPanel, which shows environment-scoped settings (streaming, providers, git, worktrees, model selection).GeneralSettingsPanelto render only client-scoped settings (theme, UI, confirmations) via the newOwnershipSettingsPanelcomponent.SETTINGS_NAV_ITEMSarray withSETTINGS_NAV_GROUPS, adding labeled 'Client' and 'Environment' groups in the settings sidebar.Macroscope summarized 39c0a87.