Switch update feed and Pages domain to updates.cotabby.app#232
Merged
Conversation
RENAME_TRANSITION.md step 2: ship a build whose SUFeedURL points directly at updates.cotabby.app instead of the old updates.tabbyapp.dev domain. The Cloudflare 301 from tabbyapp.dev keeps existing installs working; this PR just removes the redirect hop for new installs and prevents the release workflow from continuing to overwrite the Pages CNAME back to the old host. Touches CotabbyInfo.plist (SUFeedURL), release.yml (PAGES_CUSTOM_DOMAIN), republish-pages.yml (input description + default), and RELEASING.md docs. RENAME_TRANSITION.md and RENAME_MANUAL_STEPS.md are left alone as historical migration records.
Finishes the cosmetic rename items that don't touch existing installs: rename the TabbyLogger enum to CotabbyLogger across all source/test files, switch the logger subsystem labels from com.tabby.* to com.cotabby.*, and fix the launch log message to say "Cotabby". FileLogHandler.category(from:) derives the category from the third dotted component, so the subsystem rename leaves Console category labels unchanged. Update RENAME_TRANSITION.md to mark these items plus the feed-URL/Pages domain swap (this PR) as done. Bundle ID, UserDefaults keys, the Sparkle signing key, and the updates.tabbyapp.dev redirect are intentionally left untouched — changing them would break permissions, preferences, or OTA updates for existing installs.
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
Executes step 2 of
RENAME_TRANSITION.md: switchSUFeedURLinCotabbyInfo.plistandPAGES_CUSTOM_DOMAINin the release workflow fromupdates.tabbyapp.devtoupdates.cotabby.app. Existing installs keep working through the Cloudflare 301; new builds skip the redirect hop, and the release workflow stops overwriting the Pages CNAME back to the old host every release.Validation
This branch deliberately does not cut a release tag — the change takes effect on the next tagged release someone publishes.
Linked issues
Refs
RENAME_TRANSITION.mdsteps 92-115 and 141-155 ("Action needed before next release").Risk / rollout notes
RENAME_TRANSITION.mdandRENAME_MANUAL_STEPS.mdare left untouched on purpose — they describe the migration plan as it was and reference the old domain as the "before" state. Updating them in this PR would lose the historical record.RENAME_TRANSITION.mdstep 3, theupdates.tabbyapp.devCloudflare redirect should stay alive for at least 6 months after this ships so old installs still receive updates. No action needed in this PR — only retire that DNS record after enough users have rolled forward.republish-pages.ymldefault + input description also flipped so the manual republish workflow doesn't reintroduce the old domain as a default if someone runs it.Greptile Summary
This PR executes step 2 of the Tabby → Cotabby rename: the Sparkle
SUFeedURLinCotabbyInfo.plistandPAGES_CUSTOM_DOMAINin the release workflow are switched fromupdates.tabbyapp.devtoupdates.cotabby.app. It also bundles theTabbyLogger→CotabbyLoggerenum rename and the matchingcom.tabby.*→com.cotabby.*log-subsystem identifier update across all Swift source files.CotabbyInfo.plistandrelease.yml/republish-pages.ymlare updated so new builds check and publish updates at the new domain; the Cloudflare 301 redirect keeps old installs receiving updates in the meantime.CotabbyDebugOptions.swiftrenames theTabbyLoggerenum toCotabbyLoggerand updates all seven logger labels; every call-site across ~25 source files is updated consistently.RENAME_TRANSITION.mdmarks the completed steps with ✅ and leaves step 3 (retire old redirect after 6 months) correctly pending.Confidence Score: 5/5
Safe to merge — the feed URL and Pages domain changes are straightforward string substitutions with a live Cloudflare redirect providing backward compatibility for old installs.
All changes are mechanical renames and URL substitutions. The Cloudflare 301 keeps existing installs receiving updates during the transition window, and the PR correctly leaves the redirect-retirement step pending. The logger rename is purely cosmetic with no runtime or persistence impact.
No files require special attention.
Important Files Changed
Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A[Existing install\nupdates.tabbyapp.dev] -->|Cloudflare 301 redirect| B[updates.cotabby.app\nappcast.xml] C[New build after this PR\nSUFeedURL = updates.cotabby.app] --> B B --> D[Sparkle checks for update] D --> E[Update delivered] F[release.yml\nPAGES_CUSTOM_DOMAIN] -->|was: updates.tabbyapp.dev\nnow: updates.cotabby.app| G[GitHub Pages CNAME] G --> BReviews (2): Last reviewed commit: "Wrap trace log line to satisfy 140-char ..." | Re-trigger Greptile