Remove legacy SettingsView and isRedesignEnabled flag#422
Merged
Conversation
The redesigned sidebar Settings (SettingsContainerView) has been the default since #407 and covers every legacy control. Drop the rollback escape hatch and the 955-line legacy view that nothing else referenced. Also strip the 'lifted from the legacy SettingsView' comments on the panes since the lineage they pointed at no longer exists. Users who opted out via 'defaults write ... cotabbySettingsRedesignEnabled -bool NO' are silently moved onto the redesign. The stale UserDefaults key becomes ignored and can be reaped later.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The redesigned sidebar Settings (
SettingsContainerView) has been the default since #407 and covers every legacy control. This deletes the 955-line legacySettingsViewand theisRedesignEnabledrollback escape hatch, and strips now-stale "lifted from the legacy SettingsView" comments on the redesigned panes.Net change: ~1013 lines removed, no behavior change for users who were on the redesign (everyone, unless they had manually opted out via
defaults write).Validation
xcodegen generatewas run after deletingCotabby/UI/SettingsView.swiftso the committed project drops the stale build input. The XcodeGen CI check should pass on the regenerated project.Linked issues
Refs #407 (the redesign that this flag was gating), #411, #421 (the About support copy churn that exposed how stale the legacy path was).
Risk / rollout notes
defaults write com.jacobfu.tabby cotabbySettingsRedesignEnabled -bool NOis silently moved onto the redesign. The flag is the entire rollback path being removed, so this is the intended effect.cotabbySettingsRedesignEnabledUserDefaults key on existing installs becomes ignored; harmless, can be reaped in a later release if desired.CotabbySettingsWindowV4is preserved exactly, so users keep their saved frame.TickMarkSlider,CustomRulesEditor,LanguageTagsEditor,KeyRecorderView,DownloadableModelCatalogView,HuggingFaceModelBrowserView,TagChip,AcceptanceModePickerView) are all retained — they are used by the redesigned panes and/or Welcome.Greptile Summary
Removes the 955-line legacy
SettingsViewand theisRedesignEnabledUserDefaults flag that gated the rollback path, now thatSettingsContainerViewhas been the universal default since #407.SettingsCoordinatoris simplified to unconditionally open the redesigned window, and stale "lifted from legacy" doc comments are pruned across the pane files.SettingsView.swiftdeleted: all functionality is covered by the existing redesigned panes (AppsPaneView,ShortcutsPaneView,WritingPaneView, etc.) and their shared components.SettingsCoordinatorsimplified: theif isRedesignEnabledbranch and its associated static key are removed; window frame, min size, and autosave name are now plain constants.project.pbxprojupdated:xcodegen generatewas run after the file deletion, so the build input references are clean and the XcodeGen CI check should pass.Confidence Score: 5/5
Safe to merge — this is a straightforward dead-code removal with no behavioral change for the current user population.
The only active path through SettingsCoordinator already pointed at SettingsContainerView, so deleting the unused branch and the legacy view it called is low-risk. The project file was regenerated via xcodegen, the autosave name is preserved, and all shared components referenced by the redesigned panes are retained. The stale UserDefaults key on existing installs becomes a no-op, which is the intended outcome.
No files require special attention. The coordinator simplification and the project file regeneration are the two most load-bearing changes, and both look correct.
Important Files Changed
Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A[User opens Settings] --> B[SettingsCoordinator.showSettings] B --> C{isRedesignEnabled?\nREMOVED} C -->|true - BEFORE| D[SettingsContainerView\nwith V4 frame / autosave] C -->|false - BEFORE| E[SettingsView DELETED\nwith legacy frame] B --> F[SettingsContainerView\nwith V4 frame / autosave\nAFTER - always] style C fill:#f99,stroke:#c33,color:#000 style E fill:#f99,stroke:#c33,color:#000 style F fill:#9f9,stroke:#393,color:#000Reviews (1): Last reviewed commit: "Remove legacy SettingsView and isRedesig..." | Re-trigger Greptile