From 3ff2cd0e5adfe0d65cb87e35bbf91212109a4d15 Mon Sep 17 00:00:00 2001 From: Jacob Schlecht Date: Wed, 27 May 2026 19:44:56 -0600 Subject: [PATCH] chore: Update electron to version 40 (#193) * chore: Update to electron 39 and include some fixes This commit was made without the use of generative AI. Signed-off-by: Jacob Schlecht * chore: Upgrade to electron 40 This commit was made without the use of generative AI. Signed-off-by: Jacob Schlecht --------- Signed-off-by: Jacob Schlecht --- forge.config.ts | 36 ++++++++----------- package.json | 4 +-- pnpm-lock.yaml | 95 ++++++++++++++++++++++++++++++------------------- 3 files changed, 74 insertions(+), 61 deletions(-) diff --git a/forge.config.ts b/forge.config.ts index 71c17fe..4a0ced6 100644 --- a/forge.config.ts +++ b/forge.config.ts @@ -85,37 +85,29 @@ if (!process.env.PLATFORM) { // default arguments found by running // DEBUG=electron-installer-flatpak* pnpm make "--socket=fallback-x11", + "--socket=wayland", "--share=ipc", + "--share=network", "--device=dri", + "--device=all", "--socket=pulseaudio", "--filesystem=home", - "--env=TMPDIR=/var/tmp", - "--share=network", + "--filesystem=xdg-run/pipewire-0", + "--filesystem=xdg-videos:ro", + "--filesystem=xdg-pictures:ro", + "--filesystem=xdg-run/speech-dispatcher", + "--talk-name=org.freedesktop.ScreenSaver", "--talk-name=org.freedesktop.Notifications", - // add Unity talk name for badges + "--talk-name=org.kde.StatusNotifierWatcher", + "--talk-name=com.canonical.AppMenu.Registrar", + "--talk-name=com.canonical.indicator.application", "--talk-name=com.canonical.Unity", + "--env=XCURSOR_PATH=/run/host/user-share/icons:/run/host/share/icons", + "--env=ELECTRON_TRASH=gio", + "--env=TMPDIR=xdg-run/app/chat.stoat.stoat-desktop", ], - // files: [ - // // is this necessary? - // // https://stackoverflow.com/q/79745700 - // ...[16, 32, 64, 128, 256, 512].map( - // (size) => - // [ - // `assets/desktop/hicolor/${size}x${size}.png`, - // `/app/share/icons/hicolor/${size}x${size}/apps/chat.stoat.stoat-desktop.png`, - // ] as [string, string], - // ), - // [ - // `assets/desktop/icon.svg`, - // `/app/share/icons/hicolor/scalable/apps/chat.stoat.stoat-desktop.svg`, - // ] as [string, string], - // ], files: [], } as MakerFlatpakOptionsConfig, - /* as Omit< - MakerFlatpakOptionsConfig, - "files" - > */ }), // testing purposes new MakerDeb({ diff --git a/package.json b/package.json index 94fbaf0..765bfb4 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": ".vite/build/main.js", "repository": "stoatchat/desktop", "scripts": { - "start": "electron-forge start", + "start": "electron-forge start -- --no-sandbox", "package": "electron-forge package", "make": "electron-forge make", "publish": "electron-forge publish", @@ -36,7 +36,7 @@ "@types/electron-squirrel-startup": "^1.0.2", "@typescript-eslint/eslint-plugin": "^5.62.0", "@typescript-eslint/parser": "^5.62.0", - "electron": "38.1.2", + "electron": "^40.8.3", "eslint": "^8.57.1", "eslint-plugin-import": "^2.32.0", "json-schema-typed": "^8.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 567c666..9c7ff44 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -85,8 +85,8 @@ importers: specifier: ^5.62.0 version: 5.62.0(eslint@8.57.1)(typescript@4.5.5) electron: - specifier: 38.1.2 - version: 38.1.2 + specifier: ^40.8.3 + version: 40.8.3 eslint: specifier: ^8.57.1 version: 8.57.1 @@ -104,7 +104,7 @@ importers: version: 4.5.5 vite: specifier: ^5.4.20 - version: 5.4.20(@types/node@24.5.2) + version: 5.4.20(@types/node@24.10.13) packages: @@ -825,6 +825,9 @@ packages: '@types/node@22.18.6': resolution: {integrity: sha512-r8uszLPpeIWbNKtvWRt/DbVi5zbqZyj1PTmhRMqBMvDnaz1QpmSKujUtJLrqGZeoM8v72MfYggDceY4K1itzWQ==} + '@types/node@24.10.13': + resolution: {integrity: sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==} + '@types/node@24.5.2': resolution: {integrity: sha512-FYxk1I7wPv3K2XBaoyH2cTnocQEu8AOZ60hPbsyukMPLv5/5qr7V1i8PLHdl6Zf87I+xZXFvPCXYjiTFq+YSDQ==} @@ -907,6 +910,7 @@ packages: '@xmldom/xmldom@0.8.11': resolution: {integrity: sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==} engines: {node: '>=10.0.0'} + deprecated: this version has critical issues, please update to the latest version abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} @@ -1075,6 +1079,9 @@ packages: brace-expansion@2.0.2: resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + brace-expansion@2.1.0: + resolution: {integrity: sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==} + braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} @@ -1372,8 +1379,8 @@ packages: resolution: {integrity: sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==} engines: {node: '>=8.0.0'} - electron@38.1.2: - resolution: {integrity: sha512-WXUcN3W8h8NTTZViA3KNX0rV2YBU0X0mEUM3ubupXTDY4QtIN7tmiqYVOKSKpR2LckTmBWGuEeY4D6xVoffwKQ==} + electron@40.8.3: + resolution: {integrity: sha512-MH6LK4xM6VVmmtz0nRE0Fe8l2jTKSYTvH1t0ZfbNLw3o6dlBCVTRqQha6uL8ZQVoMy74JyLguGwK7dU7rCKIhw==} engines: {node: '>= 12.20.55'} hasBin: true @@ -1537,8 +1544,8 @@ packages: resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} engines: {node: '>=6'} - exponential-backoff@3.1.2: - resolution: {integrity: sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==} + exponential-backoff@3.1.3: + resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} external-editor@3.1.0: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} @@ -1715,12 +1722,12 @@ packages: glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me glob@8.1.0: resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} engines: {node: '>=12'} - deprecated: Glob versions prior to v9 are no longer supported + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me global-agent@3.0.0: resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} @@ -1866,8 +1873,8 @@ packages: resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==} engines: {node: '>=10.13.0'} - ip-address@10.0.1: - resolution: {integrity: sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==} + ip-address@10.1.0: + resolution: {integrity: sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==} engines: {node: '>= 12'} is-array-buffer@3.0.5: @@ -2185,8 +2192,8 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + minimatch@5.1.9: + resolution: {integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==} engines: {node: '>=10'} minimatch@9.0.5: @@ -2204,8 +2211,8 @@ packages: resolution: {integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - minipass-flush@1.0.5: - resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} + minipass-flush@1.0.7: + resolution: {integrity: sha512-TbqTz9cUwWyHS2Dy89P3ocAGUGxKjjLuR9z8w4WUTGAVgEj17/4nhgo2Du56i0Fm3Pm30g4iA8Lcqctc76jCzA==} engines: {node: '>= 8'} minipass-pipeline@1.2.4: @@ -2273,8 +2280,8 @@ packages: nice-try@1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - node-abi@3.77.0: - resolution: {integrity: sha512-DSmt0OEcLoK4i3NuscSbGjOf3bqiDEutejqENSplMSFA/gmB8mkED9G4pKWnPl7MDU4rSHebKPHeitpDfyH0cQ==} + node-abi@3.89.0: + resolution: {integrity: sha512-6u9UwL0HlAl21+agMN3YAMXcKByMqwGx+pq+P76vii5f7hTPtKDp08/H9py6DY+cfDw7kQNTGEj/rly3IgbNQA==} engines: {node: '>=10'} node-addon-api@1.7.2: @@ -2876,6 +2883,7 @@ packages: tar@6.2.1: resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} + deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me temp@0.9.4: resolution: {integrity: sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==} @@ -2983,6 +2991,9 @@ packages: undici-types@7.12.0: resolution: {integrity: sha512-goOacqME2GYyOZZfb5Lgtu+1IDmAlAEu5xnD3+xTzS10hT0vzpf0SPjkXwAw9Jm+4n/mQGDP3LO8CPbYROeBfQ==} + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + unique-filename@2.0.1: resolution: {integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -3531,7 +3542,7 @@ snapshots: '@electron/node-gyp@https://codeload.github.com/electron/node-gyp/tar.gz/06b29aafb7708acef8b3669835c8a7857ebc92d2': dependencies: env-paths: 2.2.1 - exponential-backoff: 3.1.2 + exponential-backoff: 3.1.3 glob: 8.1.0 graceful-fs: 4.2.11 make-fetch-happen: 10.2.1 @@ -3598,7 +3609,7 @@ snapshots: detect-libc: 2.1.1 fs-extra: 10.1.0 got: 11.8.6 - node-abi: 3.77.0 + node-abi: 3.89.0 node-api-version: 0.2.1 ora: 5.4.1 read-binary-file-arch: 1.0.6 @@ -4103,7 +4114,7 @@ snapshots: '@types/fs-extra@9.0.13': dependencies: - '@types/node': 24.5.2 + '@types/node': 24.10.13 optional: true '@types/http-cache-semantics@4.0.4': {} @@ -4114,16 +4125,20 @@ snapshots: '@types/keyv@3.1.4': dependencies: - '@types/node': 24.5.2 + '@types/node': 24.10.13 '@types/mute-stream@0.0.4': dependencies: - '@types/node': 22.18.6 + '@types/node': 24.10.13 '@types/node@22.18.6': dependencies: undici-types: 6.21.0 + '@types/node@24.10.13': + dependencies: + undici-types: 7.16.0 + '@types/node@24.5.2': dependencies: undici-types: 7.12.0 @@ -4138,7 +4153,7 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 22.18.6 + '@types/node': 24.10.13 optional: true '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@4.5.5))(eslint@8.57.1)(typescript@4.5.5)': @@ -4416,6 +4431,10 @@ snapshots: dependencies: balanced-match: 1.0.2 + brace-expansion@2.1.0: + dependencies: + balanced-match: 1.0.2 + braces@3.0.3: dependencies: fill-range: 7.1.1 @@ -4444,7 +4463,7 @@ snapshots: lru-cache: 7.18.3 minipass: 3.3.6 minipass-collect: 1.0.2 - minipass-flush: 1.0.5 + minipass-flush: 1.0.7 minipass-pipeline: 1.2.4 mkdirp: 1.0.4 p-map: 4.0.0 @@ -4787,10 +4806,10 @@ snapshots: - supports-color optional: true - electron@38.1.2: + electron@40.8.3: dependencies: '@electron/get': 2.0.3 - '@types/node': 22.18.6 + '@types/node': 24.10.13 extract-zip: 2.0.1 transitivePeerDependencies: - supports-color @@ -5079,7 +5098,7 @@ snapshots: signal-exit: 3.0.7 strip-eof: 1.0.0 - exponential-backoff@3.1.2: {} + exponential-backoff@3.1.3: {} external-editor@3.1.0: dependencies: @@ -5315,7 +5334,7 @@ snapshots: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 5.1.6 + minimatch: 5.1.9 once: 1.4.0 global-agent@3.0.0: @@ -5483,7 +5502,7 @@ snapshots: interpret@3.1.1: {} - ip-address@10.0.1: {} + ip-address@10.1.0: {} is-array-buffer@3.0.5: dependencies: @@ -5734,7 +5753,7 @@ snapshots: minipass: 3.3.6 minipass-collect: 1.0.2 minipass-fetch: 2.1.2 - minipass-flush: 1.0.5 + minipass-flush: 1.0.7 minipass-pipeline: 1.2.4 negotiator: 0.6.4 promise-retry: 2.0.1 @@ -5791,9 +5810,9 @@ snapshots: dependencies: brace-expansion: 1.1.12 - minimatch@5.1.6: + minimatch@5.1.9: dependencies: - brace-expansion: 2.0.2 + brace-expansion: 2.1.0 minimatch@9.0.5: dependencies: @@ -5813,7 +5832,7 @@ snapshots: optionalDependencies: encoding: 0.1.13 - minipass-flush@1.0.5: + minipass-flush@1.0.7: dependencies: minipass: 3.3.6 @@ -5866,7 +5885,7 @@ snapshots: nice-try@1.0.5: {} - node-abi@3.77.0: + node-abi@3.89.0: dependencies: semver: 7.7.2 @@ -6375,7 +6394,7 @@ snapshots: socks@2.8.7: dependencies: - ip-address: 10.0.1 + ip-address: 10.1.0 smart-buffer: 4.2.0 source-map-js@1.2.1: {} @@ -6638,6 +6657,8 @@ snapshots: undici-types@7.12.0: {} + undici-types@7.16.0: {} + unique-filename@2.0.1: dependencies: unique-slug: 3.0.0 @@ -6679,13 +6700,13 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vite@5.4.20(@types/node@24.5.2): + vite@5.4.20(@types/node@24.10.13): dependencies: esbuild: 0.21.5 postcss: 8.5.6 rollup: 4.52.2 optionalDependencies: - '@types/node': 24.5.2 + '@types/node': 24.10.13 fsevents: 2.3.3 wcwidth@1.0.1: