From 96e38690c2d35381abfec805b52e72ec5639a32b Mon Sep 17 00:00:00 2001 From: Fedor Indutny <79877362+indutny-signal@users.noreply.github.com> Date: Wed, 15 May 2024 09:48:54 -0700 Subject: [PATCH] Update electron to 30.0.5 --- .github/workflows/benchmark.yml | 2 +- .github/workflows/ci.yml | 10 +++---- .github/workflows/danger.yml | 2 +- .github/workflows/stories.yml | 2 +- .nvmrc | 2 +- app/permissions.ts | 6 ++++ package.json | 4 +-- ts/scripts/fuse-electron.ts | 3 +- yarn.lock | 49 +++++++++++++++++++++++++++------ 9 files changed, 60 insertions(+), 20 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index dff14a89f5..77f2feb853 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -30,7 +30,7 @@ jobs: - name: Setup node.js uses: actions/setup-node@v3 with: - node-version: '20.9.0' + node-version: '20.11.1' - name: Install global dependencies run: npm install -g yarn@1.22.10 npm@10.2.5 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b09c46f397..3aa65ca85b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,7 +21,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: - node-version: '20.9.0' + node-version: '20.11.1' - run: npm install -g yarn@1.22.10 npm@10.2.5 - name: Cache Desktop node_modules @@ -78,7 +78,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: - node-version: '20.9.0' + node-version: '20.11.1' - run: npm install -g yarn@1.22.10 npm@10.2.5 @@ -130,7 +130,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: - node-version: '20.9.0' + node-version: '20.11.1' - run: sudo apt-get install xvfb - run: npm install -g yarn@1.22.10 npm@10.2.5 @@ -197,7 +197,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: - node-version: '20.9.0' + node-version: '20.11.1' - run: npm install -g yarn@1.22.10 npm@10.2.5 node-gyp@10.0.1 # Set things up so @nodert-win10-rs4 dependencies build properly @@ -306,7 +306,7 @@ jobs: - name: Setup node.js uses: actions/setup-node@v3 with: - node-version: '20.9.0' + node-version: '20.11.1' - name: Install global dependencies run: npm install -g yarn@1.22.10 npm@10.2.5 diff --git a/.github/workflows/danger.yml b/.github/workflows/danger.yml index 863987b823..96af089095 100644 --- a/.github/workflows/danger.yml +++ b/.github/workflows/danger.yml @@ -15,7 +15,7 @@ jobs: fetch-depth: 0 # fetch all history - uses: actions/setup-node@v3 with: - node-version: '20.9.0' + node-version: '20.11.1' - run: npm install -g yarn@1.22.10 npm@10.2.5 - name: Cache danger node_modules id: cache-desktop-modules diff --git a/.github/workflows/stories.yml b/.github/workflows/stories.yml index 9c370e5fca..75752d72ab 100644 --- a/.github/workflows/stories.yml +++ b/.github/workflows/stories.yml @@ -16,7 +16,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: - node-version: '20.9.0' + node-version: '20.11.1' cache: 'yarn' - name: Install global dependencies run: npm install -g yarn@1.22.10 npm@10.2.5 diff --git a/.nvmrc b/.nvmrc index f3f52b42d3..2dbbe00e67 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -20.9.0 +20.11.1 diff --git a/app/permissions.ts b/app/permissions.ts index 9f2a2711a0..b6a446cfd0 100644 --- a/app/permissions.ts +++ b/app/permissions.ts @@ -31,6 +31,12 @@ function _createPermissionHandler( // We default 'media' permission to false, but the user can override that for // the microphone and camera. if (permission === 'media') { + // Pacifying typescript because it is always there for 'media' permission + if (!('mediaTypes' in details)) { + callback(false); + return; + } + if ( details.mediaTypes?.includes('audio') || details.mediaTypes?.includes('video') diff --git a/package.json b/package.json index 598d13b592..3aa646fb53 100644 --- a/package.json +++ b/package.json @@ -291,7 +291,7 @@ "csv-parse": "5.5.2", "danger": "11.1.2", "debug": "4.3.3", - "electron": "29.1.5", + "electron": "30.0.5", "electron-builder": "24.6.3", "electron-mocha": "12.2.0", "endanger": "7.0.4", @@ -354,7 +354,7 @@ "read-last-lines/mz/thenify-all/thenify": "3.3.1" }, "engines": { - "node": "20.9.0" + "node": "20.11.1" }, "build": { "appId": "org.whispersystems.signal-desktop", diff --git a/ts/scripts/fuse-electron.ts b/ts/scripts/fuse-electron.ts index 259b878628..b7172c148e 100644 --- a/ts/scripts/fuse-electron.ts +++ b/ts/scripts/fuse-electron.ts @@ -44,7 +44,8 @@ export async function afterPack({ // Disables the --inspect and --inspect-brk family of CLI options [FuseV1Options.EnableNodeCliInspectArguments]: enableInspectArguments, // Enables validation of the app.asar archive on macOS - [FuseV1Options.EnableEmbeddedAsarIntegrityValidation]: true, + [FuseV1Options.EnableEmbeddedAsarIntegrityValidation]: + electronPlatformName === 'darwin', // Enforces that Electron will only load your app from "app.asar" instead of // its normal search paths [FuseV1Options.OnlyLoadAppFromAsar]: true, diff --git a/yarn.lock b/yarn.lock index 54773d0a67..889c90de25 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7577,7 +7577,7 @@ caniuse-lite@^1.0.30001349, caniuse-lite@^1.0.30001541: resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001541.tgz" integrity sha512-bLOsqxDgTqUBkzxbNlSBt8annkDpQB9NdzdTbO2ooJ+eC/IQcvDspDc058g84ejCelF7vHUx57KIOjEecOHXaw== -canvas@^2.6.1, "canvas@https://registry.yarnpkg.com/nop/-/nop-1.0.0.tgz", dmg-license@^1.0.11, "dmg-license@https://registry.yarnpkg.com/nop/-/nop-1.0.0.tgz", jsdom@^15.2.1, "jsdom@https://registry.yarnpkg.com/nop/-/nop-1.0.0.tgz": +canvas@^2.6.1, "canvas@https://registry.yarnpkg.com/nop/-/nop-1.0.0.tgz": version "1.0.0" resolved "https://registry.yarnpkg.com/nop/-/nop-1.0.0.tgz#cb46cf7e01574aa6390858149f66897afe53c9ca" @@ -8955,6 +8955,10 @@ dmg-builder@24.6.3: optionalDependencies: dmg-license "^1.0.11" +dmg-license@^1.0.11, "dmg-license@https://registry.yarnpkg.com/nop/-/nop-1.0.0.tgz": + version "1.0.0" + resolved "https://registry.yarnpkg.com/nop/-/nop-1.0.0.tgz#cb46cf7e01574aa6390858149f66897afe53c9ca" + dns-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" @@ -9259,10 +9263,10 @@ electron-window@^0.8.0: dependencies: is-electron-renderer "^2.0.0" -electron@29.1.5: - version "29.1.5" - resolved "https://registry.yarnpkg.com/electron/-/electron-29.1.5.tgz#b745b4d201c1ac9f84d6aa034126288dde34d5a1" - integrity sha512-1uWGRw/ffA62lcrklxGUgVxVtOHojsg/nwsYr+/F9cVjipZJn8iPv/ABGIIexhmUqWcho8BqfTJ4osCBa29gBg== +electron@30.0.5: + version "30.0.5" + resolved "https://registry.yarnpkg.com/electron/-/electron-30.0.5.tgz#cbd28681b974f9d8ada987bf7070cde232d01a91" + integrity sha512-+a7PjcAq2HrfF1l+Ez8n0W9YeZIam7E9ERHEGs+L2dqKu7qxk8GNSEFoBEPCpLI00p/fc0d76L9IcLCQJdNFqA== dependencies: "@electron/get" "^2.0.0" "@types/node" "^20.9.0" @@ -13383,6 +13387,10 @@ jsdoc@^4.0.0: strip-json-comments "^3.1.0" underscore "~1.13.2" +jsdom@^15.2.1, "jsdom@https://registry.yarnpkg.com/nop/-/nop-1.0.0.tgz": + version "1.0.0" + resolved "https://registry.yarnpkg.com/nop/-/nop-1.0.0.tgz#cb46cf7e01574aa6390858149f66897afe53c9ca" + jsesc@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" @@ -18446,7 +18454,7 @@ string-length@^5.0.1: char-regex "^2.0.0" strip-ansi "^7.0.1" -"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0": version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -18489,6 +18497,15 @@ string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" +string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" @@ -18569,7 +18586,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -18603,6 +18620,13 @@ strip-ansi@^6.0.0: dependencies: ansi-regex "^5.0.0" +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-ansi@^7.0.1: version "7.1.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" @@ -20220,7 +20244,7 @@ workerpool@6.2.1: resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -20254,6 +20278,15 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"