diff --git a/app/src/electron.js b/app/src/electron.js index fca480956..88808ad9b 100644 --- a/app/src/electron.js +++ b/app/src/electron.js @@ -17,6 +17,7 @@ const path = require('path'); const url = require('url'); const mainMenuDefinition = require('./mainMenuDefinition'); const { settings } = require('cluster'); +let disableAutoUpgrade = false; // require('@electron/remote/main').initialize(); @@ -49,11 +50,21 @@ const isMac = () => os.platform() == 'darwin'; try { initialConfig = JSON.parse(fs.readFileSync(configRootPath, { encoding: 'utf-8' })); + disableAutoUpgrade = initialConfig['disableAutoUpgrade'] || false; } catch (err) { console.log('Error loading config-root:', err.message); initialConfig = {}; } +if (process.argv.includes('--disable-auto-upgrade')) { + console.log('Disabling auto-upgrade'); + disableAutoUpgrade = true; +} +if (process.argv.includes('--enable-auto-upgrade')) { + console.log('Enabling auto-upgrade'); + disableAutoUpgrade = false; +} + // Keep a global reference of the window object, if you don't, the window will // be closed automatically when the JavaScript object is garbage collected. let mainWindow; @@ -321,6 +332,7 @@ function createWindow() { JSON.stringify({ winBounds: mainWindow.getBounds(), winIsMaximized: mainWindow.isMaximized(), + disableAutoUpgrade, }), 'utf-8' ); @@ -383,7 +395,10 @@ function createWindow() { } function onAppReady() { - if (!process.env.DEVMODE) { + if (disableAutoUpgrade) { + console.log('Auto-upgrade is disabled, run dbgate --enable-auto-upgrade to enable'); + } + if (!process.env.DEVMODE && !disableAutoUpgrade) { autoUpdater.checkForUpdatesAndNotify(); } createWindow();