feat(desktop): upgrade Electron to 43.3 for Linux frameless rounded corners (#2765)
* feat(desktop): upgrade Electron to 43.3 for Linux frameless rounded corners - electron ^41.2.1 -> ^43.3.0 (electron/electron#51459/#52111: rounded corners for frameless windows on Linux, default-on; disable via roundedCorners: false) - @electron/rebuild ^3.7.0 -> ^4.2.0 to build native modules against the new Electron ABI - pin node-abi to 4.33.0 via root overrides so @electron/rebuild (and electron-builder's internal rebuild) can resolve Electron 43's ABI - README: Electron 43 ships its own fixed extractor (extract-zip 2.0.1 Node-24 unpack bug no longer applies; ensure-electron remains a safety net for interrupted/wrong-arch installs) * chore: re-trigger pr-review after adding visual evidence * fix(desktop): scope node-abi to Electron rebuild tooling * chore: re-trigger pr-review after dependency fix * chore: re-trigger pr-review with drag evidence * chore: retry pr-review after evidence confirmation
This commit is contained in:
@@ -44,7 +44,7 @@ bun run electron:dev
|
||||
|
||||
The Electron workspace package trusts Electron's install script so `bun install` downloads the platform runtime in fresh checkouts and worktrees.
|
||||
|
||||
Electron's postinstall (`node install.js`) is run by `bun install` with the system Node. Under Node 24, the bundled `extract-zip@2.0.1` silently unpacks only the first entry of the Electron zip, leaving `dist/` without the binary and `path.txt` missing. To keep this from blocking desktop work:
|
||||
Electron's postinstall (`node install.js`) is run by `bun install` with the system Node. Older Electron releases bundled `extract-zip@2.0.1`, which under Node 24 silently unpacked only the first entry of the Electron zip, leaving `dist/` without the binary and `path.txt` missing. Electron 43+ ships its own fixed extractor (`@electron-internal/extract-zip`), but to keep interrupted or wrong-architecture installs from blocking desktop work:
|
||||
|
||||
- The root `postinstall` runs `ensure-electron.mjs --best-effort`, which detects an incomplete Electron install (missing binary, stale `dist/version`/`path.txt`, or a binary of the wrong architecture) and repairs it by re-running the postinstall under Bun (which extracts correctly), falling back to Node.
|
||||
- `electron-dev.mjs` runs the same check (fail-fast, not best-effort) before launching, so `bun run electron:dev` self-heals even when an install was interrupted.
|
||||
|
||||
@@ -13,9 +13,10 @@
|
||||
"electron-updater": "^6.8.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@electron/rebuild": "^3.7.0",
|
||||
"electron": "^41.2.1",
|
||||
"electron-builder": "^26.0.0"
|
||||
"@electron/rebuild": "^4.2.0",
|
||||
"electron": "^43.3.0",
|
||||
"electron-builder": "^26.0.0",
|
||||
"node-abi": "^4.33.0"
|
||||
},
|
||||
"trustedDependencies": [
|
||||
"electron"
|
||||
|
||||
Reference in New Issue
Block a user