feat(activity): add the interactive activity dashboard #308

Merged
kfickel merged 3 commits from 281_activity-tui-dashboard into main 2026-10-20 15:09:49 +02:00
Collaborator

Closes #281.

Activity tabs now show a scrolling dashboard with summary tiles, calendar or yearly grid, Days table and recent shards. Enter drills into a month and day; Backspace restores the previous range and cursor. Range stepping respects tracked dates, and mixed-day counting can be toggled for the session.

The day and all-shards lists support selection, series filters and editing the selected file and line with reload afterwards. Titles load for the visible page plus a margin and are cached until reload; unreadable files appear as their source with a status error. Narrow terminals collapse tiles and keep the grid cursor visible. The range picker remains #282 (t reports not available yet).

Chart styling and title conversion are shared with printed output; its existing golden tests remain unchanged. Includes pure navigation tests, eight TestBackend snapshots (80 and 50 columns), editor/reload and unreadable-file tests, and updated README, AGENTS.md and R36a.

Validation:

  • cargo test: 1,700 tests passed across the workspace.
  • cargo clippy --all-targets -- -D warnings: passed.
  • nix flake check: all seven checks passed on x86_64-linux, including audit, architecture and Kotlin bindings.
  • All three commits are GPG-signed and passed the repository hooks.

Local test commands unset the inherited NO_COLOR variable because the existing ANSI-colour golden test requires colour escapes.

Closes #281. Activity tabs now show a scrolling dashboard with summary tiles, calendar or yearly grid, Days table and recent shards. Enter drills into a month and day; Backspace restores the previous range and cursor. Range stepping respects tracked dates, and mixed-day counting can be toggled for the session. The day and all-shards lists support selection, series filters and editing the selected file and line with reload afterwards. Titles load for the visible page plus a margin and are cached until reload; unreadable files appear as their source with a status error. Narrow terminals collapse tiles and keep the grid cursor visible. The range picker remains #282 (`t` reports `not available yet`). Chart styling and title conversion are shared with printed output; its existing golden tests remain unchanged. Includes pure navigation tests, eight TestBackend snapshots (80 and 50 columns), editor/reload and unreadable-file tests, and updated README, AGENTS.md and R36a. Validation: - `cargo test`: 1,700 tests passed across the workspace. - `cargo clippy --all-targets -- -D warnings`: passed. - `nix flake check`: all seven checks passed on x86_64-linux, including audit, architecture and Kotlin bindings. - All three commits are GPG-signed and passed the repository hooks. Local test commands unset the inherited `NO_COLOR` variable because the existing ANSI-colour golden test requires colour escapes.
docs(activity): describe dashboard navigation and rendering
All checks were successful
Continuous Integration / Build Package (push) Successful in 10m33s
Continuous Integration / Lint, Check & Test (push) Successful in 4m11s
Continuous Integration / Conventional Commits (push) Successful in 25s
585d0b0f65
kfickel deleted branch 281_activity-tui-dashboard 2026-10-20 15:09:50 +02:00
Sign in to join this conversation.
No reviewers
No labels
android
cli
epic
planned
tui
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
kfickel/streamd!308
No description provided.