Fix Sparkle#110
Merged
Merged
Conversation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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
Check for updates would return error because the sparkle XML link was wrong and the sparkle public ed key wasnt inserted.
Validation
Linked issues
Risk / rollout notes
Greptile Summary
This PR fixes two misconfigurations that caused Sparkle's "Check for Updates" to fail: the feed URL in
TabbyInfo.plistpointed to the wrong path on the wrong subdomain, and the Release build configuration inproject.pbxprojstill held a placeholder instead of the real Ed25519 public key.SUFeedURLcorrected fromhttps://tabbyapp.dev/tabby/appcast.xmltohttps://updates.tabbyapp.dev/appcast.xml, with the CI workflow'sPAGES_CUSTOM_DOMAINand documentation updated to match.SPARKLE_PUBLIC_ED_KEYin the Release Xcode build config replaced with the actual public keyefJeZNfUISOs6npbxI2MLLe7sBB5tT/sVnTk9t/qBSY=, which already matched theSUPublicEDKeyinTabbyInfo.plistand the workflow's key-verification step.Confidence Score: 4/5
Safe to merge — the two broken Sparkle configs are correctly fixed and the key committed is a public verification key, not a secret.
The core fixes (feed URL and public key) are straightforward and consistent across TabbyInfo.plist, project.pbxproj, and the docs. The only rough edge is the release workflow still deploying a /tabby/appcast.xml copy that the updated docs say no longer exists, leaving a small discrepancy between code and documentation.
.github/workflows/release.yml lines 524–526: the stale /tabby/appcast.xml copy step should be cleaned up to match the updated docs.
Important Files Changed
updates.tabbyapp.dev; still deploys an unused/tabby/appcast.xmlcopy that docs now say is removed.https://updates.tabbyapp.dev/appcast.xml) and adds the Sparkle public key value.https://tabbyapp.dev/tabby/appcast.xmltohttps://updates.tabbyapp.dev/appcast.xml; SUPublicEDKey was already present.SPARKLE_PUBLIC_ED_KEYplaceholder replaced with the actual Ed25519 public key, matching the value inTabbyInfo.plist.Sequence Diagram
sequenceDiagram participant App as Tabby.app participant Feed as updates.tabbyapp.dev/appcast.xml participant GH as GitHub Release App->>Feed: GET appcast.xml (SUFeedURL) Note over App,Feed: URL fixed: was tabbyapp.dev/tabby/appcast.xml Feed-->>App: appcast with edSignature + DMG URL App->>App: Verify edSignature with SUPublicEDKey Note over App: Key fixed: was placeholder in Release config App->>GH: Download Tabby.dmg GH-->>App: DMG App->>App: Install updateComments Outside Diff (1)
.github/workflows/release.yml, line 524-526 (link)/tabby/appcast.xmldeployment still presentThe Pages artifact preparation still copies the appcast to
build/pages/tabby/appcast.xml, butRELEASING.mdwas updated in this same PR to remove the/tabby/appcast.xmlpath from the documented Pages output and to state that only/appcast.xmlis the current feed URL. Since the CNAME now points toupdates.tabbyapp.dev, the oldtabbyapp.dev/tabby/appcast.xmlURL cannot be reached via this deployment anyway, making the extra copy dead output.Reviews (1): Last reviewed commit: "Update Sparkle feed URL to updates.tabby..." | Re-trigger Greptile