fix: try to catch UPDATE_DOWNLOADED event

pull/3281/head
yougotwill 2 months ago
parent 0b17652867
commit f378118032

@ -38,9 +38,11 @@ autoUpdater.on(DOWNLOAD_PROGRESS, eventDownloadProgress => {
}); });
autoUpdater.on(UPDATE_DOWNLOADED, () => { autoUpdater.on(UPDATE_DOWNLOADED, () => {
isUpdating = true;
console.log('[updater] update downloaded'); console.log('[updater] update downloaded');
console.info('[updater] calling quitAndInstall...'); console.info('[updater] calling quitAndInstall...');
autoUpdater.quitAndInstall(); autoUpdater.quitAndInstall();
isUpdating = true;
}); });
export async function start( export async function start(
@ -113,16 +115,17 @@ async function checkForUpdates(
try { try {
const [updateVersionFromFsFromRenderer, releaseChannelFromFsFromRenderer] = getLatestRelease(); const [updateVersionFromFsFromRenderer, releaseChannelFromFsFromRenderer] = getLatestRelease();
logger.info(
`[updater] checkForUpdates updateVersionFromFsFromRenderer ${updateVersionFromFsFromRenderer} releaseChannelFromFsFromRenderer ${releaseChannelFromFsFromRenderer}`
);
if (!updateVersionFromFsFromRenderer || !updateVersionFromFsFromRenderer?.length) { if (!updateVersionFromFsFromRenderer || !updateVersionFromFsFromRenderer?.length) {
logger.info( logger.info(
'[updater] checkForUpdates updateVersionFromFsFromRenderer has not updated yet by the renderer process yet. Skipping update check' '[updater] checkForUpdates getLatestRelease() has not been called by the renderer process yet. Skipping update check'
); );
return; return;
} }
logger.info(
`[updater] checkForUpdates updateVersionFromFsFromRenderer ${updateVersionFromFsFromRenderer} releaseChannelFromFsFromRenderer ${releaseChannelFromFsFromRenderer}`
);
if (releaseChannelFromFsFromRenderer !== 'latest') { if (releaseChannelFromFsFromRenderer !== 'latest') {
// we only allow pre-release updates if the release channel is alpha // we only allow pre-release updates if the release channel is alpha
autoUpdater.allowPrerelease = releaseChannelFromFsFromRenderer === 'alpha'; autoUpdater.allowPrerelease = releaseChannelFromFsFromRenderer === 'alpha';
@ -145,13 +148,15 @@ async function checkForUpdates(
// Get the update using electron-updater, this fetches from github // Get the update using electron-updater, this fetches from github
const result = await autoUpdater.checkForUpdates(); const result = await autoUpdater.checkForUpdates();
logger.info('[updater] checkForUpdates got github response back', result);
if (!result?.updateInfo) { if (!result?.updateInfo) {
logger.info('[updater] no update info received'); logger.info('[updater] received no updateInfo in response from GitHub');
return; return;
} }
logger.info(
`[updater] checkForUpdates received response from GitHub at ${new Date().toISOString()} version: ${result?.updateInfo?.version}`
);
try { try {
const hasUpdate = isUpdateAvailable(result.updateInfo); const hasUpdate = isUpdateAvailable(result.updateInfo);
logger.info('[updater] hasUpdate:', hasUpdate); logger.info('[updater] hasUpdate:', hasUpdate);
@ -187,6 +192,7 @@ async function checkForUpdates(
await showCannotUpdateDialog(mainWindow, i18n); await showCannotUpdateDialog(mainWindow, i18n);
throw error; throw error;
} }
const window = getMainWindow(); const window = getMainWindow();
if (!window) { if (!window) {
logger.error('[updater] cannot showDownloadUpdateDialog, mainWindow is unset'); logger.error('[updater] cannot showDownloadUpdateDialog, mainWindow is unset');
@ -201,6 +207,7 @@ async function checkForUpdates(
logger.info('[updater] calling windowMarkShouldQuit...'); logger.info('[updater] calling windowMarkShouldQuit...');
windowMarkShouldQuit(); windowMarkShouldQuit();
logger.info('[updater] UPDATE_DOWNLOADED event should be emitted soon...', UPDATE_DOWNLOADED);
} finally { } finally {
isUpdating = false; isUpdating = false;
} }

Loading…
Cancel
Save