From f19007cd83a5b3e32a74db0a562da7772a8b27a3 Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Tue, 28 Apr 2026 21:49:35 +0700 Subject: [PATCH] Add diagnostic logging to daemon startup --- packages/desktop/src/daemon/daemon-manager.ts | 11 +++++++++-- packages/desktop/src/daemon/node-entrypoint-runner.ts | 4 ++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/desktop/src/daemon/daemon-manager.ts b/packages/desktop/src/daemon/daemon-manager.ts index f8967aa02..a8bbe98cb 100644 --- a/packages/desktop/src/daemon/daemon-manager.ts +++ b/packages/desktop/src/daemon/daemon-manager.ts @@ -355,6 +355,13 @@ async function startDaemon(): Promise { daemonRunnerExecArgv: daemonRunner.execArgv, command: invocation.command, args: invocation.args, + electronRunAsNode: invocation.env.ELECTRON_RUN_AS_NODE ?? null, + parentExecPath: process.execPath, + parentElectronRunAsNode: process.env.ELECTRON_RUN_AS_NODE ?? null, + electronVersion: process.versions.electron ?? null, + nodeVersion: process.versions.node, + platform: process.platform, + arch: process.arch, }); const child: ChildProcess = spawnProcess(invocation.command, invocation.args, { @@ -409,13 +416,13 @@ async function startDaemon(): Promise { logDesktopDaemonLifecycle("detached startup grace period completed", { childPid: child.pid ?? null, exitedEarly: result.exitedEarly, + stdout: stdout.slice(0, 2000), + stderr: stderr.slice(0, 2000), ...(result.exitedEarly ? { exitCode: result.code, signal: result.signal, error: result.error?.message ?? null, - stdout: stdout.slice(0, 2000), - stderr: stderr.slice(0, 2000), } : {}), }); diff --git a/packages/desktop/src/daemon/node-entrypoint-runner.ts b/packages/desktop/src/daemon/node-entrypoint-runner.ts index dae45077d..21771ba83 100644 --- a/packages/desktop/src/daemon/node-entrypoint-runner.ts +++ b/packages/desktop/src/daemon/node-entrypoint-runner.ts @@ -1,5 +1,9 @@ import { pathToFileURL } from "node:url"; +process.stderr.write( + `[paseo-runner] argv=${JSON.stringify(process.argv)} run-as-node=${process.env.ELECTRON_RUN_AS_NODE ?? ""} execPath=${process.execPath}\n`, +); + export async function main(): Promise { const [argvMode, entryPath, ...args] = process.argv.slice(2); if (argvMode !== "bare" && argvMode !== "node-script") {