Skip to content

Review activity heatmap - #30

Merged
Aduneer merged 2 commits into
mainfrom
review-activity
Sep 7, 2026
Merged

Review activity heatmap#30
Aduneer merged 2 commits into
mainfrom
review-activity

Conversation

@Aduneer

@Aduneer Aduneer commented Sep 7, 2026

Copy link
Copy Markdown
Owner

The progress screen now shows when you studied, alongside how many cards you have reviewed. Up to twelve weeks fit into a calendar, with weeks running left to right and Monday–Sunday rows.

--- Review Activity ---
  2024-02-19 to 2024-03-01
  Mon · ░
  Tue · ░
  Wed · ▒
  Thu · ▓
  Fri ▒ █
  Sat ·
  Sun ·
  Reviews/day (local time):
  · 0   ░ 1–4   ▒ 5–9
  ▓ 10–19   █ 20+

The calendar is visible before the first review too: past days start as dots, and future days stay blank. Narrower terminals show fewer weeks. Shading remains readable with colour disabled.

summarize() already walks the log and converts timestamps to local days. Its set of active days becomes a map of daily review counts, shared by the streak and the calendar. Correct answers, mistakes and hints all count; undone answers do not. Older card counters cannot supply dates, so only logged reviews fill the calendar. No new dependencies or deck-format changes.

Checks

1,369 unit checks pass, including empty history, undo, hints, shading boundaries, week alignment, leap day, year boundaries and future cells. The progress golden case passes; its current-week cells are normalised because the weekday changes between runs, with exact layout covered by fixed-date unit tests.

make check passes: 1,369 unit checks and all 58 golden cases.

Also fixed the review-cloze-undo fixture, whose hard-coded due date made its “overdue by 19 days” transcript expire. It now starts without dates while keeping its counters and Box 3, so the test still checks demotion, undo and promotion without depending on the day it runs. Exact restoration of a dated card remains covered by test_undo_restores_card_exactly.

@Aduneer
Aduneer merged commit ce8eaa6 into main Sep 7, 2026
6 checks passed
@Aduneer
Aduneer deleted the review-activity branch September 7, 2026 16:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant