From 26b087c1b46df5057d162d644d0f52bc249cad75 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Wed, 26 Nov 2025 18:32:25 +0100 Subject: [PATCH] Heartbeat: honor session override --- src/web/auto-reply.test.ts | 5 ++++- src/web/auto-reply.ts | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/web/auto-reply.test.ts b/src/web/auto-reply.test.ts index 20914fc69..f4dbcb7d0 100644 --- a/src/web/auto-reply.test.ts +++ b/src/web/auto-reply.test.ts @@ -346,7 +346,10 @@ describe("runWebHeartbeatOnce", () => { (call) => call[0]?.Body === HEARTBEAT_PROMPT, ); expect(heartbeatCall?.[0]?.MessageSid).toBe(sessionId); - // We only need to assert the resolver saw the override; store seeding is a best-effort. + const raw = await fs.readFile(storePath, "utf-8"); + const stored = raw ? JSON.parse(raw) : {}; + expect(stored["+1999"]?.sessionId).toBe(sessionId); + expect(stored["+1999"]?.updatedAt).toBeDefined(); }); }); diff --git a/src/web/auto-reply.ts b/src/web/auto-reply.ts index 380c06f89..e69b3157e 100644 --- a/src/web/auto-reply.ts +++ b/src/web/auto-reply.ts @@ -103,7 +103,7 @@ export async function runWebHeartbeatOnce(opts: { sessionId, updatedAt: Date.now(), }; - saveSessionStore(storePath, store); + await saveSessionStore(storePath, store); } const sessionSnapshot = getSessionSnapshot(cfg, to, true); if (verbose) {