Commit Graph

19 Commits

Author SHA1 Message Date
sudacode 4a7c9b04f1 fix(stats): enforce cleanup mode exclusivity and JSON requests
- Reject conflicting explicit cleanup modes
- Require application/json for duplicate-line maintenance requests
2026-08-12 00:49:32 -07:00
sudacode 046a87a826 fix(stats): harden duplicate-line cleanup and tracking
- Reject malformed requests and sub-day cleanup windows
- Reset deduplication across media and subtitle-track changes
- Handle karaoke bursts ending with a long hold frame
2026-08-11 22:20:50 -07:00
sudacode 039aed79c3 fix(stats): fix duplicate-line cleanup edge cases
- Drain the full write queue before scanning, not just one batch, so pending burst rows aren't missed
- Floor lookback-days before the positivity check so a sub-day value no longer collapses to a zero-day window
- Let the parsed cue list override the streaming dedup heuristic wherever it covers a line
- Reject combining --lifetime with --duplicate-lines and non-positive --lookback-days values
- Widen the burst frame bound to catch heavier typesetting while still sparing longer-spaced runs
- Keep the cleanup modal open until the user closes it so they can read the result before it unmounts
2026-08-10 23:50:48 -07:00
sudacode 684ab9eaff fix(stats): stop counting duplicate typeset subtitle lines
- Collapse animation-burst subtitle lines (karaoke OPs, animated signs) at ingest time using the same dedup rules the subtitle sidebar already applies, so repeated frames no longer flood "Top Repeated Words"
- Add retroactive cleanup for stats already affected: a "Duplicates" scanner/cleaner in the Vocabulary tab and `subminer stats cleanup --duplicate-lines` (`--dry-run`, `--lookback-days`) on the CLI
- Only subtitle lines and the vocabulary counts they feed are touched; watch time and lines-seen totals are left as recorded
2026-08-10 23:18:43 -07:00
sudacode eef4500599 feat(launcher): add -H/--history command to browse local watch history (#136) 2026-07-05 16:46:05 -07:00
sudacode 11c196821d Fix Windows mpv logging and add log export (#88) 2026-05-26 00:31:38 -07:00
sudacode 7e86c4ea3d feat(launcher): add mpv.profile config option for managed launches (#80) 2026-05-23 15:14:19 -07:00
sudacode c4f99fec2f upgrade Electron 39→42 and fix Hyprland overlay z-order/placement (#79) 2026-05-22 23:22:51 -07:00
sudacode dc52bc2fba feat(config): add configuration window (#70) 2026-05-21 04:16:21 -07:00
sudacode e84674e3b5 feat(macos): configuration window + curl-backed macOS updater (#71) 2026-05-17 02:23:44 -07:00
sudacode 6ca5cede3e feat(launcher): add --version / -v flag to print app version
- Exits early with `SubMiner <version>` output, no app binary required
- Maps `-v` at root level without conflicting with `stats cleanup -v`
- Adds `version: boolean` to `Args` type and default args
- Documents flag in docs-site and adds changelog fragment
2026-05-16 22:47:57 -07:00
sudacode 094bcce0dc feat: add auto update support 2026-05-15 01:47:56 -07:00
sudacode d8934647a9 Restore multi-copy digit capture and add AniList selection (#56) 2026-04-25 21:44:55 -07:00
Autumn (Bee) bc7dde3b02 [codex] Replace mpv fullscreen toggle with launch mode config (#48)
Co-authored-by: bee <autumn@skerritt.blog>
2026-04-07 00:38:15 -07:00
sudacode 6749ff843c feat(stats): add v1 immersion stats dashboard (#19) 2026-03-20 02:43:28 -07:00
sudacode e18985fb14 Enhance AniList character dictionary sync and subtitle features (#15) 2026-03-07 18:30:59 -08:00
sudacode 44c7761c7c Overlay 2.0 (#12) 2026-03-01 02:36:51 -08:00
sudacode 9d73971f3b feat(launcher): pass through password-store for jellyfin flows 2026-02-23 23:59:14 -08:00
sudacode 4ebabbe639 chore: add project management metadata and remaining repository files 2026-02-22 21:43:43 -08:00