diff --git a/.changeset/poor-parents-search.md b/.changeset/poor-parents-search.md new file mode 100644 index 000000000..21c6f5b33 --- /dev/null +++ b/.changeset/poor-parents-search.md @@ -0,0 +1,5 @@ +--- +"@rino.app/electron": patch +--- + +Allow update to a prerelease version. diff --git a/packages/electron-main/src/logger.ts b/packages/electron-main/src/logger.ts index d9e7a6730..300384c5a 100644 --- a/packages/electron-main/src/logger.ts +++ b/packages/electron-main/src/logger.ts @@ -1,3 +1,5 @@ import log from "electron-log" export const logger = log.scope("main") + +export const autoUpdaterLogger = log.scope("main:updater") diff --git a/packages/electron-main/src/updater.ts b/packages/electron-main/src/updater.ts index 8c2d3ff77..121222601 100644 --- a/packages/electron-main/src/updater.ts +++ b/packages/electron-main/src/updater.ts @@ -6,14 +6,13 @@ import crypto from "node:crypto" import { sleep } from "@rino.app/common" import { env } from "./env" -import { logger } from "./logger" +import { autoUpdaterLogger, logger } from "./logger" import { showMessageBoxOnFocusedWindow } from "./utils/dialog" type StoreData = { uuid: string skippedVersions: string[] - acceptAlpha: boolean - acceptBeta: boolean + allowPrerelease: boolean } let _store: Store | null = null @@ -28,10 +27,7 @@ function initVersionUpdateStore(): Store { skippedVersions: { type: "array", }, - acceptAlpha: { - type: "boolean", - }, - acceptBeta: { + allowPrerelease: { type: "boolean", }, } as const @@ -42,8 +38,7 @@ function initVersionUpdateStore(): Store { defaults: { uuid: "", skippedVersions: [], - acceptAlpha: false, - acceptBeta: false, + allowPrerelease: false, }, schema, }) @@ -99,7 +94,9 @@ async function checkForUpdatesAndNotify(isManually: boolean): Promise { try { const currentVersion = app.getVersion() - autoUpdater.logger = logger + autoUpdater.logger = autoUpdaterLogger + autoUpdater.allowPrerelease = initVersionUpdateStore().get("allowPrerelease") + autoUpdater.autoDownload = false const result = await autoUpdater.checkForUpdates() if (result) {