diff options
| author | Oskar Nyberg <oskar@mullvad.net> | 2020-04-21 16:00:36 +0200 |
|---|---|---|
| committer | Oskar Nyberg <oskar@mullvad.net> | 2020-04-21 16:00:36 +0200 |
| commit | 106937e21d66b19a9a291e7014b9f81a412e9933 (patch) | |
| tree | 111eff60bf18dd8421f7ea19901ce7b52f82e255 | |
| parent | 171530b04a5fdbc8c27fa4f29ee37a98545ab335 (diff) | |
| parent | 3526d44121d07b4ea1a4098f1d33d7b6bee43b17 (diff) | |
| download | mullvadvpn-106937e21d66b19a9a291e7014b9f81a412e9933.tar.xz mullvadvpn-106937e21d66b19a9a291e7014b9f81a412e9933.zip | |
Merge branch 'revert-electron-8'
| -rw-r--r-- | CHANGELOG.md | 3 | ||||
| -rw-r--r-- | gui/package-lock.json | 77 | ||||
| -rw-r--r-- | gui/package.json | 2 | ||||
| -rw-r--r-- | gui/src/main/index.ts | 28 | ||||
| -rw-r--r-- | gui/src/shared/ipc-event-channel.ts | 4 | ||||
| -rw-r--r-- | gui/test/setup/main.js | 3 |
6 files changed, 44 insertions, 73 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e7f7d129a..9c69a42001 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,9 @@ Line wrap the file at 100 chars. Th ### Added - Add shell completions for the mullvad CLI. +### Changed +- Downgrade to Electron 7 due to issues with tray icon in Electron 8. + ### Fixed #### Windows - Improve offline detection logic. diff --git a/gui/package-lock.json b/gui/package-lock.json index 5a05bb60e2..c0b8207d11 100644 --- a/gui/package-lock.json +++ b/gui/package-lock.json @@ -86,9 +86,9 @@ } }, "@electron/get": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.9.0.tgz", - "integrity": "sha512-OBIKtF6ttIJotDXe4KJMUyTBO4xMii+mFjlA8R4CORuD4HvCUaCK3lPjhdTRCvuEv6gzWNbAvd9DNBv0v780lw==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.7.2.tgz", + "integrity": "sha512-LSE4LZGMjGS9TloDx0yO44D2UTbaeKRk+QjlhWLiQlikV6J4spgDCjb6z4YIcqmPAwNzlNCnWF4dubytwI+ATA==", "dev": true, "requires": { "debug": "^4.1.1", @@ -97,7 +97,6 @@ "global-agent": "^2.0.2", "global-tunnel-ng": "^2.7.1", "got": "^9.6.0", - "progress": "^2.0.3", "sanitize-filename": "^1.6.2", "sumchecker": "^3.0.1" }, @@ -1367,9 +1366,9 @@ "dev": true }, "boolean": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.1.tgz", - "integrity": "sha512-HRZPIjPcbwAVQvOTxR4YE3o8Xs98NqbbL1iEZDCz7CL8ql0Lt5iOyJFxfnAB0oFs8Oh02F/lLlg30Mexv46LjA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.0.tgz", + "integrity": "sha512-OElxJ1lUSinuoUnkpOgLmxp0DC4ytEhODEL6QJU0NpxE/mI4rUSh8h1P1Wkvfi3xQEBcxXR2gBIPNYNuaFcAbQ==", "dev": true, "optional": true }, @@ -2659,9 +2658,9 @@ "dev": true }, "electron": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/electron/-/electron-8.2.0.tgz", - "integrity": "sha512-mnV43gKCrCUMHLmGws/DU/l8LhaxrFD53A4ofwtthdCqOZWGIdk1+eMphiVumXR5a3lC64XVvmXQ2k28i7F/zw==", + "version": "7.1.10", + "resolved": "https://registry.npmjs.org/electron/-/electron-7.1.10.tgz", + "integrity": "sha512-UDpS2CfBN3yufCrbET5Ozw1XrLhuANHn+Zs8Vgl/BcBT/MoNbkY79nRFcyxj6pCFrEde9IoNOf+DgNp6altNxw==", "dev": true, "requires": { "@electron/get": "^1.0.1", @@ -2670,9 +2669,9 @@ }, "dependencies": { "@types/node": { - "version": "12.12.31", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.31.tgz", - "integrity": "sha512-T+wnJno8uh27G9c+1T+a1/WYCHzLeDqtsGJkoEdSp2X8RTh3oOCZQcUnjAx90CS8cmmADX51O0FI/tu9s0yssg==", + "version": "12.12.25", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.25.tgz", + "integrity": "sha512-nf1LMGZvgFX186geVZR1xMZKKblJiRfiASTHw85zED2kI1yDKHDwTKMdkaCbTlXoRKlGKaDfYywt+V0As30q3w==", "dev": true } } @@ -4145,9 +4144,9 @@ }, "dependencies": { "mkdirp": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz", - "integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "dev": true, "requires": { "minimist": "^1.2.5" @@ -5200,25 +5199,25 @@ } }, "global-agent": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.8.tgz", - "integrity": "sha512-VpBe/rhY6Rw2VDOTszAMNambg+4Qv8j0yiTNDYEXXXxkUNGWLHp8A3ztK4YDBbFNcWF4rgsec6/5gPyryya/+A==", + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.7.tgz", + "integrity": "sha512-ooK7eqGYZku+LgnbfH/Iv0RJ74XfhrBZDlke1QSzcBt0bw1PmJcnRADPAQuFE+R45pKKDTynAr25SBasY2kvow==", "dev": true, "optional": true, "requires": { "boolean": "^3.0.0", - "core-js": "^3.6.4", + "core-js": "^3.4.1", "es6-error": "^4.1.1", - "matcher": "^2.1.0", - "roarr": "^2.15.2", - "semver": "^7.1.2", + "matcher": "^2.0.0", + "roarr": "^2.14.5", + "semver": "^6.3.0", "serialize-error": "^5.0.0" }, "dependencies": { "semver": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz", - "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, "optional": true } @@ -7300,9 +7299,9 @@ } }, "needle": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.3.3.tgz", - "integrity": "sha512-EkY0GeSq87rWp1hoq/sH/wnTWgFVhYlnIkbJ0YJFfRgEFlz2RraCjBpFQ+vrEgEdp0ThfyHADmkChEhcb7PKyw==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.4.1.tgz", + "integrity": "sha512-x/gi6ijr4B7fwl6WYL9FwlCvRQKGlUNvnceho8wxkwXqN8jvVmmmATTmZPRRG7b/yC1eode26C2HO9jl78Du9g==", "optional": true, "requires": { "debug": "^3.2.6", @@ -7417,9 +7416,9 @@ }, "dependencies": { "mkdirp": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz", - "integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "optional": true, "requires": { "minimist": "^1.2.5" @@ -8950,15 +8949,15 @@ } }, "roarr": { - "version": "2.15.2", - "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.2.tgz", - "integrity": "sha512-jmaDhK9CO4YbQAV8zzCnq9vjAqeO489MS5ehZ+rXmFiPFFE6B+S9KYO6prjmLJ5A0zY3QxVlQdrIya7E/azz/Q==", + "version": "2.14.6", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.14.6.tgz", + "integrity": "sha512-qjbw0BEesKA+3XFBPt+KVe1PC/Z6ShfJ4wPlx2XifqH5h2Lj8/KQT5XJTsy3n1Es5kai+BwKALaECW3F70B1cg==", "dev": true, "optional": true, "requires": { "boolean": "^3.0.0", "detect-node": "^2.0.4", - "globalthis": "^1.0.1", + "globalthis": "^1.0.0", "json-stringify-safe": "^5.0.1", "semver-compare": "^1.0.0", "sprintf-js": "^1.1.2" @@ -10131,9 +10130,9 @@ }, "dependencies": { "mkdirp": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz", - "integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", "optional": true, "requires": { "minimist": "^1.2.5" diff --git a/gui/package.json b/gui/package.json index 5247e3caec..de8e32bcd0 100644 --- a/gui/package.json +++ b/gui/package.json @@ -66,7 +66,7 @@ "chai-as-promised": "^7.1.1", "chai-spies": "^1.0.0", "cross-env": "^5.1.3", - "electron": "^8.2.0", + "electron": "^7.1.10", "electron-builder": "^21.2.0", "electron-devtools-installer": "^2.2.1", "electron-mocha": "^8.2.1", diff --git a/gui/src/main/index.ts b/gui/src/main/index.ts index 6f9185688a..c0dd326429 100644 --- a/gui/src/main/index.ts +++ b/gui/src/main/index.ts @@ -4,7 +4,6 @@ import log from 'electron-log'; import mkdirp from 'mkdirp'; import moment from 'moment'; import * as path from 'path'; -import { sprintf } from 'sprintf-js'; import * as uuid from 'uuid'; import AccountExpiry from '../shared/account-expiry'; import BridgeSettingsBuilder from '../shared/bridge-settings-builder'; @@ -190,10 +189,6 @@ class ApplicationMain { this.guiSettings.load(); - // The default value has previously been false but will be changed to true in Electron 9. The - // false value has been deprecated in Electron 8. This can be removed when Electron 9 is used. - app.allowRendererProcessReuse = true; - app.on('activate', this.onActivate); app.on('ready', this.onReady); app.on('window-all-closed', () => app.quit()); @@ -377,7 +372,6 @@ class ApplicationMain { this.installGenericMenubarAppWindowHandlers(tray, windowController); this.installLinuxWindowCloseHandler(windowController); this.setLinuxAppMenu(); - this.setLinuxTrayMenu(tray, windowController); window.setMenuBarVisibility(false); break; default: @@ -1361,28 +1355,6 @@ class ApplicationMain { Menu.setApplicationMenu(Menu.buildFromTemplate(template)); } - private setLinuxTrayMenu(tray: Tray, windowController: WindowController) { - tray.setContextMenu( - Menu.buildFromTemplate([ - { - label: sprintf( - // TRANSLATORS: The label displayed in the context menu that is opened when the user - // TRANSLATORS: clicks the icon in the linux system tray/status bar. - // TRANSLATORS: Available placeholder: - // TRANSLATORS: %(appname) - Name of the app, i.e. Mullvad VPN - messages.pgettext('status-icon-menu', 'Open %(appname)s'), - { - appname: app.getName(), - }, - ), - click: () => { - windowController.show(); - }, - }, - ]), - ); - } - private addContextMenu(window: BrowserWindow) { const menuTemplate: Electron.MenuItemConstructorOptions[] = [ { role: 'cut' }, diff --git a/gui/src/shared/ipc-event-channel.ts b/gui/src/shared/ipc-event-channel.ts index b6e788e72e..c09b8d2a84 100644 --- a/gui/src/shared/ipc-event-channel.ts +++ b/gui/src/shared/ipc-event-channel.ts @@ -446,7 +446,7 @@ function handler<T>(event: string): (handlerFn: (value: T) => void) => void { type RequestResult<T> = { type: 'success'; value: T } | { type: 'error'; message: string }; -// The Electron API uses the `any` type. +// The Electron API uses the `any` type. /* eslint-disable @typescript-eslint/no-explicit-any */ function requestHandler<T>(event: string): (fn: (...args: any[]) => Promise<T>) => void { return (fn: (...args: any[]) => Promise<T>) => { @@ -477,7 +477,7 @@ function requestHandler<T>(event: string): (fn: (...args: any[]) => Promise<T>) } /* eslint-enable @typescript-eslint/no-explicit-any */ -// The Electron API uses the `any` type. +// The Electron API uses the `any` type. /* eslint-disable @typescript-eslint/no-explicit-any */ function requestSender<T>(event: string): (...args: any[]) => Promise<T> { return (...args: any[]): Promise<T> => { diff --git a/gui/test/setup/main.js b/gui/test/setup/main.js index 67e9293f9b..dd458a30b6 100644 --- a/gui/test/setup/main.js +++ b/gui/test/setup/main.js @@ -1,7 +1,4 @@ const log = require('electron-log'); -const { app } = require('electron'); log.transports.console.level = false; log.transports.file.level = false; - -app.allowRendererProcessReuse = true; |
