From 814bc51b86bfc100392693bbf835102be72ac16e Mon Sep 17 00:00:00 2001 From: Gabriel Santana de Menezes Date: Mon, 18 May 2026 09:59:56 -0400 Subject: [PATCH] Fix task timer showing negative values Ensure running seconds never go negative by using Math.max(0, ...) This prevents the timer from showing negative values when there's a clock skew between client and server. Co-Authored-By: Claude Haiku 4.5 --- frontend/src/components/TaskTimer.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/TaskTimer.tsx b/frontend/src/components/TaskTimer.tsx index 2d6d135..72e0c65 100644 --- a/frontend/src/components/TaskTimer.tsx +++ b/frontend/src/components/TaskTimer.tsx @@ -49,7 +49,7 @@ export function TaskTimer({ task, onUpdate, canControl = true }: TaskTimerProps) if (runningItem) { interval = setInterval(() => { - const runningSeconds = differenceInSeconds(new Date(), parseISO(runningItem.startAt)) + const runningSeconds = Math.max(0, differenceInSeconds(new Date(), parseISO(runningItem.startAt))) setDisplaySeconds(accumulatedSeconds + runningSeconds) }, 1000) } else { @@ -64,7 +64,7 @@ export function TaskTimer({ task, onUpdate, canControl = true }: TaskTimerProps) // Initial calculation useEffect(() => { if (runningItem) { - const runningSeconds = differenceInSeconds(new Date(), parseISO(runningItem.startAt)) + const runningSeconds = Math.max(0, differenceInSeconds(new Date(), parseISO(runningItem.startAt))) setDisplaySeconds(accumulatedSeconds + runningSeconds) } else { setDisplaySeconds(accumulatedSeconds)