mirror of
https://github.com/actualbudget/actual.git
synced 2026-05-06 07:01:45 -05:00
[AI] Make rebuild-electron actually rebuild better-sqlite3
PR #7712 simplified rebuild-electron to just `electron-rebuild -f -o better-sqlite3,bcrypt` from the repo root. Two problems with that: 1. Without `-m`, electron-rebuild scans the root workspace's package.json for native deps. better-sqlite3 isn't a direct root dep — it lives under packages/sync-server/ — so the scan returns no candidates and the rebuild silently no-ops. 2. Without --build-from-source, electron-rebuild defers to prebuild-install, which downloads a stale prebuilt binary keyed off better-sqlite3's package.json (ABI 127) instead of recompiling against Electron 39's bundled Node ABI 140. The download succeeds and "Rebuild Complete" prints, but the resulting `better_sqlite3.node` can't `dlopen` inside Electron's utility process — sync-server crashes immediately on db init, the renderer's startSyncServer IPC never resolves, and the e2e test hangs on "Configure your server". Point -m at packages/desktop-electron (which transitively pulls in better-sqlite3 and bcrypt via @actual-app/sync-server) and force a real compile via --build-from-source. Verified locally: better-sqlite3 rebuilds to darwin-arm64-140 and the desktop e2e onboarding test passes in 6s instead of hanging for 60s. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -52,7 +52,7 @@
|
|||||||
"playwright": "yarn workspace @actual-app/web run playwright",
|
"playwright": "yarn workspace @actual-app/web run playwright",
|
||||||
"vrt": "yarn workspace @actual-app/web run vrt",
|
"vrt": "yarn workspace @actual-app/web run vrt",
|
||||||
"vrt:docker": "./bin/run-vrt",
|
"vrt:docker": "./bin/run-vrt",
|
||||||
"rebuild-electron": "./node_modules/.bin/electron-rebuild -f -o better-sqlite3,bcrypt",
|
"rebuild-electron": "./node_modules/.bin/electron-rebuild -m ./packages/desktop-electron -o better-sqlite3,bcrypt --build-from-source -f",
|
||||||
"rebuild-node": "yarn workspace @actual-app/core rebuild",
|
"rebuild-node": "yarn workspace @actual-app/core rebuild",
|
||||||
"lint": "oxfmt --check . && oxlint --type-aware --quiet",
|
"lint": "oxfmt --check . && oxlint --type-aware --quiet",
|
||||||
"lint:fix": "oxfmt . && oxlint --fix --type-aware --quiet",
|
"lint:fix": "oxfmt . && oxlint --fix --type-aware --quiet",
|
||||||
|
|||||||
Reference in New Issue
Block a user