diff --git a/src/auto-reply/heartbeat.ts b/src/auto-reply/heartbeat.ts index 838327a6129..2cb54af19df 100644 --- a/src/auto-reply/heartbeat.ts +++ b/src/auto-reply/heartbeat.ts @@ -277,31 +277,3 @@ export function isTaskDue(lastRunMs: number | undefined, interval: string, nowMs return false; } } - -/** - * Get or initialize last run time for a task from session store. - */ -export function getTaskLastRunMs( - taskName: string, - sessionEntry: Record | undefined, -): number | undefined { - if (!sessionEntry?.heartbeatTaskState) { - return undefined; - } - const taskState = sessionEntry.heartbeatTaskState as Record; - return taskState[taskName]; -} - -/** - * Update last run time for a task in session store. - */ -export function updateTaskLastRunMs( - taskName: string, - nowMs: number, - sessionEntry: Record, -): void { - if (!sessionEntry.heartbeatTaskState) { - sessionEntry.heartbeatTaskState = {}; - } - (sessionEntry.heartbeatTaskState as Record)[taskName] = nowMs; -} diff --git a/src/infra/heartbeat-runner.ts b/src/infra/heartbeat-runner.ts index 4740eef79e9..140a09a2569 100644 --- a/src/infra/heartbeat-runner.ts +++ b/src/infra/heartbeat-runner.ts @@ -879,6 +879,8 @@ export async function runHeartbeatOnce(opts: { silent: !okSent, indicatorType: visibility.useIndicator ? resolveIndicatorType("ok-token") : undefined, }); + heartbeatSuccess = true; + await updateTaskTimestamps(); return { status: "ran", durationMs: Date.now() - startedAt }; } @@ -915,6 +917,8 @@ export async function runHeartbeatOnce(opts: { channel: delivery.channel !== "none" ? delivery.channel : undefined, accountId: delivery.accountId, }); + heartbeatSuccess = true; + await updateTaskTimestamps(); return { status: "ran", durationMs: Date.now() - startedAt }; } @@ -935,6 +939,8 @@ export async function runHeartbeatOnce(opts: { hasMedia: mediaUrls.length > 0, accountId: delivery.accountId, }); + heartbeatSuccess = true; + await updateTaskTimestamps(); return { status: "ran", durationMs: Date.now() - startedAt }; }