fix(desktop): install the latest available update (#27953)
This commit is contained in:
parent
969d0f48b2
commit
f06b78751e
@ -6,8 +6,6 @@ import { initLogging } from "./logging"
|
|||||||
const logger = initLogging()
|
const logger = initLogging()
|
||||||
const { autoUpdater } = pkg
|
const { autoUpdater } = pkg
|
||||||
|
|
||||||
let downloadedUpdateVersion: string | undefined
|
|
||||||
|
|
||||||
export function setupAutoUpdater() {
|
export function setupAutoUpdater() {
|
||||||
if (!UPDATER_ENABLED) return
|
if (!UPDATER_ENABLED) return
|
||||||
autoUpdater.logger = logger
|
autoUpdater.logger = logger
|
||||||
@ -26,12 +24,6 @@ export function setupAutoUpdater() {
|
|||||||
|
|
||||||
export async function checkUpdate() {
|
export async function checkUpdate() {
|
||||||
if (!UPDATER_ENABLED) return { updateAvailable: false }
|
if (!UPDATER_ENABLED) return { updateAvailable: false }
|
||||||
if (downloadedUpdateVersion) {
|
|
||||||
logger.log("returning cached downloaded update", {
|
|
||||||
version: downloadedUpdateVersion,
|
|
||||||
})
|
|
||||||
return { updateAvailable: true, version: downloadedUpdateVersion }
|
|
||||||
}
|
|
||||||
logger.log("checking for updates", {
|
logger.log("checking for updates", {
|
||||||
currentVersion: app.getVersion(),
|
currentVersion: app.getVersion(),
|
||||||
channel: autoUpdater.channel,
|
channel: autoUpdater.channel,
|
||||||
@ -57,7 +49,6 @@ export async function checkUpdate() {
|
|||||||
logger.log("update available", { version })
|
logger.log("update available", { version })
|
||||||
await autoUpdater.downloadUpdate()
|
await autoUpdater.downloadUpdate()
|
||||||
logger.log("update download completed", { version })
|
logger.log("update download completed", { version })
|
||||||
downloadedUpdateVersion = version
|
|
||||||
return { updateAvailable: true, version }
|
return { updateAvailable: true, version }
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.error("update check failed", error)
|
logger.error("update check failed", error)
|
||||||
@ -66,14 +57,15 @@ export async function checkUpdate() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export async function installUpdate(killSidecar: () => Promise<void>) {
|
export async function installUpdate(killSidecar: () => Promise<void>) {
|
||||||
if (!downloadedUpdateVersion) {
|
const result = await checkUpdate()
|
||||||
|
if (!result.updateAvailable) {
|
||||||
logger.log("install update skipped", {
|
logger.log("install update skipped", {
|
||||||
reason: "no downloaded update ready",
|
reason: result.failed ? "update check failed" : "no update available",
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
logger.log("installing downloaded update", {
|
logger.log("installing downloaded update", {
|
||||||
version: downloadedUpdateVersion,
|
version: result.version ?? null,
|
||||||
})
|
})
|
||||||
await killSidecar()
|
await killSidecar()
|
||||||
autoUpdater.quitAndInstall()
|
autoUpdater.quitAndInstall()
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user