From 24d9d3b3ec3a591f46949979b4bb62ab72dc8de9 Mon Sep 17 00:00:00 2001 From: Raymond Jacobson Date: Wed, 14 Sep 2022 16:39:53 -0700 Subject: [PATCH] [C-838] Fix desktop update banner flow (#1719) * [C-838] Avoid sending auto update when only patch * Fix * Fix var --- packages/web/src/electron.js | 2 ++ packages/web/src/pages/App.js | 30 +++++++++--------------------- 2 files changed, 11 insertions(+), 21 deletions(-) diff --git a/packages/web/src/electron.js b/packages/web/src/electron.js index 75359cd220..590d566b01 100644 --- a/packages/web/src/electron.js +++ b/packages/web/src/electron.js @@ -468,6 +468,7 @@ ipcMain.on('quit', (event, arg) => { app.exit(0) }) +// We have finished downloading the electron update autoUpdater.on('update-downloaded', (info) => { console.log('update-downloaded', info) canUpdate = true @@ -475,6 +476,7 @@ autoUpdater.on('update-downloaded', (info) => { if (mainWindow) mainWindow.webContents.send('updateDownloaded', info) }) +// We have discovered that there is an available electron update autoUpdater.on('update-available', (info) => { console.log('update-available', info) info.currentVersion = autoUpdater.currentVersion.version diff --git a/packages/web/src/pages/App.js b/packages/web/src/pages/App.js index c49ba23df7..8e130832b4 100644 --- a/packages/web/src/pages/App.js +++ b/packages/web/src/pages/App.js @@ -207,10 +207,13 @@ class App extends Component { showCTABanner: false, showWeb3ErrorBanner: null, - showUpdateAppBanner: false, + // A patch version update of the web app is available showWebUpdateBanner: false, - showRequiresUpdate: false, + // A version update of the web app is required showRequiresWebUpdate: false, + // A minor version update of the entire electron app is required + showRequiresUpdate: false, + isUpdating: false, initialPage: true, @@ -253,7 +256,6 @@ class App extends Component { // We downloaded an update, the user can safely restart this.ipc.on('updateDownloaded', (event, arg) => { console.info('updateDownload', event, arg) - this.setState({ showUpdateAppBanner: true }) }) this.ipc.on('updateDownloadProgress', (event, arg) => { @@ -276,7 +278,7 @@ class App extends Component { if (semver.lt(currentVersion, minAppVersion)) { this.setState({ showRequiresWebUpdate: true }) } else { - this.setState({ showWebUpdate: true }) + this.setState({ showWebUpdateBanner: true }) } }) @@ -424,9 +426,6 @@ class App extends Component { } acceptUpdateApp = () => { - if (this.state.showUpdateAppBanner) { - this.dismissUpdateAppBanner() - } this.setState({ isUpdating: true }) this.ipc.send('update') } @@ -441,10 +440,6 @@ class App extends Component { this.ipc.send('web-update') } - dismissUpdateAppBanner = () => { - this.setState({ showUpdateAppBanner: false }) - } - dismissUpdateWebAppBanner = () => { this.setState({ showWebUpdateBanner: false }) } @@ -474,8 +469,7 @@ class App extends Component { const { showCTABanner, - showUpdateAppBanner, - showWebUpdate, + showWebUpdateBanner, showWeb3ErrorBanner, isUpdating, showRequiresUpdate, @@ -504,7 +498,7 @@ class App extends Component { ) const showBanner = - showCTABanner || showUpdateAppBanner || showWeb3ErrorBanner + showCTABanner || showWeb3ErrorBanner || showWebUpdateBanner if (this.headerGutterRef.current) { if (showBanner) { this.headerGutterRef.current.classList.add(styles.bannerMargin) @@ -527,12 +521,6 @@ class App extends Component { onAccept={this.showDownloadAppModal} /> ) : null} - {showUpdateAppBanner ? ( - - ) : null} {showWeb3ErrorBanner ? ( ) : null} - {showWebUpdate ? ( + {showWebUpdateBanner ? (