fix: publish updater manifest with public download URLs - #126
Merged
mattenarle10 merged 1 commit intoJul 28, 2026
Merged
Conversation
11suixing11
marked this pull request as ready for review
July 28, 2026 06:23
11suixing11
force-pushed
the
fix/latest-json-download-urls
branch
from
July 28, 2026 06:25
871584d to
e097e9c
Compare
mattenarle10
approved these changes
Jul 28, 2026
mattenarle10
left a comment
Owner
There was a problem hiding this comment.
Reviewed the release normalization workflow and focused tests. Local validation passed; approving for merge.
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.
Fixes #124.
What changed
latest.jsonplatform URLs from GitHub REST release asset API endpoints to the matching publicreleases/downloadURLs.publish-releasejob before the draft release is made public, then re-uploadlatest.jsonwith--clobber.latest.jsonasset exists.Why
Tauri's generated updater manifest can point package URLs at
https://api.github.com/repos/.../releases/assets/<id>. Installed clients fetch those URLs without a token, so a shared public IP can exhaust GitHub's unauthenticated REST API quota and make update installation fail with HTTP 403 even though the public release asset itself is still downloadable.Keeping the manifest on public
https://github.com/.../releases/download/...URLs avoids the REST API quota path and fixes the release pipeline instead of requiring a client token or hiding the updater error.Verification
node --test tests/normalize-latest-json.test.mjsv1.7.1release manifest and asset list: normalized 11 platform URLs, 0api.github.comREST asset URLs remaining, 11 public release download URLsnode --check scripts/normalize-latest-json.mjs && node --check tests/normalize-latest-json.test.mjsbun testbun run buildbunx tsc --noEmitgit diff --checkNot run locally:
cargo check --releasebecause this machine does not have a Rust toolchain installed; this PR does not change Rust code.