Commit Graph

8 Commits

Author SHA1 Message Date
sudacode 3c3bf3bb18 fix(stats): persist filter prefs, fix cover MIME types, and dedup alass
- Remember Hide Known/Hide Kana filter state in localStorage across sessions
- Detect PNG and WebP cover art MIME types instead of hardcoding image/jpeg
- Use configured AnkiConnect URL for the browse action
- Deduplicate concurrent in-flight alass retime calls via promise caching
- Prefer request-provided secondary subtitle text over retimed sidecar fallback
- Fix cover image record key types from string to number
2026-06-06 14:48:12 -07:00
sudacode 99401e5a70 feat(stats): add alass sidecar retiming for sentence mining and fix timi
- Retime local English sidecars against the Japanese sidecar via alass before populating sentence card translation fields; cache retimed copies for the process lifetime
- Reject reversed or non-positive subtitle timings in immersion tracker and before media generation
- Fix word card mining so sentence audio goes to SentenceAudio (not ExpressionAudio) and English subtitle text is not written to SelectionText
- Consolidate 10 individual change fragments into stats-updates.md
2026-06-06 14:26:02 -07:00
sudacode 83897c81d1 feat(stats): add headword sentence search and rename related words
- Search by headword enabled by default; finds inflected variants (e.g. 知らない → 知らねえ)
- Add "Search by headword" toggle to switch back to exact text/title matching
- Rename "Similar Words" → "Related Seen Words" with tighter matching (same reading/shared kanji)
- ankiConnect.deck falls back to Yomitan mining deck when empty
2026-06-06 01:50:15 -07:00
sudacode e18ccfe288 feat(stats): add Hide Kana filter and fix vocabulary exclusion matching
- Remove overlay mining image toast; OSD card notifications no longer flash a frame screenshot
- Add Hide Kana toggle to frequency rank table to filter kana-only headwords
- Fix vocab exclusions to deduplicate and match token variants (e.g. ない / 無い) under one exclusion entry
- Skip cover image fetching when the overview tab is inactive
2026-06-06 01:50:15 -07:00
sudacode 10c99b526b fix(immersion): use localtime rollup keys and guard sentence search limi
- Remove UTC-based UNION branch from getRollupGroupsForSessions; keep only localtime rollup
- Add resolveSentenceSearchLimit to clamp/sanitize infinity and negative limit values
- Switch onMiningImageEvent from queued to latest-value IPC listener (drop stale frames)
- Add regression tests for rollup key locality and sentence search limit edge cases
2026-06-06 01:50:15 -07:00
sudacode eb5e07cfc0 feat(stats): add sentence search tab and fix mining card behavior
- Add Search tab with realtime subtitle sentence search, media context, and mining actions
- Persist library card size selection across reloads
- Fix selection text written only for sentence cards, not word/audio cards
- Fix word mining audio routed to SentenceAudio field when present
- Fix sentence card created immediately before slow media generation completes
- Fix Anki config resolved at request time for sentence mining
- Prefer non-Signs/Songs tracks when auto-selecting secondary subtitle language
2026-06-06 01:50:15 -07:00
sudacode 05cf4a6fe5 feat(stats): dashboard updates (#50) 2026-04-10 02:46:50 -07:00
sudacode 6749ff843c feat(stats): add v1 immersion stats dashboard (#19) 2026-03-20 02:43:28 -07:00