Skip to content

fix: give each architecture its own appcast item - #184

Open
aslilac wants to merge 1 commit into
mainfrom
lilac/appcast-per-arch-items
Open

aslilac wants to merge 1 commit into
mainfrom
lilac/appcast-per-arch-items

Conversation

@aslilac

@aslilac aslilac commented Oct 8, 2026

Copy link
Copy Markdown
Member

ARM64 installs never see updates. Update-AppCast.ps1 writes a single appcast item with both the x64 and arm64 enclosures, but NetSparkle reads only the first enclosure of each item (XMLAppCastGenerator.cs). So every item parses as win-x64, and our OS filter drops it on ARM64.

This change has the script write one item per architecture, each with a single enclosure. All existing items for the channel are replaced, so re-running stays idempotent. Existing clients pick up the fix without updating, since only the appcast changes.

The live appcast will be fixed by the next release that runs this script. Until then, ARM64 users on 0.8.4 won't see 0.8.5.

Verification

I ran the script under pwsh 7.4 on Linux with stubbed gh.exe and openssl.exe, starting from the live appcast. Then I ran it again on its own output. I parsed each file with NetSparkle 3.0.3's XMLAppCastGenerator and applied the app's channel, OS, and version filter for an installed 0.8.4:

Appcast win-x64 win-arm64
live (0.8.5) 0.8.5 no update
after run 1 (0.8.6) 0.8.6 0.8.6
after run 2 (0.8.7) 0.8.7 0.8.7

The output has 2 items after each run.


Generated by Coder Agents.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant