Review activity heatmap - #30
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.
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 checkpasses: 1,369 unit checks and all 58 golden cases.Also fixed the
review-cloze-undofixture, 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 bytest_undo_restores_card_exactly.