handle prerelease versions in autoupdater beta channel

This commit is contained in:
jeffvli 2025-10-12 02:33:49 -07:00
parent 9f8d9a5b28
commit f9679f3bda

View file

@ -23,6 +23,7 @@ import { access, constants, readFile, writeFile } from 'fs';
import path, { join } from 'path'; import path, { join } from 'path';
import { deflate, inflate } from 'zlib'; import { deflate, inflate } from 'zlib';
import packageJson from '../../package.json';
import { disableMediaKeys, enableMediaKeys } from './features/core/player/media-keys'; import { disableMediaKeys, enableMediaKeys } from './features/core/player/media-keys';
import { shutdownServer } from './features/core/remote'; import { shutdownServer } from './features/core/remote';
import { store } from './features/core/settings'; import { store } from './features/core/settings';
@ -43,11 +44,33 @@ export default class AppUpdater {
constructor() { constructor() {
log.transports.file.level = 'info'; log.transports.file.level = 'info';
autoUpdater.logger = autoUpdaterLogInterface; autoUpdater.logger = autoUpdaterLogInterface;
autoUpdater.checkForUpdatesAndNotify();
if (store.get('release_channel') === 'beta') { const isBetaVersion = packageJson.version.includes('-beta');
autoUpdater.channel = 'beta'; const releaseChannel = store.get('release_channel');
const isNotConfigured = !releaseChannel;
console.log('Release channel: ', releaseChannel);
console.log('Is beta version: ', isBetaVersion);
if (isNotConfigured) {
console.log(
'Release channel not configured, setting to ',
isBetaVersion ? 'beta' : 'latest',
);
store.set('release_channel', isBetaVersion ? 'beta' : 'latest');
} }
if (releaseChannel === 'beta') {
autoUpdater.channel = 'beta';
autoUpdater.allowPrerelease = true;
autoUpdater.disableDifferentialDownload = true;
} else if (releaseChannel === 'latest') {
autoUpdater.channel = 'latest';
autoUpdater.allowDowngrade = true;
autoUpdater.allowPrerelease = false;
}
autoUpdater.checkForUpdatesAndNotify();
} }
} }