aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Vijay A <vraravam@users.noreply.github.com>2022-04-18 01:56:59 -0500
committerLibravatar Vijay Aravamudhan <vraravam@users.noreply.github.com>2022-04-19 10:07:50 +0400
commitd15680096e6e3c1b6e9f13a8b07d3f97d56060c9 (patch)
tree00816de4fc3701dc58f757a09083042082adbbcc
parentPulled in rebranded recipes submodule (diff)
downloadferdium-app-d15680096e6e3c1b6e9f13a8b07d3f97d56060c9.tar.gz
ferdium-app-d15680096e6e3c1b6e9f13a8b07d3f97d56060c9.tar.zst
ferdium-app-d15680096e6e3c1b6e9f13a8b07d3f97d56060c9.zip
Upgrade electron to '16.2.2'
Remove deprecated 'webPreference' flag
-rw-r--r--babel.config.json2
-rw-r--r--package-lock.json28
-rw-r--r--package.json4
-rw-r--r--src/components/services/content/ServiceWebview.js2
-rw-r--r--src/electron-util.ts6
-rw-r--r--src/index.ts12
6 files changed, 32 insertions, 22 deletions
diff --git a/babel.config.json b/babel.config.json
index 7ef38a9a8..97250ae80 100644
--- a/babel.config.json
+++ b/babel.config.json
@@ -4,7 +4,7 @@
4 "@babel/preset-env", 4 "@babel/preset-env",
5 { 5 {
6 "targets": { 6 "targets": {
7 "electron": 15 7 "electron": 16
8 } 8 }
9 } 9 }
10 ], 10 ],
diff --git a/package-lock.json b/package-lock.json
index 1442956e3..eadb96df9 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -21,7 +21,7 @@
21 "@adonisjs/session": "^1.0.29", 21 "@adonisjs/session": "^1.0.29",
22 "@adonisjs/shield": "^1.0.8", 22 "@adonisjs/shield": "^1.0.8",
23 "@adonisjs/validator": "^5.0.6", 23 "@adonisjs/validator": "^5.0.6",
24 "@electron/remote": "1.2.1", 24 "@electron/remote": "2.0.1",
25 "@mdi/js": "^6.3.95", 25 "@mdi/js": "^6.3.95",
26 "@mdi/react": "^1.5.0", 26 "@mdi/react": "^1.5.0",
27 "@sentry/electron": "^2.5.4", 27 "@sentry/electron": "^2.5.4",
@@ -114,7 +114,7 @@
114 "concurrently": "^7.0.0", 114 "concurrently": "^7.0.0",
115 "cross-env": "^7.0.3", 115 "cross-env": "^7.0.3",
116 "dotenv": "^10.0.0", 116 "dotenv": "^10.0.0",
117 "electron": "15.5.1", 117 "electron": "16.2.2",
118 "electron-builder": "^22.14.12", 118 "electron-builder": "^22.14.12",
119 "electron-notarize": "^1.1.1", 119 "electron-notarize": "^1.1.1",
120 "eslint": "^8.6.0", 120 "eslint": "^8.6.0",
@@ -2830,9 +2830,9 @@
2830 } 2830 }
2831 }, 2831 },
2832 "node_modules/@electron/remote": { 2832 "node_modules/@electron/remote": {
2833 "version": "1.2.1", 2833 "version": "2.0.1",
2834 "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-1.2.1.tgz", 2834 "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.0.1.tgz",
2835 "integrity": "sha512-yKh60I8KjezQkZqeuN5Nu2O/Z72+tgNgzvAa8QQPLtQbsrCOaeIWdXZQqierz4jQ5jzTNUk6KIcK3V2kFeaxaQ==", 2835 "integrity": "sha512-bGX4/yB2bPZwXm1DsxgoABgH0Cz7oFtXJgkerB8VrStYdTyvhGAULzNLRn9rVmeAuC3VUDXaXpZIlZAZHpsLIA==",
2836 "peerDependencies": { 2836 "peerDependencies": {
2837 "electron": ">= 10.0.0-beta.1" 2837 "electron": ">= 10.0.0-beta.1"
2838 } 2838 }
@@ -10780,9 +10780,9 @@
10780 } 10780 }
10781 }, 10781 },
10782 "node_modules/electron": { 10782 "node_modules/electron": {
10783 "version": "15.5.1", 10783 "version": "16.2.2",
10784 "resolved": "https://registry.npmjs.org/electron/-/electron-15.5.1.tgz", 10784 "resolved": "https://registry.npmjs.org/electron/-/electron-16.2.2.tgz",
10785 "integrity": "sha512-V3tOikVM7tGK4n5+MkLN+v73h0tndDeaQXy8kjkHj5NFIgQPwKD9S8XjQOBa+Cm5l3xbQrUsN5X6OmYS2WfPlg==", 10785 "integrity": "sha512-MOZCewpDvhiuYCw8UnJnQxU/9cni4tlHHWBdi0JWbcdBOrGsDMSt17nuPwR5wSf1e7mSfofGIUPg9iHS5KA8Eg==",
10786 "dev": true, 10786 "dev": true,
10787 "hasInstallScript": true, 10787 "hasInstallScript": true,
10788 "dependencies": { 10788 "dependencies": {
@@ -32876,9 +32876,9 @@
32876 } 32876 }
32877 }, 32877 },
32878 "@electron/remote": { 32878 "@electron/remote": {
32879 "version": "1.2.1", 32879 "version": "2.0.1",
32880 "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-1.2.1.tgz", 32880 "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.0.1.tgz",
32881 "integrity": "sha512-yKh60I8KjezQkZqeuN5Nu2O/Z72+tgNgzvAa8QQPLtQbsrCOaeIWdXZQqierz4jQ5jzTNUk6KIcK3V2kFeaxaQ==" 32881 "integrity": "sha512-bGX4/yB2bPZwXm1DsxgoABgH0Cz7oFtXJgkerB8VrStYdTyvhGAULzNLRn9rVmeAuC3VUDXaXpZIlZAZHpsLIA=="
32882 }, 32882 },
32883 "@electron/universal": { 32883 "@electron/universal": {
32884 "version": "1.0.5", 32884 "version": "1.0.5",
@@ -39311,9 +39311,9 @@
39311 } 39311 }
39312 }, 39312 },
39313 "electron": { 39313 "electron": {
39314 "version": "15.5.1", 39314 "version": "16.2.2",
39315 "resolved": "https://registry.npmjs.org/electron/-/electron-15.5.1.tgz", 39315 "resolved": "https://registry.npmjs.org/electron/-/electron-16.2.2.tgz",
39316 "integrity": "sha512-V3tOikVM7tGK4n5+MkLN+v73h0tndDeaQXy8kjkHj5NFIgQPwKD9S8XjQOBa+Cm5l3xbQrUsN5X6OmYS2WfPlg==", 39316 "integrity": "sha512-MOZCewpDvhiuYCw8UnJnQxU/9cni4tlHHWBdi0JWbcdBOrGsDMSt17nuPwR5wSf1e7mSfofGIUPg9iHS5KA8Eg==",
39317 "dev": true, 39317 "dev": true,
39318 "requires": { 39318 "requires": {
39319 "@electron/get": "^1.13.0", 39319 "@electron/get": "^1.13.0",
diff --git a/package.json b/package.json
index 7dbe47e9b..a5f465599 100644
--- a/package.json
+++ b/package.json
@@ -56,7 +56,7 @@
56 "@adonisjs/session": "^1.0.29", 56 "@adonisjs/session": "^1.0.29",
57 "@adonisjs/shield": "^1.0.8", 57 "@adonisjs/shield": "^1.0.8",
58 "@adonisjs/validator": "^5.0.6", 58 "@adonisjs/validator": "^5.0.6",
59 "@electron/remote": "1.2.1", 59 "@electron/remote": "2.0.1",
60 "@mdi/js": "^6.3.95", 60 "@mdi/js": "^6.3.95",
61 "@mdi/react": "^1.5.0", 61 "@mdi/react": "^1.5.0",
62 "@sentry/electron": "^2.5.4", 62 "@sentry/electron": "^2.5.4",
@@ -149,7 +149,7 @@
149 "concurrently": "^7.0.0", 149 "concurrently": "^7.0.0",
150 "cross-env": "^7.0.3", 150 "cross-env": "^7.0.3",
151 "dotenv": "^10.0.0", 151 "dotenv": "^10.0.0",
152 "electron": "15.5.1", 152 "electron": "16.2.2",
153 "electron-builder": "^22.14.12", 153 "electron-builder": "^22.14.12",
154 "electron-notarize": "^1.1.1", 154 "electron-notarize": "^1.1.1",
155 "eslint": "^8.6.0", 155 "eslint": "^8.6.0",
diff --git a/src/components/services/content/ServiceWebview.js b/src/components/services/content/ServiceWebview.js
index f90710c31..38450b98f 100644
--- a/src/components/services/content/ServiceWebview.js
+++ b/src/components/services/content/ServiceWebview.js
@@ -109,7 +109,7 @@ class ServiceWebview extends Component {
109 nodeintegration 109 nodeintegration
110 webpreferences={`spellcheck=${ 110 webpreferences={`spellcheck=${
111 isSpellcheckerEnabled ? 1 : 0 111 isSpellcheckerEnabled ? 1 : 0
112 }, contextIsolation=1, nativeWindowOpen=1, enableRemoteModule=1`} 112 }, contextIsolation=1, nativeWindowOpen=1`}
113 /> 113 />
114 ); 114 );
115 } 115 }
diff --git a/src/electron-util.ts b/src/electron-util.ts
index 3c395ab10..eede55786 100644
--- a/src/electron-util.ts
+++ b/src/electron-util.ts
@@ -1,7 +1,7 @@
1// Enhanced from: https://github.com/dertieran/electron-util/blob/replace-remote/source/api.js 1// Enhanced from: https://github.com/dertieran/electron-util/blob/replace-remote/source/api.js
2 2
3import * as electron from 'electron'; 3import * as electron from 'electron';
4import { initialize } from '@electron/remote/main'; 4import { initialize, enable } from '@electron/remote/main';
5 5
6export const initializeRemote = () => { 6export const initializeRemote = () => {
7 if (process.type !== 'browser') { 7 if (process.type !== 'browser') {
@@ -13,6 +13,10 @@ export const initializeRemote = () => {
13 initialize(); 13 initialize();
14}; 14};
15 15
16export const enableWebContents = (webContents: electron.WebContents) => {
17 enable(webContents);
18}
19
16export const remote = new Proxy( 20export const remote = new Proxy(
17 {}, 21 {},
18 { 22 {
diff --git a/src/index.ts b/src/index.ts
index c61523584..013cf93ce 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -13,7 +13,7 @@ import { emptyDirSync, ensureFileSync } from 'fs-extra';
13import { join } from 'path'; 13import { join } from 'path';
14import windowStateKeeper from 'electron-window-state'; 14import windowStateKeeper from 'electron-window-state';
15import ms from 'ms'; 15import ms from 'ms';
16import { initializeRemote } from './electron-util'; 16import { enableWebContents, initializeRemote } from './electron-util';
17import { enforceMacOSAppLocation } from './enforce-macos-app-location'; 17import { enforceMacOSAppLocation } from './enforce-macos-app-location';
18 18
19initializeRemote(); 19initializeRemote();
@@ -214,13 +214,18 @@ const createWindow = () => {
214 webviewTag: true, 214 webviewTag: true,
215 preload: join(__dirname, 'sentry.js'), 215 preload: join(__dirname, 'sentry.js'),
216 nativeWindowOpen: true, 216 nativeWindowOpen: true,
217 // @ts-expect-error Object literal may only specify known properties, and 'enableRemoteModule' does not exist in type 'WebPreferences'.
218 enableRemoteModule: true,
219 }, 217 },
220 }); 218 });
221 219
220 enableWebContents(mainWindow.webContents);
221
222 app.on('browser-window-created', (_, window) => {
223 enableWebContents(window.webContents);
224 });
225
222 app.on('web-contents-created', (_e, contents) => { 226 app.on('web-contents-created', (_e, contents) => {
223 if (contents.getType() === 'webview') { 227 if (contents.getType() === 'webview') {
228 enableWebContents(contents);
224 contents.on('new-window', event => { 229 contents.on('new-window', event => {
225 event.preventDefault(); 230 event.preventDefault();
226 }); 231 });
@@ -523,6 +528,7 @@ ipcMain.on('open-browser-window', (_e, { url, serviceId }) => {
523 nativeWindowOpen: true, 528 nativeWindowOpen: true,
524 }, 529 },
525 }); 530 });
531 enableWebContents(child.webContents);
526 child.show(); 532 child.show();
527 child.loadURL(url); 533 child.loadURL(url);
528 debug('Received open-browser-window', url); 534 debug('Received open-browser-window', url);