v2.1.0 — Projects View
What's New
Projects View
- New Timeline / Projects toggle in the Session Log header
- Groups all sessions by working directory (
cwd) so you can see how much each project costs - Projects sorted by total cost (highest first), sessions without a project grouped at the end
- Expandable project rows show full session sub-tables with date, time, source, model, tokens, and cost
- Lazy detail rendering — sub-tables are only built when you first expand a project row
Performance
- Lazy rendering for Timeline view — day detail panels (source cards + session sub-tables) are now built on first expand instead of eagerly on render
- Single-pass aggregation — replaced 5x separate
.reduce()calls with single-pass loops in totals, per-day, and per-project calculations - Filter short-circuit —
filterSessionsis skipped entirely when no filters are active, avoiding unnecessary O(n) array allocation on every view switch
Code Quality
- Consolidated
_applyFiltersCallbackfrom 3 duplicate definitions to a singleapplyCurrentFilters()function - Replaced
window._projectsDataandwindow._toggleAllForCurrentViewglobals with module-scoped variables and function parameters - Simplified
updateTableHeaderto swap 2 cell texts instead of rebuilding all 8<th>elements
Download
| Platform | Download |
|---|---|
| macOS (Apple Silicon) | Claude-Usage-Tracker-macOS-AppleSilicon.zip |
| macOS (Intel) | Claude-Usage-Tracker-macOS-Intel.zip |
Requires Node.js (v16+) and macOS 12.0+