diff --git a/apps/desktop/src/main.ts b/apps/desktop/src/main.ts index c5507c6fb0..9da0bd251b 100644 --- a/apps/desktop/src/main.ts +++ b/apps/desktop/src/main.ts @@ -1132,9 +1132,8 @@ function createBaseUpdateState( function applyAutoUpdaterChannel(channel: DesktopUpdateChannel): void { autoUpdater.channel = channel; autoUpdater.allowPrerelease = channel === "nightly"; - autoUpdater.allowDowngrade = channel === "nightly"; console.info( - `[desktop-updater] Using update channel '${channel}' (allowPrerelease=${channel === "nightly"}, allowDowngrade=${channel === "nightly"}).`, + `[desktop-updater] Using update channel '${channel}' (allowPrerelease=${channel === "nightly"}, allowDowngrade=${autoUpdater.allowDowngrade}).`, ); } @@ -1813,14 +1812,7 @@ function registerIpcHandlers(): void { } applyAutoUpdaterChannel(nextChannel); - const allowDowngrade = autoUpdater.allowDowngrade; - // An explicit channel switch should allow the immediate nightly->stable rollback path. - autoUpdater.allowDowngrade = true; - try { - await checkForUpdates("channel-change"); - } finally { - autoUpdater.allowDowngrade = allowDowngrade; - } + await checkForUpdates("channel-change"); return updateState; }); diff --git a/apps/desktop/src/updateChannels.test.ts b/apps/desktop/src/updateChannels.test.ts index f815fbd81c..464e61c45c 100644 --- a/apps/desktop/src/updateChannels.test.ts +++ b/apps/desktop/src/updateChannels.test.ts @@ -38,4 +38,8 @@ describe("doesVersionMatchDesktopUpdateChannel", () => { it("rejects nightly releases on the stable channel", () => { expect(doesVersionMatchDesktopUpdateChannel("0.0.17-nightly.20260416.1", "latest")).toBe(false); }); + + it("accepts stable releases on the stable channel", () => { + expect(doesVersionMatchDesktopUpdateChannel("0.0.17", "latest")).toBe(true); + }); });