From e32ba17443e9aadca93f1ef4156493b15155e4bd Mon Sep 17 00:00:00 2001 From: arkon Date: Mon, 26 Jan 2026 03:13:54 +0100 Subject: [PATCH] fix: prevent daily token stats from re-counting restored sessions When sessions were restored after server restart, lastRecordedTokens was not initialized, causing the periodic token recording to treat the entire restored token count as new usage. This inflated daily stats by re-counting tokens on every server restart. Co-Authored-By: Claude Opus 4.5 --- src/web/server.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/web/server.ts b/src/web/server.ts index fd51e0b2..dc8e5325 100644 --- a/src/web/server.ts +++ b/src/web/server.ts @@ -3109,6 +3109,11 @@ export class WebServer extends EventEmitter { savedState.outputTokens ?? 0, savedState.totalCost ?? 0 ); + // Initialize lastRecordedTokens to prevent re-counting restored tokens as new daily usage + this.lastRecordedTokens.set(session.id, { + input: savedState.inputTokens ?? 0, + output: savedState.outputTokens ?? 0, + }); const totalTokens = (savedState.inputTokens ?? 0) + (savedState.outputTokens ?? 0); if (totalTokens > 0) { console.log(`[Server] Restored tokens for session ${session.id}: ${totalTokens} tokens, $${(savedState.totalCost ?? 0).toFixed(4)}`);