From 12e87eccfcf8b874f50f46800a8954fea67b9cf6 Mon Sep 17 00:00:00 2001 From: James Date: Sun, 1 Mar 2026 00:01:22 -0500 Subject: [PATCH] chore: auto-commit uncommitted changes --- server.js | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/server.js b/server.js index a1e05e9..de78ae9 100644 --- a/server.js +++ b/server.js @@ -470,16 +470,15 @@ app.get('/api/claude-usage', async (req, res) => { const now = new Date(); const et = new Date(now.toLocaleString('en-US', { timeZone: 'America/New_York' })); const day = et.getDay(); - const daysSinceSat = day === 6 ? 0 : day + 1; - const lastSat = new Date(et); - lastSat.setDate(lastSat.getDate() - daysSinceSat); - lastSat.setHours(14, 0, 0, 0); - if (et < lastSat) lastSat.setDate(lastSat.getDate() - 7); + // Week resets Thu 10 PM ET (changed from Sat 2PM — 2026-02-28) + const daysSinceThu = (day + 3) % 7; + const lastThu = new Date(et); + lastThu.setDate(lastThu.getDate() - daysSinceThu); + lastThu.setHours(22, 0, 0, 0); + if (et < lastThu) lastThu.setDate(lastThu.getDate() - 7); const weekMs = 7 * 24 * 60 * 60 * 1000; - // Exclude Sat 7AM–2PM (7h dead zone — Johan asleep, can't use Claude) - // Effective usable week = 168h - 7h = 161h, ending Sat 7AM instead of 2PM - const usableMs = 161 * 60 * 60 * 1000; - const elapsed = et - lastSat; + const usableMs = weekMs; + const elapsed = et - lastThu; const effElapsed = Math.min(Math.max(0, elapsed), usableMs); const timePct = Math.min(100, (effElapsed / usableMs) * 100); const pace = timePct > 0 ? Math.round((usagePct / timePct) * 100) : null;