diff --git a/src/cli/daemon-cli.ts b/src/cli/daemon-cli.ts index 55a8a1450..793b1ea5b 100644 --- a/src/cli/daemon-cli.ts +++ b/src/cli/daemon-cli.ts @@ -993,7 +993,12 @@ export async function runDaemonStop() { } } -export async function runDaemonRestart() { +/** + * Restart the gateway daemon service. + * @returns `true` if restart succeeded, `false` if the service was not loaded. + * Throws/exits on check or restart failures. + */ +export async function runDaemonRestart(): Promise { const service = resolveGatewayService(); let loaded = false; try { @@ -1001,20 +1006,22 @@ export async function runDaemonRestart() { } catch (err) { defaultRuntime.error(`Gateway service check failed: ${String(err)}`); defaultRuntime.exit(1); - return; + return false; } if (!loaded) { defaultRuntime.log(`Gateway service ${service.notLoadedText}.`); for (const hint of renderGatewayServiceStartHints()) { defaultRuntime.log(`Start with: ${hint}`); } - return; + return false; } try { await service.restart({ stdout: process.stdout }); + return true; } catch (err) { defaultRuntime.error(`Gateway restart failed: ${String(err)}`); defaultRuntime.exit(1); + return false; } } diff --git a/src/cli/update-cli.test.ts b/src/cli/update-cli.test.ts index cf555a6fd..a29d8b1ac 100644 --- a/src/cli/update-cli.test.ts +++ b/src/cli/update-cli.test.ts @@ -124,7 +124,7 @@ describe("update-cli", () => { }; vi.mocked(runGatewayUpdate).mockResolvedValue(mockResult); - vi.mocked(runDaemonRestart).mockResolvedValue(); + vi.mocked(runDaemonRestart).mockResolvedValue(true); await updateCommand({ restart: true }); diff --git a/src/cli/update-cli.ts b/src/cli/update-cli.ts index 8ae2872f5..8d6f0d4bb 100644 --- a/src/cli/update-cli.ts +++ b/src/cli/update-cli.ts @@ -156,8 +156,8 @@ export async function updateCommand(opts: UpdateCommandOptions): Promise { defaultRuntime.log(theme.heading("Restarting daemon...")); } try { - await runDaemonRestart(); - if (!opts.json) { + const restarted = await runDaemonRestart(); + if (!opts.json && restarted) { defaultRuntime.log(theme.success("Daemon restarted successfully.")); } } catch (err) {