Files
freno-dev/docs/sparkle-sufeedurl-migration.md
Michael Freno 37ed5170ed docs: add Sparkle appcast dual-host support documentation
- Add architecture overview for dual-host URL routing (freno.me and *.freno.me)
- Document Vercel JSON rewrite strategy for subdomain pass-through
- Include task completion summary with verification results
- Add SUFeedURL migration guide for new native builds
- Add shell script for verifying dual-host endpoint functionality
2026-07-23 10:55:35 -04:00

1.5 KiB

SUFeedURL Migration for New Native Builds

This document tracks the SUFeedURL change needed in the Gaze and InputHalo native Swift repos to use subdomain-based feed URLs.

Status

  • Gaze: Update SUFeedURL in Info.plist (~/Code/Gaze/)
  • InputHalo: Update SUFeedURL in Info.plist (~/Code/InputHalo/)

SUFeedURL Changes

Gaze

File: ~/Code/Gaze/ — Info.plist

Current (Legacy):

https://freno.me/api/Gaze/appcast.xml

New (Subdomain):

https://gaze.freno.me/api/Gaze/appcast.xml

InputHalo

File: ~/Code/InputHalo/ — Info.plist

Current (Legacy):

https://freno.me/api/InputHalo/appcast.xml

New (Subdomain):

https://inputhalo.freno.me/api/InputHalo/appcast.xml

Migration Notes

  1. Keep legacy URL working: Old builds continue to work via the /api/* pass-through rewrite on Vercel
  2. No appcast regeneration needed: The same S3 appcast files serve both URLs
  3. EdDSA signatures are host-independent: No signature changes needed
  4. Test before release: Verify Sparkle detects updates with the new subdomain URL in a dev build

Verification Steps

  1. Set SUFeedURL in Info.plist to new subdomain URL
  2. Build the app
  3. In the app: "Check for Updates..." → Should find the latest version
  4. Verify the download completes successfully
  5. Verify the EdDSA signature verification passes