mirror of
https://github.com/stablyai/orca.git
synced 2026-10-01 00:02:10 +00:00
fix(deps): take Electron 43.7.5 so detached webviews stop blanking browser tabs (#23586)
Electron 43.7.0 threw 'Invalid guestInstanceId' from <webview>'s disconnectedCallback for a loaded guest (electron/electron#53989), so a webview React removed and re-inserted kept a dead guest id: the tab went blank, reload did nothing, and the destroyed listener never fired. 43.7.4 (electron/electron#54097) returns early when the guest is gone. Raises the runtime floor test to 43.7.4 so a downgrade cannot re-ship it. Fixes STA-8757
This commit is contained in:
@@ -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 `<webview>` 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<string, string> }
|
||||
|
||||
+1
-1
@@ -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",
|
||||
|
||||
Generated
+8
-8
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user