diff options
| author | Oskar Nyberg <oskar@mullvad.net> | 2020-06-25 11:31:39 +0200 |
|---|---|---|
| committer | Oskar Nyberg <oskar@mullvad.net> | 2020-06-25 11:31:39 +0200 |
| commit | bb51fb4839fbcd5a64aa1aa38ed591e5453e7f7b (patch) | |
| tree | 79c8d35e90501f7558d698bd39f0d83a2231da58 | |
| parent | a55f618ca1b83c02a0239bece8f33cec060c33ef (diff) | |
| parent | 853ec1e41da6b0b86e569c3ba50594444c4b40b7 (diff) | |
| download | mullvadvpn-bb51fb4839fbcd5a64aa1aa38ed591e5453e7f7b.tar.xz mullvadvpn-bb51fb4839fbcd5a64aa1aa38ed591e5453e7f7b.zip | |
Merge branch 'upgrade-to-electron-8-again'
| -rw-r--r-- | CHANGELOG.md | 3 | ||||
| -rw-r--r-- | README.md | 19 | ||||
| -rw-r--r-- | gui/package-lock.json | 97 | ||||
| -rw-r--r-- | gui/package.json | 2 | ||||
| -rw-r--r-- | gui/src/main/index.ts | 4 | ||||
| -rw-r--r-- | gui/tasks/distribution.js | 2 | ||||
| -rw-r--r-- | gui/test/setup/main.js | 5 |
7 files changed, 77 insertions, 55 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 1835a17b9a..516a8c82a8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,9 @@ Line wrap the file at 100 chars. Th - Add Korean, Polish and Thai languages to the desktop app. - Show system notification when account has expired. +### Changed +- Upgrade from Electron 7 to Electron 8. + #### Android - Show a system notification when the account time will soon run out. @@ -442,6 +442,20 @@ this procedure, the `integration-tests.sh` script can be used to run all integra `linux`, `mac` or `win` - `$ npm test` - run tests + +## Tray icon on Linux + +The requirements for displaying a tray icon varies between different desktop environments. If the +tray icon doesn't appear, try installing one of these packages: +- `libappindicator3-1` +- `libappindicator1` +- `libappindicator` + +If you're using GNOME, try installing one of these GNOME Shell extensions: +- `TopIconsFix` +- `TopIcons Plus` + + ## Repository structure ### Electron GUI app and electron-builder packaging assets @@ -622,11 +636,6 @@ Instructions for how to handle locales and translations are found Mullvad has used external pentesting companies to carry out security audits of this VPN app. Read more about them in the [audits readme](./audits/README.md) -## Quirks - -- If you want to modify babel-configurations please note that `BABEL_ENV=development` must be used - for [react-native](https://github.com/facebook/react-native/issues/8723) - # License Copyright (C) 2020 Mullvad VPN AB diff --git a/gui/package-lock.json b/gui/package-lock.json index c0e7601074..1d93e2fefa 100644 --- a/gui/package-lock.json +++ b/gui/package-lock.json @@ -295,9 +295,9 @@ } }, "@electron/get": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.7.2.tgz", - "integrity": "sha512-LSE4LZGMjGS9TloDx0yO44D2UTbaeKRk+QjlhWLiQlikV6J4spgDCjb6z4YIcqmPAwNzlNCnWF4dubytwI+ATA==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.12.2.tgz", + "integrity": "sha512-vAuHUbfvBQpYTJ5wB7uVIDq5c/Ry0fiTBMs7lnEYAo/qXXppIVcWdfBr57u6eRnKdVso7KSiH6p/LbQAG6Izrg==", "dev": true, "requires": { "debug": "^4.1.1", @@ -306,6 +306,7 @@ "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" }, @@ -331,9 +332,9 @@ } }, "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", "dev": true }, "jsonfile": { @@ -1618,9 +1619,9 @@ "dev": true }, "boolean": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.0.tgz", - "integrity": "sha512-OElxJ1lUSinuoUnkpOgLmxp0DC4ytEhODEL6QJU0NpxE/mI4rUSh8h1P1Wkvfi3xQEBcxXR2gBIPNYNuaFcAbQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.1.tgz", + "integrity": "sha512-HRZPIjPcbwAVQvOTxR4YE3o8Xs98NqbbL1iEZDCz7CL8ql0Lt5iOyJFxfnAB0oFs8Oh02F/lLlg30Mexv46LjA==", "dev": true, "optional": true }, @@ -2445,9 +2446,9 @@ } }, "core-js": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.4.tgz", - "integrity": "sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw==", + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", + "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==", "dev": true, "optional": true }, @@ -2940,9 +2941,9 @@ "dev": true }, "electron": { - "version": "7.1.10", - "resolved": "https://registry.npmjs.org/electron/-/electron-7.1.10.tgz", - "integrity": "sha512-UDpS2CfBN3yufCrbET5Ozw1XrLhuANHn+Zs8Vgl/BcBT/MoNbkY79nRFcyxj6pCFrEde9IoNOf+DgNp6altNxw==", + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/electron/-/electron-8.3.3.tgz", + "integrity": "sha512-/LGnjnE9BQzkn2VpjflLi7jpQxYIp+maqmiDPy6ww76hkQvt/LJ991ewdHpfLR4or3VqzPIu+AK+ZJrTlDAWyw==", "dev": true, "requires": { "@electron/get": "^1.0.1", @@ -2951,9 +2952,9 @@ }, "dependencies": { "@types/node": { - "version": "12.12.25", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.25.tgz", - "integrity": "sha512-nf1LMGZvgFX186geVZR1xMZKKblJiRfiASTHw85zED2kI1yDKHDwTKMdkaCbTlXoRKlGKaDfYywt+V0As30q3w==", + "version": "12.12.47", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.47.tgz", + "integrity": "sha512-yzBInQFhdY8kaZmqoL2+3U5dSTMrKaYcb561VU+lDzAYvqt+2lojvBEy+hmpSNuXnPTx7m9+04CzWYOUqWME2A==", "dev": true } } @@ -5480,25 +5481,25 @@ } }, "global-agent": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.7.tgz", - "integrity": "sha512-ooK7eqGYZku+LgnbfH/Iv0RJ74XfhrBZDlke1QSzcBt0bw1PmJcnRADPAQuFE+R45pKKDTynAr25SBasY2kvow==", + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.12.tgz", + "integrity": "sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg==", "dev": true, "optional": true, "requires": { - "boolean": "^3.0.0", - "core-js": "^3.4.1", + "boolean": "^3.0.1", + "core-js": "^3.6.5", "es6-error": "^4.1.1", - "matcher": "^2.0.0", - "roarr": "^2.14.5", - "semver": "^6.3.0", - "serialize-error": "^5.0.0" + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" }, "dependencies": { "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", "dev": true, "optional": true } @@ -7075,19 +7076,19 @@ } }, "matcher": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/matcher/-/matcher-2.1.0.tgz", - "integrity": "sha512-o+nZr+vtJtgPNklyeUKkkH42OsK8WAfdgaJE2FNxcjLPg+5QbeEoT6vRj8Xq/iv18JlQ9cmKsEu0b94ixWf1YQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz", + "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", "dev": true, "optional": true, "requires": { - "escape-string-regexp": "^2.0.0" + "escape-string-regexp": "^4.0.0" }, "dependencies": { "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "optional": true } @@ -9268,15 +9269,15 @@ } }, "roarr": { - "version": "2.14.6", - "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.14.6.tgz", - "integrity": "sha512-qjbw0BEesKA+3XFBPt+KVe1PC/Z6ShfJ4wPlx2XifqH5h2Lj8/KQT5XJTsy3n1Es5kai+BwKALaECW3F70B1cg==", + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.3.tgz", + "integrity": "sha512-AEjYvmAhlyxOeB9OqPUzQCo3kuAkNfuDk/HqWbZdFsqDFpapkTjiw+p4svNEoRLvuqNTxqfL+s+gtD4eDgZ+CA==", "dev": true, "optional": true, "requires": { "boolean": "^3.0.0", "detect-node": "^2.0.4", - "globalthis": "^1.0.0", + "globalthis": "^1.0.1", "json-stringify-safe": "^5.0.1", "semver-compare": "^1.0.0", "sprintf-js": "^1.1.2" @@ -9444,19 +9445,19 @@ } }, "serialize-error": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-5.0.0.tgz", - "integrity": "sha512-/VtpuyzYf82mHYTtI4QKtwHa79vAdU5OQpNPAmE/0UDdlGT0ZxHwC+J6gXkw29wwoVI8fMPsfcVHOwXtUQYYQA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz", + "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==", "dev": true, "optional": true, "requires": { - "type-fest": "^0.8.0" + "type-fest": "^0.13.1" }, "dependencies": { "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", "dev": true, "optional": true } diff --git a/gui/package.json b/gui/package.json index fe52e98690..62a1068b3a 100644 --- a/gui/package.json +++ b/gui/package.json @@ -68,7 +68,7 @@ "chai-as-promised": "^7.1.1", "chai-spies": "^1.0.0", "cross-env": "^5.1.3", - "electron": "^7.1.10", + "electron": "^8.3.3", "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 cef8eda51b..0bdc71a2ef 100644 --- a/gui/src/main/index.ts +++ b/gui/src/main/index.ts @@ -210,6 +210,10 @@ 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()); diff --git a/gui/tasks/distribution.js b/gui/tasks/distribution.js index 006c9d6bc5..c0fc5ecb09 100644 --- a/gui/tasks/distribution.js +++ b/gui/tasks/distribution.js @@ -134,7 +134,7 @@ const config = { ], afterInstall: distAssets('linux/after-install.sh'), afterRemove: distAssets('linux/after-remove.sh'), - depends: ['iputils-ping', 'libappindicator3-1'], + depends: ['iputils-ping'], }, rpm: { diff --git a/gui/test/setup/main.js b/gui/test/setup/main.js index dd458a30b6..df773dc7b2 100644 --- a/gui/test/setup/main.js +++ b/gui/test/setup/main.js @@ -1,4 +1,9 @@ +const { app } = require('electron'); const log = require('electron-log'); log.transports.console.level = false; log.transports.file.level = false; + +// 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; |
