sudacode
39286c2c55
fix(subtitles): recover canonical lines from ASS animation
...
- Recover authored ASS lyrics and signs across overlay, sidebar, immersion, and mining
- Collapse repeated karaoke phases while preserving ordinary dialogue and positioned signs
2026-08-17 20:08:10 -07:00
sudacode
00b1b79bf4
fix(mpv): recover from stalled IPC connects ( #204 )
2026-08-16 22:58:28 -07:00
sudacode
f73fe179d0
fix(docs): keep versioned pages out of search indexes
...
- Add self-canonical noindex signals and headers for archived docs
- Restore sitemap lastmod dates from the tracked checkout
2026-08-16 01:45:08 -07:00
sudacode
2938e7a32a
fix(overlay): prevent Windows mouse lag during click-through tracking ( #201 )
2026-08-16 01:34:51 -07:00
sudacode
82f6b4705a
fix(overlay): recycle Windows modal windows after close
...
- Refresh the hidden modal renderer between Windows sessions
- Add regression coverage and stabilize launcher completion testing
2026-08-16 01:10:07 -07:00
sudacode
a02c33dac4
fix(overlay): keep macOS modal windows on fullscreen Spaces ( #200 )
2026-08-15 21:43:26 -07:00
sudacode
2174e689a2
fix(overlay): support native Wayland file drag-and-drop ( #199 )
2026-08-15 00:15:38 -07:00
sudacode
7d729cb60c
fix(notifications): replace Linux progress updates in place ( #198 )
2026-08-14 22:20:33 -07:00
sudacode
d963def1a9
fix(stats): subtract lifetime totals incrementally on delete ( #196 )
2026-08-14 22:13:59 -07:00
sudacode
6fb3d2eb13
feat(stats): add library entry merge and episode move ( #190 )
2026-08-14 21:54:17 -07:00
sudacode
c5a77ac067
fix(anki): snapshot mining media clip timing ( #197 )
2026-08-14 21:50:32 -07:00
sudacode
8ddc151435
docs: hide unfinished feature demos from sidebar
2026-08-14 21:50:08 -07:00
sudacode
b98d4d65c7
fix(stats): stop counting duplicate typeset subtitle lines ( #191 )
2026-08-14 00:12:56 -07:00
sudacode
8bf847503d
fix(media): tolerate slow MKV audio extraction ( #195 )
2026-08-13 23:19:22 -07:00
sudacode
47b5903392
chore(release): prepare v0.19.3
2026-08-13 23:02:57 -07:00
sudacode
bf85554d1e
fix(stats): batch deletes off the main thread ( #194 )
2026-08-13 22:31:52 -07:00
sudacode
57ddd19953
fix(overlay): handle X11 display scaling across monitors ( #193 )
2026-08-11 22:24:01 -07:00
sudacode
ee25536d90
fix(dictionary): stop large character dictionaries from timing out ( #189 )
2026-08-11 18:40:18 -07:00
sudacode
7b0fbdf254
fix(subtitles): collapse duplicate ASS events and decode text once ( #186 )
2026-08-10 22:21:44 -07:00
sudacode
2fefc83e3f
fix(playback): stop forcing legacy OpenGL renderer on X11 mpv backend ( #188 )
2026-08-06 23:52:35 -07:00
sudacode
dbdf578c68
perf(tokenizer): single-pass Yomitan scan with cross-line caching and prefetch fixes ( #185 )
2026-08-06 21:44:09 -07:00
sudacode
441ecf3c04
feat(overlay): add in-app changelog modal ( #187 )
2026-08-05 22:19:13 -07:00
sudacode
a0dde4ee3e
chore(release): v0.19.2
2026-08-04 18:51:15 -07:00
sudacode
fe4dacc1e7
fix(overlay): show plain subtitle line immediately on tokenization cache miss ( #184 )
2026-08-04 01:55:52 -07:00
sudacode
b08cd0db35
fix(streaming): keep subtitle tokenization prefetch warm for full episodes ( #183 )
2026-08-03 21:22:18 -07:00
sudacode
bffb1c5982
fix(logging): surface subtitle processing debug/warn logs ( #182 )
2026-08-03 20:44:39 -07:00
sudacode
5b8848518a
feat(subsync): add reference and target subtitle track picker ( #181 )
2026-08-03 01:00:14 -07:00
sudacode
176edd67f1
chore(release): v0.19.1
2026-08-01 23:59:20 -07:00
sudacode
4d65dec340
fix(youtube): prevent playlist URLs from stalling yt-dlp probes ( #180 )
2026-08-01 22:56:28 -07:00
sudacode
b204d4dd6e
feat(anki): add configurable word card type for Kiku/Lapis ( #175 )
2026-07-31 17:17:29 -07:00
sudacode
89ed675935
fix(overlay): keep Yomitan popup interactive on macOS/Windows ( #177 )
2026-07-30 19:47:08 -07:00
sudacode
1995200e76
chore(release): prepare v0.19.0
2026-07-29 22:26:03 -07:00
sudacode
6d2a72e13b
feat(stats): add library entry deletion and app-wide delete progress ( #174 )
2026-07-29 02:00:16 -07:00
sudacode
0d7084c8aa
fix(anilist): resolve later seasons via sequel relations, not title guessing ( #173 )
2026-07-28 22:56:26 -07:00
sudacode
987b325edb
Anki maturity-based known-word highlighting ( #172 )
2026-07-27 23:58:02 -07:00
sudacode
08c6807cb1
fix(launcher): normalize rofi prompt spacing
...
- Add formatRofiPrompt to trim trailing whitespace and append a single space, keeping the prompt from running into the input field
- Apply it across all rofi -p usages in picker.ts and history-command.ts
- Add tests for formatRofiPrompt edge cases (empty/whitespace-only prompts)
2026-07-26 00:13:54 -07:00
sudacode
18c6410f24
feat(launcher): add previous episode option to history entry menu
...
- Extract buildHistoryEntryActions to build the series action menu, now including a previous-episode option alongside replay/next/browse/quit
- Update docs and changelog entry to describe the new option
- Add tests covering previous/replay/next ordering and omission when last watched file is missing
2026-07-25 23:35:44 -07:00
sudacode
c718bb8b34
chore(release): prepare 0.19.0-beta.2
2026-07-22 23:34:08 -07:00
sudacode
20b50ec4e1
feat(launcher): add post-playback history menu with previous episode ( #170 )
2026-07-22 23:05:53 -07:00
sudacode
deae61b211
refactor: split anki-connect and stats-server resolvers into modules ( #169 )
2026-07-17 23:05:59 -07:00
sudacode
44959ed282
fix(anki,appimage): handle proxy port conflicts and stray GPU child
...
- AnkiConnect proxy now detects EADDRINUSE, logs a warning, and surfaces an overlay notification instead of crashing video startup
- Background AppImage bootstrap runs Chromium with in-process-gpu so no GPU child survives app.exit() and outlives the FUSE mount, fixing the remaining DrKonqi "Service Crash" case
- Add changelog fragment for the proxy fix; update the AppImage quit fragment with the GPU child root cause
2026-07-17 23:04:56 -07:00
sudacode
29332b103e
Consolidate sync changelog fragments into one entry
...
- Merge the five separate sync change fragments (launcher command, UI window, close/quit fixes, active-session double-count, monthly rollup timezone) into a single changes/sync.md
- Fold kana-pos-content-classification.md into annotation-noise-rule-table.md
- Drop the now-stale Unreleased sections from CHANGELOG.md and docs-site/changelog.md
- Tweak tsukihime-english-subtitles.md wording
2026-07-13 23:40:28 -07:00
sudacode
8b2cee2c58
ci: reuse quality gate across CI and release workflows ( #167 )
2026-07-13 23:14:19 -07:00
sudacode
2e2ee3f028
refactor(tsukihime): swap Animetosho backend for TsukiHime API ( #165 )
2026-07-13 22:03:35 -07:00
sudacode
49b926e08c
Sync Stats & History window, headless --sync-cli, and Windows remote support ( #160 )
2026-07-13 18:56:51 -07:00
sudacode
66f8ca4f80
refactor(renderer): extract modal registry for open/dismiss/active queries ( #166 )
2026-07-13 18:16:39 -07:00
sudacode
6fe1e0fee4
refactor(stats): drop dead IPC handlers, unify stats types over HTTP ( #164 )
2026-07-13 12:09:56 -07:00
sudacode
0ab840b362
refactor(tokenizer): extract subtitle annotation filter into rule table ( #162 )
2026-07-12 23:54:13 -07:00
sudacode
21a06c12fb
refactor(tokenizer): consolidate kana/POS helpers into token-classification ( #161 )
2026-07-12 23:27:25 -07:00
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