Commit Graph
8 Commits
Author SHA1 Message Date
sudacode 3b89886557 fix(stats): version lexical rollups and preserve backfill writes
- Persist vocabulary_visible on imm_words and filter rollups/triggers by it, matching the totals' exclusion rules
- Normalize legacy second/millisecond timestamps when bucketing rollup rows into local days
- Replace the boolean rollup-ready flag with a version key so schema changes trigger an atomic rebuild
- Preserve queued playback writes during rollup backfill instead of dropping them under queue pressure
- Time out the lexical rollup worker instead of hanging forever on no response
- Key concurrent vocabulary summary requests by their known-words snapshot so they no longer share stale state
- Bound stats dashboard retries for unfinished vocabulary loads before showing the inline Retry control
2026-08-17 23:49:04 -07:00
sudacode 3c111d2e3b fix(stats): serialize excluded word writes to avoid races
- Queue setExcludedWords writes so a slower in-flight save can't land after and overwrite a newer edit
- Run server-sync listeners independently so one throwing listener doesn't roll back a successful write or block the rest
- Add regression tests for write ordering, listener isolation, coalesced known-word snapshots, and vocabulary hook aggregate refresh/retry
2026-08-17 01:29:11 -07:00
sudacode 6018f393d2 fix(stats): refresh vocabulary aggregates after exclusion edits
- Refetch vocabulary summary/charts once the exclusion list write is server-acknowledged, and retry failed aggregate loads with backoff before showing an inline error with a Retry control
- Coalesce concurrent getVocabularySummary calls into a single worker task
- Scan imm_words in id-keyed batches to bound memory for large vocabularies
2026-08-16 23:44:09 -07:00
sudacode 96d36514b5 fix: apply CodeRabbit auto-fixes 2026-08-16 01:38:32 -07:00
sudacode d220055b99 fix(stats): harden vocabulary rollups 2026-08-16 00:21:49 -07:00
sudacode e53f6d61ff perf(stats): roll up lexical chart history 2026-08-15 22:29:16 -07:00
sudacode 48fdac62a6 perf(stats): calculate vocabulary totals off main thread 2026-08-15 22:01:56 -07:00
sudacode 9ae303af7d fix(stats): report complete vocabulary summary totals 2026-08-15 21:50:23 -07:00