diff --git a/app/lib/app.ts b/app/lib/app.ts index 8a0483c2..202d7794 100644 --- a/app/lib/app.ts +++ b/app/lib/app.ts @@ -88,7 +88,6 @@ export class Application { app.commandLine.appendSwitch('disable-http-cache') app.commandLine.appendSwitch('max-active-webgl-contexts', '9000') app.commandLine.appendSwitch('lang', 'EN') - app.allowRendererProcessReuse = false for (const flag of this.configStore.flags || [['force_discrete_gpu', '0']]) { app.commandLine.appendSwitch(flag[0], flag[1]) diff --git a/app/lib/window.ts b/app/lib/window.ts index 04a7b609..c5de4b4f 100644 --- a/app/lib/window.ts +++ b/app/lib/window.ts @@ -3,6 +3,7 @@ import * as glasstron from 'glasstron' import { Subject, Observable, debounceTime } from 'rxjs' import { BrowserWindow, app, ipcMain, Rectangle, Menu, screen, BrowserWindowConstructorOptions, TouchBar, nativeImage } from 'electron' import ElectronConfig = require('electron-config') +import { enable as enableRemote } from '@electron/remote/main' import * as os from 'os' import * as path from 'path' import macOSRelease from 'macos-release' @@ -14,7 +15,7 @@ import { loadConfig } from './config' let DwmEnableBlurBehindWindow: any = null if (process.platform === 'win32') { - DwmEnableBlurBehindWindow = require('windows-blurbehind').DwmEnableBlurBehindWindow + DwmEnableBlurBehindWindow = require('@tabby-gang/windows-blurbehind').DwmEnableBlurBehindWindow } export interface WindowOptions { @@ -68,7 +69,6 @@ export class Window { nodeIntegration: true, preload: path.join(__dirname, 'sentry.js'), backgroundThrottling: false, - enableRemoteModule: true, contextIsolation: false, }, maximizable: true, @@ -129,6 +129,8 @@ export class Window { } }) + enableRemote(this.window.webContents) + this.window.loadURL(`file://${app.getAppPath()}/dist/index.html`, { extraHeaders: 'pragma: no-cache\n' }) this.window.webContents.setVisualZoomLevelLimits(1, 1) diff --git a/app/package.json b/app/package.json index ebeb5384..02925229 100644 --- a/app/package.json +++ b/app/package.json @@ -15,7 +15,7 @@ }, "dependencies": { "@angular/cdk": "^12.2.9", - "@electron/remote": "1.2.0", + "@electron/remote": "2.0.1", "@tabby-gang/node-pty": "^0.11.0-beta.200", "any-promise": "^1.3.0", "electron-config": "2.0.0", @@ -35,9 +35,9 @@ "yargs": "^17.2.1" }, "optionalDependencies": { + "@tabby-gang/windows-blurbehind": "^3.0.0", "macos-native-processlist": "^2.0.0", "serialport": "^10.0.0", - "windows-blurbehind": "^1.0.1", "windows-native-registry": "^3.1.0", "windows-process-tree": "^0.3.2" }, diff --git a/app/webpack.main.config.js b/app/webpack.main.config.js index c2bdc6d0..d382026d 100644 --- a/app/webpack.main.config.js +++ b/app/webpack.main.config.js @@ -51,7 +51,7 @@ module.exports = { 'source-map-support': 'commonjs source-map-support', 'windows-swca': 'commonjs windows-swca', 'windows-native-registry': 'commonjs windows-native-registry', - 'windows-blurbehind': 'commonjs windows-blurbehind', + '@tabby-gang/windows-blurbehind': 'commonjs @tabby-gang/windows-blurbehind', 'yargs/yargs': 'commonjs yargs/yargs', }, plugins: [ diff --git a/app/yarn.lock b/app/yarn.lock index 8055664c..b571e44a 100644 --- a/app/yarn.lock +++ b/app/yarn.lock @@ -11,10 +11,10 @@ optionalDependencies: parse5 "^5.0.0" -"@electron/remote@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@electron/remote/-/remote-1.2.0.tgz#772eb4c3ac17aaba5a9cf05a09092f6277f5671f" - integrity sha512-C774t2DFVJsa+dxU9Gc2nYzylRZoJ79I0Sxrh8T9cN69fBkntfGbyBEQiD9UfZopqL0CYLzk1anY2Ywhql6h1w== +"@electron/remote@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@electron/remote/-/remote-2.0.1.tgz#810cbc595a21f0f94641eb2d7e8264063a3f84de" + integrity sha512-bGX4/yB2bPZwXm1DsxgoABgH0Cz7oFtXJgkerB8VrStYdTyvhGAULzNLRn9rVmeAuC3VUDXaXpZIlZAZHpsLIA== "@iarna/cli@^1.2.0": version "1.2.0" @@ -103,6 +103,13 @@ dependencies: nan "^2.14.0" +"@tabby-gang/windows-blurbehind@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@tabby-gang/windows-blurbehind/-/windows-blurbehind-3.0.0.tgz#48d409c2eb14a12c867b70de5ee4d6769ef45e8f" + integrity sha512-ah6eJcoQZWOZfu9sd2pWlOJmfl1v+2EZQMeIp7MWvg+/16WS16UFNdnOtlV6AUiABHfZo2QKfCNUEuorCM+Q2A== + dependencies: + "@types/node" "^10.12.18" + "@types/mz@2.7.4": version "2.7.4" resolved "https://registry.yarnpkg.com/@types/mz/-/mz-2.7.4.tgz#f9d1535cb5171199b28ae6abd6ec29e856551401" @@ -115,6 +122,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-16.0.1.tgz#70cedfda26af7a2ca073fdcc9beb2fff4aa693f8" integrity sha512-hBOx4SUlEPKwRi6PrXuTGw1z6lz0fjsibcWCM378YxsSu/6+C30L6CR49zIBKHiwNWCYIcOLjg4OHKZaFeLAug== +"@types/node@^10.12.18": + version "10.17.60" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b" + integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== + "@types/semver@^7.3.6": version "7.3.9" resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.9.tgz#152c6c20a7688c30b967ec1841d31ace569863fc" @@ -3741,11 +3753,6 @@ widest-line@^2.0.0: dependencies: string-width "^2.1.1" -windows-blurbehind@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/windows-blurbehind/-/windows-blurbehind-1.0.1.tgz#ff098713873304e38330b2c54cc41bb369b587b9" - integrity sha512-1HzHfCiM1ayrbACJu5qE9zELV24uX/tINT6kxaZwLY3rtQAoeav6x9z7LFHWoLaGDN/sYbnK+9Vk0cz7fsk5HQ== - windows-native-registry@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/windows-native-registry/-/windows-native-registry-3.1.0.tgz#909ef3254519fdec57d2f149ac59a2c9dc84419a" diff --git a/package.json b/package.json index 5ad40fc3..93299c39 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "cross-env": "7.0.3", "css-loader": "^6.5.1", "deep-equal": "2.0.5", - "electron": "13.5.1", + "electron": "16.0.2", "electron-builder": "^22.14.5", "electron-download": "^4.1.1", "electron-installer-snap": "^5.1.0", @@ -81,7 +81,7 @@ }, "resolutions": { "lzma-native": "^8.0.0", - "*/node-abi": "^2.30.0", + "*/node-abi": "^3.5.0", "**/graceful-fs": "^4.2.4" }, "scripts": { diff --git a/yarn.lock b/yarn.lock index 7408ba54..2ea464d8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -125,20 +125,20 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz#8f03a22a04de437254e8ce8cc84ba39689288752" integrity sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg== -"@electron/get@^1.0.1": - version "1.12.2" - resolved "https://registry.npmjs.org/@electron/get/-/get-1.12.2.tgz" - integrity sha512-vAuHUbfvBQpYTJ5wB7uVIDq5c/Ry0fiTBMs7lnEYAo/qXXppIVcWdfBr57u6eRnKdVso7KSiH6p/LbQAG6Izrg== +"@electron/get@^1.13.0": + version "1.13.1" + resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.13.1.tgz#42a0aa62fd1189638bd966e23effaebb16108368" + integrity sha512-U5vkXDZ9DwXtkPqlB45tfYnnYBN8PePp1z/XDCupnSpdrxT8/ThCv9WCwPLf9oqiSGZTkH6dx2jDUPuoXpjkcA== dependencies: debug "^4.1.1" env-paths "^2.2.0" fs-extra "^8.1.0" got "^9.6.0" progress "^2.0.3" - sanitize-filename "^1.6.2" + semver "^6.2.0" sumchecker "^3.0.1" optionalDependencies: - global-agent "^2.0.2" + global-agent "^3.0.0" global-tunnel-ng "^2.7.1" "@electron/universal@1.0.5": @@ -2082,7 +2082,7 @@ core-js@^2.4.0: resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== -core-js@^3.18.2, core-js@^3.6.5: +core-js@^3.18.2: version "3.18.2" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.18.2.tgz#63a551e8a29f305cd4123754846e65896619ba5b" integrity sha512-zNhPOUoSgoizoSQFdX1MeZO16ORRb9FFQLts8gSYbZU5FcgXhp24iMWMxnOQo5uIaIG7/6FA/IqJPwev1o9ZXQ== @@ -2664,12 +2664,12 @@ electron-to-chromium@^1.3.723: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.736.tgz#f632d900a1f788dab22fec9c62ec5c9c8f0c4052" integrity sha512-DY8dA7gR51MSo66DqitEQoUMQ0Z+A2DSXFi7tK304bdTVqczCAfUuyQw6Wdg8hIoo5zIxkU1L24RQtUce1Ioig== -electron@13.5.1: - version "13.5.1" - resolved "https://registry.yarnpkg.com/electron/-/electron-13.5.1.tgz#76c02c39be228532f886a170b472cbd3d93f0d0f" - integrity sha512-ZyxhIhmdaeE3xiIGObf0zqEyCyuIDqZQBv9NKX8w5FNzGm87j4qR0H1+GQg6vz+cA1Nnv1x175Zvimzc0/UwEQ== +electron@16.0.2: + version "16.0.2" + resolved "https://registry.yarnpkg.com/electron/-/electron-16.0.2.tgz#6d0ae3152c410478dfffdbf80852a3840679b8c5" + integrity sha512-kT746yVMztrP4BbT3nrFNcUcfgFu2yelUw6TWBVTy0pju+fBISaqcvoiMrq+8U0vRpoXSu2MJYygOf4T0Det7g== dependencies: - "@electron/get" "^1.0.1" + "@electron/get" "^1.13.0" "@types/node" "^14.6.2" extract-zip "^1.0.3" @@ -3517,13 +3517,12 @@ glob@~7.1.1, glob@~7.1.2: once "^1.3.0" path-is-absolute "^1.0.0" -global-agent@^2.0.2: - version "2.1.12" - resolved "https://registry.npmjs.org/global-agent/-/global-agent-2.1.12.tgz" - integrity sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg== +global-agent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-agent/-/global-agent-3.0.0.tgz#ae7cd31bd3583b93c5a16437a1afe27cc33a1ab6" + integrity sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q== dependencies: boolean "^3.0.1" - core-js "^3.6.5" es6-error "^4.1.1" matcher "^3.0.0" roarr "^2.15.3" @@ -5335,17 +5334,10 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" -node-abi@^2.30.0, node-abi@^3.0.0: - version "2.30.0" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.30.0.tgz#8be53bf3e7945a34eea10e0fc9a5982776cf550b" - integrity sha512-g6bZh3YCKQRdwuO/tSZZYJAw622SjsRfJ2X0Iy4sSOHZ34/sPPdVBn8fev2tj7njzLwuqPw9uMtGsGkO5kIQvg== - dependencies: - semver "^5.4.1" - -node-abi@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.2.0.tgz#c8ec6874f808b4da5fbd56e9506390ce65b152a2" - integrity sha512-/qb92JAb2uiwEQ4aXpVphXfGJU77qdCieXACDaIofcMz+YMPBmnCo8v0OlzJBuXh5QHmMiiI/GKyiCzbjOMn2g== +node-abi@^3.0.0, node-abi@^3.2.0, node-abi@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.5.0.tgz#26e8b7b251c3260a5ac5ba5aef3b4345a0229248" + integrity sha512-LtHvNIBgOy5mO8mPEUtkCW/YCRWYEKshIvqhe1GHHyXEHEB5mgICyYnAcl4qan3uFeRROErKGzatFHPf6kDxWw== dependencies: semver "^7.3.5" @@ -7178,7 +7170,7 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sanitize-filename@^1.6.2, sanitize-filename@^1.6.3: +sanitize-filename@^1.6.3: version "1.6.3" resolved "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz" integrity sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==