mirror of
https://github.com/openclaw/openclaw.git
synced 2026-09-30 09:38:07 +08:00
A Bun Gateway could not control its managed desktop without a separate Node.js install: the computer host resolved a real Node from the desktop PATH (#147275, then #151933 skipped Bun's node shim). Under Node that owner already returned process.execPath; under Bun it demanded a second runtime even though the helper and the CUA provider run on Bun. Spawn the helper with process.execPath and resolveRuntimeWorkerArgv, the contract other runtime workers use. Node keeps the same executable. The runtime test now asserts the helper runs on the host's executable; it fails under Bun with the previous code, which launched a PATH node. The Linux live proof gains --runtime to start the built Gateway on another executable with no node on PATH and to record every owned process's executable. Docs drop the Node requirement and note that Bun 1.4.2 lets launched desktop apps inherit the helper's streams until Bun marks inherited descriptors close-on-exec like Node (openclaw/bun#12).