You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix ReferenceError: cutoff is not defined in the hourly filter that blanked the entire dashboard (#73, thanks @thomasleveil)
Fix hourly chart ignoring the range upper bound for week / month / prev-month ranges
Fix 404 on dashboard URLs containing query strings (?range=...&models=...) so reloads and bookmarks work, with regression tests (#81, thanks @jakduch)
Fix blank dashboard for users whose data only contains non-billable / unknown models, or rows with empty model names: COALESCE(NULLIF(model, ''), 'unknown') normalises empty-string models (in both SELECT and GROUP BY so mixed NULL + '' rows collapse to a single "unknown" group), and the default selection falls back to all models when no billable models exist (#109, thanks @HaydenHaines)
Use ThreadingHTTPServer so a slow /api/data no longer blocks other dashboard requests (#79, thanks @jakduch)
Fix incremental scan not updating first_timestamp when a newly discovered session's records arrive out of order (#111, thanks @Fruhji)
Project / docs
Adopt AGENTS.md as the canonical agent guide (shared with Codex); CLAUDE.md is now a thin @AGENTS.md import
Codify the rule that future PR merges must preserve original-author commits (merge --no-ff for full merges, cherry-pick for partial, Co-Authored-By trailers when applying hunks manually)