Commit Graph
4 Commits
Author SHA1 Message Date
sudacode c149746548 fix(stats): preserve pruned first_seen and stamp seen_ms at observation
- Record occurrence seen_ms from the observation time instead of flush time
- On session delete, only move first_seen when removed timestamps prove it was deleted; keep earlier dates from retention-pruned or legacy history
- Exact refresh fallback keeps subtraction-exact frequency and preserved first_seen
- Add tests for pruned history, legacy rows, and delayed flushes; update docs and change fragments
2026-10-02 22:19:28 -07:00
sudacode 6e9ec3722e fix(stats): keep Overview usable when refresh fails 2026-10-02 11:14:14 -07:00
sudacode f94eb84179 fix(stats): refresh Overview data after deleting sessions
- Add a refresh key to OverviewTab that refetches overview, streak calendar, and known-words summary after single, day, or anime session deletes
- Reset loading/error state in useStreakCalendar on refetch
- Add OverviewTab tests covering each delete mode and a failed delete
- Document the automatic refresh and add changelog fragments
2026-10-02 10:51:01 -07:00
sudacode 4677f5624b fix(stats): count mined cards once and keep lexical stats exact after deletes
- Card creation now owns mined-card counting; remove the outer single and
  multi-line mining increments that double counted each card.
- Preserve fractional first_seen/last_seen precision when session deletes
  compare and refresh lexical aggregates.
- Derive vocabulary_visible from the stored word row on every write so the
  new-word charts agree with the filtered vocabulary summary.
- Bump the lexical rollup version so existing databases re-derive visibility
  and repair stale last_seen values once in the background worker.
2026-10-01 22:56:38 -07:00