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
Follow-up polish to the session-analytics `/stats` and `/all-stats`
pages (from #65), based on hands-on testing.
## Live sessions
- **Delete button** per session (owner-scoped — only the viewer's own
sessions show it; on `/all-stats` another user's row has none). Reuses
`/sessions/delete` with an allowlisted `next` so the delete returns to
the stats page.
- New columns: **Created**, **Deletes on**, **Shared** (from the local
session row), and **Input / Output tokens** split out (was a single
total).
## Deleted sessions
- Totals rendered as a **compact grouped table** (replaces the tile
grid): token components indented under Total tokens; **Tool calls split
into MCP / Builtin** (derived at read time from the stored
`tool_breakdown` — no schema change, reconciles to the total);
"Incomplete captures" flagged.
## Tokens over time
- **Buckets by `created_at`** (when sessions were used) instead of
`deleted_at` (~7 days later, misleading).
- **Bucketing happens client-side in the viewer's display time zone**
(`stats.js`), matching how every other timestamp renders — the server
stays UTC-only and emits the raw per-session series, since the display
zone is a client-only preference.
- Fixed the bar fill not rendering (inline `<span>` → `display:block`)
and the value column word-wrapping.
## Tests
339 pass (+ new coverage for the delete button/`next` redirect,
local-row columns, the MCP split, and the per-session series). Verified
end-to-end with a headless render.
No schema or prod-DB change in this PR.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
0 commit comments