Rename all app UserDefaults keys to the cotabby prefix#238
Merged
Conversation
Follows the project rename for full consistency: every app-owned key now uses a cotabby* prefix, including the previously unprefixed engine, word-count, onboarding, accepted-word-count, and selected-model keys. This intentionally drops backward compatibility — existing users' stored settings reset to defaults on first launch after upgrade. We accept that over carrying a permanent migration shim for the old tabby* names.
Comment on lines
11
to
13
| 194B33B52FC3F33B00DF6F60 /* Logging in Frameworks */ = {isa = PBXBuildFile; productRef = 194B33B42FC3F33B00DF6F60 /* Logging */; }; | ||
| 19E177EA2FC1B7890067E267 /* CotabbyInference in Frameworks */ = {isa = PBXBuildFile; productRef = 19E177E92FC1B7890067E267 /* CotabbyInference */; }; | ||
| 8B6282F0C1CCA0746D96B914 /* DownloadOutcomeClassifierTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 562F89255AF340C15A0554BE /* DownloadOutcomeClassifierTests.swift */; }; |
Contributor
There was a problem hiding this comment.
Unrelated LlamaSwift framework removal
The PBXBuildFile entry for LlamaSwift in Frameworks (A1C3E0012F90000100AAA001) is dropped here with no corresponding re-addition anywhere in the diff, and the PR description says "only the key string literals change." The test-file reference moves (ClipboardRelevanceFilterTests, ClipboardContentDistillerTests) are just Xcode sort-order churn, but this LlamaSwift entry is a genuine deletion. If this was intentional (e.g., superseded by CotabbyInference), it should be noted in the PR description so reviewers can verify the build still links correctly against anything that previously depended on it.
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
Renames every app-owned
UserDefaultskey to acotabby*prefix for consistency with the project rename. Covers the 14 already-prefixedtabby*keys plus the previously unprefixedselectedSuggestionEngine,selectedSuggestionWordCountPreset,onboardingCompleted,totalTabAcceptedWordCount, andselectedRuntimeModelFilename.Only the key string literals change; the Swift identifiers are untouched.
Validation
Linked issues
None.
Risk / rollout notes
Greptile Summary
This PR renames every app-owned
UserDefaultskey from the oldtabby*/unprefixed naming to a uniformcotabby*prefix, covering 19 keys spread across four Swift files. The PR explicitly accepts the one-time settings reset for existing users and documents that no migration shim is included.SuggestionSettingsModel, plus the four keys inSuggestionCoordinator,WelcomeCoordinator, andRuntimeBootstrapModel, are consistently renamed; logic, persistence patterns, and Swift identifiers are untouched.project.pbxprojdiff includes test-file reference reordering (Xcode cosmetic churn) and an unexplained deletion of theLlamaSwift in Frameworksbuild-file entry, which is outside the stated scope of this PR and deserves explicit confirmation.Confidence Score: 3/5
The key-rename changes themselves are clean and consistent, but the project file deletes a LlamaSwift framework entry that is unrelated to the stated scope and needs explicit confirmation before merging.
The Swift changes are mechanical and correct — every key literal is updated, persistence and read logic are unchanged, and the intentional settings reset is clearly documented. The concern is in project.pbxproj: the LlamaSwift in Frameworks build-file entry is removed without explanation. If LlamaSwift is still imported anywhere in the main target, this deletion would produce a linker failure that only surfaces at link time, not during a source-only build step. The PR reports a build success, which is encouraging, but the mismatch between the stated scope and the actual diff warrants a closer look before merging.
Cotabby.xcodeproj/project.pbxproj — the LlamaSwift framework deletion should be confirmed as intentional.
Important Files Changed
Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A[App Launch] --> B{UserDefaults key exists?} B -- "Old tabby* / unprefixed key (pre-PR)" --> C[Key not found → use default] B -- "New cotabby* key (post-PR)" --> D[Read persisted value] C --> E[Write default to new cotabby* key] D --> F[Use stored value] subgraph Renamed Keys K1["tabbyGloballyEnabled → cotabbyGloballyEnabled"] K2["selectedSuggestionEngine → cotabbySelectedEngine"] K3["onboardingCompleted → cotabbyOnboardingCompleted"] K4["totalTabAcceptedWordCount → cotabbyTotalAcceptedWordCount"] K5["selectedRuntimeModelFilename → cotabbySelectedModelFilename"] K6["tabby* × 14 → cotabby* × 14"] endReviews (1): Last reviewed commit: "Rename all app UserDefaults keys to the ..." | Re-trigger Greptile