diff --git a/src/common/user-store/user-store.ts b/src/common/user-store/user-store.ts index d6626b3390..1856394a93 100644 --- a/src/common/user-store/user-store.ts +++ b/src/common/user-store/user-store.ts @@ -107,7 +107,9 @@ export class UserStore extends BaseStore /* implements UserStore return this.shell || process.env.SHELL || process.env.PTYSHELL; } - readonly isAllowedToDowngrade = new SemVer(getAppVersion()).prerelease[0] !== "latest"; + @computed get isAllowedToDowngrade() { + return new SemVer(getAppVersion()).prerelease[0] !== this.updateChannel; + } startMainReactions() { // track telemetry availability diff --git a/src/main/app-updater.ts b/src/main/app-updater.ts index 3813d24bf1..dffe3b9999 100644 --- a/src/main/app-updater.ts +++ b/src/main/app-updater.ts @@ -131,9 +131,13 @@ export const startUpdateChecking = once(function (interval = 1000 * 60 * 60 * 24 }); export async function checkForUpdates(): Promise { + const userStore = UserStore.getInstance(); + try { logger.info(`📡 Checking for app updates`); + autoUpdater.channel = userStore.updateChannel; + autoUpdater.allowDowngrade = userStore.isAllowedToDowngrade; await autoUpdater.checkForUpdates(); } catch (error) { logger.error(`${AutoUpdateLogPrefix}: failed with an error`, { error: String(error) });