fix: only call quit and install after update downloaded event

improved some log messages
pull/3281/head
yougotwill 3 months ago
parent bdcc776431
commit 0b17652867

@ -37,7 +37,7 @@ async function fetchReleaseFromFSAndUpdateMain(userEd25519SecretKey: Uint8Array)
const [releaseVersion, releaseChannel] = justFetched; const [releaseVersion, releaseChannel] = justFetched;
window.log.info( window.log.info(
`[updater] fetched ${releaseChannel} release from fileserver: ${releaseVersion}` `[updater] renderer process fetched from the ${releaseChannel} release channel on the fileserver: ${releaseVersion}`
); );
if (isString(releaseVersion) && !isEmpty(releaseVersion)) { if (isString(releaseVersion) && !isEmpty(releaseVersion)) {

@ -11,6 +11,7 @@ import * as fs from 'fs-extra';
import * as path from 'path'; import * as path from 'path';
import { gt as isVersionGreaterThan, parse as parseVersion } from 'semver'; import { gt as isVersionGreaterThan, parse as parseVersion } from 'semver';
import filesize from 'filesize';
import { windowMarkShouldQuit } from '../node/window_state'; import { windowMarkShouldQuit } from '../node/window_state';
import { UPDATER_INTERVAL_MS } from '../session/constants'; import { UPDATER_INTERVAL_MS } from '../session/constants';
@ -30,14 +31,16 @@ let interval: NodeJS.Timeout | undefined;
let stopped = false; let stopped = false;
autoUpdater.on(DOWNLOAD_PROGRESS, eventDownloadProgress => { autoUpdater.on(DOWNLOAD_PROGRESS, eventDownloadProgress => {
const progress = eventDownloadProgress.transferred / eventDownloadProgress.total; const progress = (eventDownloadProgress.transferred / eventDownloadProgress.total) * 100;
console.log( console.log(
`[updater] download progress: ${progress} eventDownloadProgress.transferred ${eventDownloadProgress.transferred} eventDownloadProgress.total ${eventDownloadProgress.total}` `[updater] download progress: ${progress} download size ${filesize(eventDownloadProgress.total, { base: 10 })}`
); );
}); });
autoUpdater.on(UPDATE_DOWNLOADED, () => { autoUpdater.on(UPDATE_DOWNLOADED, () => {
console.log('[updater] update downloaded'); console.log('[updater] update downloaded');
console.info('[updater] calling quitAndInstall...');
autoUpdater.quitAndInstall();
}); });
export async function start( export async function start(
@ -91,7 +94,9 @@ async function checkForUpdates(
logger: LoggerType logger: LoggerType
) { ) {
if (stopped || isUpdating || downloadIgnored) { if (stopped || isUpdating || downloadIgnored) {
logger.info('[updater] checkForUpdates stopped or isUpdating or downloadIgnored'); logger.info(
`[updater] checkForUpdates is returning early stopped ${stopped} isUpdating ${isUpdating} downloadIgnored ${downloadIgnored}`
);
return; return;
} }
@ -106,14 +111,14 @@ async function checkForUpdates(
isUpdating = true; isUpdating = true;
try { try {
const [latestVersionFromFsFromRenderer, releaseChannelFromFsFromRenderer] = getLatestRelease(); const [updateVersionFromFsFromRenderer, releaseChannelFromFsFromRenderer] = getLatestRelease();
logger.info( logger.info(
`[updater] checkForUpdates latestVersionFromFsFromRenderer ${latestVersionFromFsFromRenderer} releaseChannelFromFsFromRenderer ${releaseChannelFromFsFromRenderer}` `[updater] checkForUpdates updateVersionFromFsFromRenderer ${updateVersionFromFsFromRenderer} releaseChannelFromFsFromRenderer ${releaseChannelFromFsFromRenderer}`
); );
if (!latestVersionFromFsFromRenderer || !latestVersionFromFsFromRenderer?.length) { if (!updateVersionFromFsFromRenderer || !updateVersionFromFsFromRenderer?.length) {
logger.info( logger.info(
'[updater] checkForUpdates testVersionFromFsFromRenderer was not updated yet by renderer. Skipping update check' '[updater] checkForUpdates updateVersionFromFsFromRenderer has not updated yet by the renderer process yet. Skipping update check'
); );
return; return;
} }
@ -128,11 +133,11 @@ async function checkForUpdates(
} }
const currentVersion = autoUpdater.currentVersion.toString(); const currentVersion = autoUpdater.currentVersion.toString();
const isMoreRecent = isVersionGreaterThan(latestVersionFromFsFromRenderer, currentVersion); const isMoreRecent = isVersionGreaterThan(updateVersionFromFsFromRenderer, currentVersion);
logger.info('[updater] checkForUpdates isMoreRecent', isMoreRecent); logger.info('[updater] checkForUpdates isMoreRecent', isMoreRecent);
if (!isMoreRecent) { if (!isMoreRecent) {
logger.info( logger.info(
`[updater] File server has no update so we are not looking for an update from github current:${currentVersion} fromFileServer:${latestVersionFromFsFromRenderer}` `[updater] File server has no update so we are not looking for an update from github current:${currentVersion} fromFileServer:${updateVersionFromFsFromRenderer}`
); );
return; return;
} }
@ -194,9 +199,8 @@ async function checkForUpdates(
return; return;
} }
logger.info('[updater] calling quitAndInstall...'); logger.info('[updater] calling windowMarkShouldQuit...');
windowMarkShouldQuit(); windowMarkShouldQuit();
autoUpdater.quitAndInstall();
} finally { } finally {
isUpdating = false; isUpdating = false;
} }

Loading…
Cancel
Save