From b3b72b1550c1372e6a1d1e363835a4b7d75f4422 Mon Sep 17 00:00:00 2001 From: "paseo-bot[bot]" <266920839+paseo-bot[bot]@users.noreply.github.com> Date: Sat, 7 Nov 2026 20:45:45 +0000 Subject: [PATCH] test(desktop): cover a daemon stopping during startup Keep incomplete host registration out of startup recovery when a delayed daemon exits before readiness. Co-authored-by: magiclaw <930198090@qq.com> --- .../src/runtime/daemon-start-service.test.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/packages/app/src/runtime/daemon-start-service.test.ts b/packages/app/src/runtime/daemon-start-service.test.ts index 88fda398bb..8f28caa069 100644 --- a/packages/app/src/runtime/daemon-start-service.test.ts +++ b/packages/app/src/runtime/daemon-start-service.test.ts @@ -64,6 +64,24 @@ function makeRelayOnlyHost(serverId: string): HostProfile { } describe("DaemonStartService", () => { + it("reports a daemon that stops during startup without registering an incomplete host", async () => { + const fake = createFakeStore(); + const service = new DaemonStartService({ + store: fake.store, + startDesktopDaemon: async () => + makeStatus({ status: "starting", serverId: "", listen: null }), + getDesktopDaemonStatus: async () => + makeStatus({ status: "stopped", serverId: "", listen: null, pid: null }), + }); + + expect(await service.start()).toEqual({ + ok: false, + error: "The local daemon stopped before startup completed.", + }); + expect(service.isRunning()).toBe(false); + expect(fake.upserts).toEqual([]); + }); + it("keeps startup pending until a slow daemon becomes ready without restarting it", async () => { vi.useFakeTimers(); try {