Skip to content

Fix updater: channel follows the running build (rc→beta, stable→stable) - #35

Merged
CSSFrancis merged 1 commit into
mainfrom
fix/updater-channel-follows-build
Jul 21, 2026
Merged

Fix updater: channel follows the running build (rc→beta, stable→stable)#35
CSSFrancis merged 1 commit into
mainfrom
fix/updater-channel-follows-build

Conversation

@CSSFrancis

Copy link
Copy Markdown
Owner

The updater channel defaulted to `stable`, so an rc install checked the stable feed — which doesn't exist yet (only prereleases have shipped) → the update check errored. This is the "no stable release throws an error" bug.

Fix

  • Default channel follows THIS build's version: a prerelease build (`…-rc.N`/`-beta.N`/`-alpha.N`) tracks beta; a plain `X.Y.Z` tracks stable (`defaultChannelForVersion` / `isPrereleaseVersion`, pure + unit-tested cross-OS). An explicit user choice (dialog radio, persisted) still overrides.
  • "No release for this channel" → up-to-date, not error (`isNoReleaseForChannel`): a stable build with no stable release yet says "you're up to date" instead of failing.

Tests

4 new `node:test` cases (rc→beta, stable→stable, garbage-tolerant). Typecheck + build clean.

Note: this ships in the NEXT build; existing rc.8 installs already have the old default baked in, so they may still need one manual update to a build containing this fix.

…le→stable)

The channel defaulted to 'stable', so an rc install checked the stable feed —
which doesn't exist yet (only prereleases have shipped) → the update check errored.

Derive the DEFAULT channel from this build's own version: a prerelease build
(…-rc.N / -beta.N / -alpha.N) tracks beta, a plain X.Y.Z tracks stable
(defaultChannelForVersion / isPrereleaseVersion, pure + unit-tested cross-OS). An
explicit user choice (the dialog radio, persisted) still overrides. Also: a "no
release for this channel" result now reports as up-to-date (isNoReleaseForChannel),
not a scary error — so a stable build with no stable release yet says "you're up
to date" instead of failing.

4 new node:test cases. Typecheck + build clean.
@CSSFrancis
CSSFrancis merged commit b254c04 into main Jul 21, 2026
20 of 21 checks passed
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