diff --git a/config/scripts/electron-runtime-floor.test.ts b/config/scripts/electron-runtime-floor.test.ts index 77a1d4741e0..3506b736398 100644 --- a/config/scripts/electron-runtime-floor.test.ts +++ b/config/scripts/electron-runtime-floor.test.ts @@ -7,10 +7,12 @@ import { describe, expect, it } from 'vitest' * around `gtk_init()` while FontConfig warmed up on a pool thread, and below * glibc 2.41 that frees `environ` under a concurrent `getenv()` — a launch-time * use-after-free on every Ubuntu we support (stablyai/orca#20081). 43.7.0 stops - * freeing the published `environ`. A downgrade past it re-ships that crash, and - * nothing else in the tree would notice. + * freeing the published `environ`. 43.7.0 itself threw `Invalid guestInstanceId` when a + * loaded `` left the DOM, which blanked browser tabs React re-inserted + * (electron/electron#53989); 43.7.4 fixes it. A downgrade past either re-ships the bug, + * and nothing else in the tree would notice. */ -const MINIMUM_ELECTRON_VERSION = '43.7.0' +const MINIMUM_ELECTRON_VERSION = '43.7.4' function parseVersion(specifier: string): [number, number, number] { const match = /(\d+)\.(\d+)\.(\d+)/.exec(specifier) @@ -35,15 +37,17 @@ describe('electron runtime floor', () => { it.each([ ['42.9.0', false], ['43.6.0', false], - ['43.7.0', true], - ['43.7.1', true], + ['43.7.0', false], + ['43.7.3', false], + ['43.7.4', true], + ['43.7.5', true], ['43.8.0', true], ['44.0.0', true] ])('reads %s as meeting the floor: %s', (specifier, expected) => { expect(meetsRuntimeFloor(specifier)).toBe(expected) }) - it('pins Electron at or above the glibc environ-race fix', () => { + it('pins Electron at or above the glibc environ-race and webview-detach fixes', () => { const packageJson = JSON.parse( readFileSync(join(__dirname, '../../package.json'), 'utf-8') ) as { devDependencies: Record } diff --git a/package.json b/package.json index 9ba088dcc4e..feec79fee07 100644 --- a/package.json +++ b/package.json @@ -256,7 +256,7 @@ "cmdk": "^1.1.1", "diff": "8.0.4", "dompurify": "3.4.15", - "electron": "43.7.0", + "electron": "43.7.5", "electron-builder": "^26.15.3", "electron-builder-squirrel-windows": "^26.15.3", "electron-vite": "^5.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1d2fe31772f..3d82edc51bf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -128,7 +128,7 @@ importers: version: 0.3.251(@anthropic-ai/sdk@0.122.0(zod@4.6.5))(@modelcontextprotocol/sdk@1.30.0(supports-color@7.2.0)(zod@4.6.5))(zod@4.6.5) '@electron-toolkit/utils': specifier: ^4.0.0 - version: 4.0.0(electron@43.7.0(supports-color@7.2.0)) + version: 4.0.0(electron@43.7.5(supports-color@7.2.0)) '@floating-ui/dom': specifier: 1.8.0 version: 1.8.0 @@ -365,8 +365,8 @@ importers: specifier: 3.4.15 version: 3.4.15 electron: - specifier: 43.7.0 - version: 43.7.0(supports-color@7.2.0) + specifier: 43.7.5 + version: 43.7.5(supports-color@7.2.0) electron-builder: specifier: ^26.15.3 version: 26.15.3(electron-builder-squirrel-windows@26.15.3) @@ -4770,8 +4770,8 @@ packages: resolution: {integrity: sha512-bO3y10YikuUwUuDUQRM4KfwNkKhnpVO7IPdbsrejwN9/AABJzzTQ4GeHwyzNSrVO+tEH3/Np255a3sVZpZDjvg==} engines: {node: '>=8.0.0'} - electron@43.7.0: - resolution: {integrity: sha512-m98FUehwnoo6q2D9Mr+n602Natb2CRFeKD81GhTdJlKh/Iyud0R1X8hChjpaMBLSsIX9r2ZEFnz0sdIALiO9ZQ==} + electron@43.7.5: + resolution: {integrity: sha512-AR+OLH/8QAwx6Lz6mhaDQhesbjC/Xh2WOiFSI/CDFU6FKX/qJdBg65bEUn+MLvbvIi/LlaRQeLljnUcKb1KS0A==} engines: {node: '>= 22.12.0'} hasBin: true @@ -7965,9 +7965,9 @@ snapshots: dependencies: '@types/node': 25.9.5 - '@electron-toolkit/utils@4.0.0(electron@43.7.0(supports-color@7.2.0))': + '@electron-toolkit/utils@4.0.0(electron@43.7.5(supports-color@7.2.0))': dependencies: - electron: 43.7.0(supports-color@7.2.0) + electron: 43.7.5(supports-color@7.2.0) '@electron/asar@3.4.1': dependencies: @@ -11628,7 +11628,7 @@ snapshots: transitivePeerDependencies: - supports-color - electron@43.7.0(supports-color@7.2.0): + electron@43.7.5(supports-color@7.2.0): dependencies: '@electron-internal/extract-zip': 1.0.4 '@electron/get': 5.0.0(supports-color@7.2.0) diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 1cf67829478..e8a845e1975 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -16,7 +16,6 @@ minimumReleaseAge: 4320 minimumReleaseAgeExclude: - pdfjs-dist@6.3.289 - zod@4.5.4 - - electron@43.7.0 - '@shadcn/lint@0.1.0' shamefullyHoist: true