sudacode
14070acceb
fix(overlay): defer autoplay release for untokenized startup priming
...
- Autoplay-ready gate now ignores untokenized subtitle payloads while tokenization warmup is pending, so playback doesn't resume before the first tokenized cue
- Wire isTokenizationReady dep through main.ts and update gate/wiring tests accordingly
- Drop stale release/release-notes.md, add changelog entry under changes/
2026-07-12 02:11:10 -07:00
sudacode
7d81342f0f
fix(app): keep AppImage mount alive until Chromium children finish shutdown
...
Background AppImage launches executed directly from a FUSE mount owned by a
short-lived helper's AppImage runtime. On quit, the runtime unmounted the
squashfs while utility children (network service) were still mid-shutdown,
SIGBUSing them and triggering KDE Service Crash notifications on every video
close. Detach a POSIX-sh supervisor instead: mount via --appimage-mount, run
AppRun from the mount, and release the holder only once no process still
executes from the mount. Falls back to the old direct launch on any failure
or with SUBMINER_NO_APPIMAGE_MOUNT_KEEPALIVE=1.
2026-07-12 02:09:42 -07:00
sudacode
4b7f750919
feat(animetosho): add English/Japanese subtitle download integration ( #159 )
2026-07-12 00:48:12 -07:00
sudacode
6ab3d823a4
feat(shortcuts): make clipboard-video-append shortcut configurable ( #158 )
2026-07-11 23:36:44 -07:00
sudacode
8797719a09
docs(docs-site): correct and clarify docs against current code
...
Comprehensive accuracy pass over docs-site verifying every page against
current source. Fixes wrong/stale claims (AniSkip default, YouTube track
selection, Anki sentence-card requirements, immersion schema v18 + SQL
column names, plugin entrypoint, launcher flags, Cloudflare deploy path,
etc.) and fills gaps (watch history, mediaCache.maxHeight, youtubeSubgen,
character-dictionary refresh/eviction, expanded hot-reload lists).
2026-07-11 00:53:34 -07:00
sudacode
8acc78cc1c
test(tokenizer): add golden-file regression corpus with 11 fixtures ( #157 )
2026-07-11 00:50:03 -07:00
sudacode
321461c50f
feat(launcher): add subminer sync for cross-machine stats/history merge over SSH ( #152 )
2026-07-11 00:40:15 -07:00
sudacode
beeab564b4
chore(release): prepare v0.18.0
v0.18.0
2026-07-10 02:03:10 -07:00
sudacode
cab7975a2b
chore(docs): remove implemented plan docs
...
- Drop early-managed-overlay-startup and macos-notification-hover design docs (both implemented, no longer needed)
2026-07-10 01:09:52 -07:00
sudacode
846292809c
docs(changes): consolidate and tighten changelog entries
...
- Merge related fix entries into single files (name-match-span-merge into character-name-split-and-scan-recovery, kanji-non-independent-noun-annotations + lexicalized-expression-frequency into content-adverb-annotation-stop-list, greedy-name-parsing-priority into character-name-split-and-scan-recovery, kiku-field-grouping-cancel-double-toast into kiku-field-grouping-modal-recovery, history-rofi-cover-art into launcher-history-command)
- Rewrite remaining entries for brevity and reclassify stats-trend-title-limits as "changed"
2026-07-10 01:04:01 -07:00
sudacode
8712780d08
fix(tokenizer): keep frequency rank for lexicalized kana expressions ( #156 )
2026-07-10 00:54:17 -07:00
sudacode
7b1a005a65
feat(anki): mirror mpv software volume into generated sentence audio ( #155 )
2026-07-10 00:44:23 -07:00
sudacode
84c75f50aa
fix(release): skip gh attribution without CI token
v0.18.0-beta.4
2026-07-09 02:26:00 -07:00
sudacode
8b838f2c7d
chore(release): prepare 0.18.0-beta.3
v0.18.0-beta.3
2026-07-09 01:20:02 -07:00
sudacode
db4139ba0b
fix(tokenizer): block kanji reading collisions and name/generic length t
...
- Add allowReadingOnlyMatch:false to kanji token known-word lookups so 渓谷/けいこく no longer matches a mined 警告/けいこく card via reading-only index
- Greedy name pre-pass yields when a strictly longer generic word starts at the same position (空 no longer splits 空気; ties still go to the name)
2026-07-09 01:03:58 -07:00
sudacode
6c251502b3
fix(tokenizer): exclude unparsed-run tokens from annotations and N+1 ( #153 )
2026-07-09 00:28:38 -07:00
sudacode
ae40934d3a
fix(tokenizer): greedy name pre-pass to prevent generic matches swallowing character names ( #151 )
2026-07-08 23:53:45 -07:00
sudacode
cdb1475a54
chore(assets): update icons and favicons
2026-07-08 22:35:47 -07:00
sudacode
a2e49b369b
fix(tokenizer): merge scanner metadata per token instead of all-or-nothi
...
- Replace hasSameTokenSpans + full-discard with mergeScannerTokensIntoParseTokens
- Grafts isNameMatch/frequencyRank/etc onto matching parse spans; filler chunks degrade only themselves
- Fixes name annotations dropping for entire subtitle lines containing unmatched interjections
2026-07-08 22:26:34 -07:00
sudacode
7f13aed50a
fix(overlay): keep frequency/JLPT highlight for kanji non-independent nouns ( #150 )
2026-07-08 22:25:32 -07:00
sudacode
8b21a2bca8
fix(overlay): remove content adverbs from annotation stop-word list
...
- 確かに and やはり no longer excluded from frequency/JLPT highlighting and vocab stats
- Stop-word list now covers only interjections, pronouns, and grammar fragments
2026-07-08 20:15:45 -07:00
sudacode
925413adfe
chore(release): prepare 0.18.0-beta.2
v0.18.0-beta.2
2026-07-08 02:31:14 -07:00
sudacode
d0644ab2eb
fix(stats): parse v3 reading-aware known-word cache in stats server ( #149 )
2026-07-08 02:15:58 -07:00
sudacode
d253710c2e
fix(stats): fetch cover art eagerly at session start instead of on series page visit ( #148 )
2026-07-08 00:59:35 -07:00
sudacode
c3df510e4f
docs(release): reclassify audio normalization as added, not fixed
...
- Move card audio normalization entry from Fixed → Added in prerelease notes
- Update changes/audio-normalization.md type: fixed → added
2026-07-08 00:38:38 -07:00
sudacode
187f68e5b6
fix(tokenizer): prevent grammar tokens from borrowing known-word highlight via unrelated readings ( #147 )
2026-07-07 23:57:47 -07:00
sudacode
0e254cbbef
fix(launcher): move fzf previews below menus
2026-07-07 22:36:56 -07:00
sudacode
7b94adafbd
chore(release): prepare 0.18.0-beta.1
v0.18.0-beta.1
2026-07-07 02:40:05 -07:00
sudacode
61f39d1e09
fix(overlay): resolve unspaced Japanese name splits and scan recovery ( #146 )
2026-07-07 02:33:46 -07:00
sudacode
e7739de51c
fix(tokenizer): keep unparsed Yomitan tokens hoverable ( #145 )
2026-07-07 02:01:04 -07:00
sudacode
ad1d240f20
refactor(tests): centralize lane definitions and add per-file isolation ( #143 )
2026-07-07 01:51:05 -07:00
sudacode
8b0ef662bc
chore: remove shipped changelog entries and demo asset
...
- Drop changes/kiku-field-grouping-modal-wiring.md (landed in #138 )
- Drop changes/known-word-partial-reading-highlight.md (landed in #142 )
- Remove assets/minecard.mkv demo video
2026-07-07 00:18:48 -07:00
sudacode
0a58c20ad7
fix(stats): start stats server on background app launch ( #144 )
2026-07-07 00:16:57 -07:00
sudacode
38ddb29aa0
feat(anki): reading-aware known-word matching (cache v3) ( #142 )
2026-07-07 00:13:10 -07:00
sudacode
8b9a70c5a6
feat(stats): Trends dashboard overhaul — title visibility, ranking modes, calendar-accurate windows, tooltips ( #140 )
2026-07-06 23:52:43 -07:00
sudacode
48a084914a
feat(branding): replace app icon with contributed pixel-art set ( #141 )
2026-07-06 23:31:19 -07:00
sudacode
a042b04357
fix(overlay): prevent field grouping modal from freezing overlay on Hyprland ( #138 )
2026-07-06 22:13:14 -07:00
sudacode
35ca2afc6f
fix(overlay): collapse karaoke syllable spam in secondary subtitles ( #139 )
2026-07-06 01:09:06 -07:00
sudacode
b14f977e33
fix(tokenizer): stop partial furigana readings from marking words known ( #137 )
2026-07-05 17:02:44 -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
73af1451b7
fix(anki): lower audio normalization target to -23 LUFS (EBU R128)
2026-07-05 01:13:54 -07:00
sudacode
36a3704815
fix(youtube): parse mpv EDL stream URLs with byte-length guards ( #134 )
2026-07-02 01:37:37 -07:00
sudacode
359cb0a301
Normalize generated Anki audio by default ( #135 )
2026-07-02 00:34:16 -07:00
sudacode
4b10e85053
chore(release): prepare v0.17.2
v0.17.2
2026-06-28 23:03:18 -07:00
sudacode
c942a2cf2d
fFix(youtube): recover source URL for background media cache on direct mpv open ( #132 )
2026-06-28 22:46:11 -07:00
sudacode
f65afa6046
feat(youtube): notify on manual picker open and show success after track load ( #133 )
2026-06-28 22:43:16 -07:00
sudacode
389d8e06e0
chore: remove stale npm artifacts
2026-06-28 20:18:08 -07:00
sudacode
0008b55b70
chore(release): prepare v0.17.1
v0.17.1
2026-06-27 22:59:28 -07:00
sudacode
d16ae9c745
chore(release): prepare v0.17.1-beta.1
v0.17.1-beta.1
2026-06-27 22:10:02 -07:00
sudacode
36f94151b8
fix(logs): use local date for log filenames and expand export redaction ( #131 )
2026-06-27 21:08:11 -07:00