From e1d80af9899e078f53d2232d2d7ef4680a14bf1c Mon Sep 17 00:00:00 2001 From: Martin Kagamino Lehoux Date: Tue, 8 Sep 2026 10:11:26 +0200 Subject: Never-done routines are always at least due A routine with no completions shows due instead of ok, even right after creation; ok requires a completion within the current period. --- src/lib/shared/routine-metrics.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/lib/shared/routine-metrics.ts') diff --git a/src/lib/shared/routine-metrics.ts b/src/lib/shared/routine-metrics.ts index 59413c2..4af989d 100644 --- a/src/lib/shared/routine-metrics.ts +++ b/src/lib/shared/routine-metrics.ts @@ -64,8 +64,10 @@ export function computeRoutineState( // Buckets on overdue time in units of the routine's own frequency: // not due / due now / late (half a period overdue) / very late (a full // period overdue — a weekly routine two weeks old lands here). + // A routine that was never done is always at least due: there is + // something to do, even right after creation. const status: RoutineStatus = - rawRatio < 0 + rawRatio < 0 && lastDoneMs !== null ? 'ok' : overdueRatio < 0.5 ? 'due' -- cgit v1.3