sudacode
9a5fb02cbd
fix(dictionary): sync Hachidori deck to ankiConnect.deck for polling
...
- Always set the first Hachidori Anki template deck to ankiConnect.deck so polling mode enriches Hachidori cards; other custom template settings stay intact
- Treat right-clicks retargeted to the Hachidori popup shadow host as overlay interactions so they no longer raise mpv or toggle pause
- Update anki-integration docs and changelog fragment
2026-09-22 21:43:53 -07:00
sudacode
c9880efee3
test(anilist): apply sqlite pragmas in cover art fetcher tests
...
- Call applyPragmas before ensureSchema so test databases match the production setup
2026-09-22 19:30:31 -07:00
sudacode
cacaa2b371
feat(overlay): add subtitle selection modal and Jellyfin 12 fixes
...
- Add an optional subtitle selection modal for primary/secondary mpv tracks (subtitleSelection.enabled, g-s sequence shortcut) with key-sequence conflict handling
- Authenticate Jellyfin URLs with the ApiKey query, answer remote keep-alives, clear now-playing on stop, and restore episode titles in Anki misc info
- Honor the configured mpv executable when Jellyfin starts playback via a shared mpv-process launcher
- Bump electron-builder to 26.16.1
- Condense and reconcile changelog fragments; update config example and docs
2026-09-22 18:51:59 -07:00
sudacode
b0fb39a8f5
feat(overlay): add optional subtitle selection modal ( #265 )
2026-09-22 18:30:26 -07:00
sudacode
9fe4c7eb33
fix(anki): preserve managed proxy state when settings sync fails
2026-09-22 15:49:24 -07:00
sudacode
ab5e50adac
fix(dictionary): complete Hachidori imports and mining integration
2026-09-22 15:01:23 -07:00
sudacode
5354fdf7b9
refactor(dictionary): use Hachidori fork submodule and upstream API
2026-09-22 01:22:14 -07:00
sudacode
d9fdc7ef6d
feat(dictionary): add Hachidori backend support
...
- Add backend selection, setup gating, Anki integration, and external host support
- Add launcher flags, documentation, packaging, and focused tests
- Open on-demand overlay modals on the first attempt
2026-09-22 00:21:19 -07:00
sudacode
42d1384c68
fix(jellyfin): support modern authentication ( #264 )
2026-09-21 20:40:57 -07:00
sudacode
1508863dbb
feat(stats): add TMDB metadata for live-action dramas in the Library ( #252 )
2026-09-21 00:10:00 -07:00
sudacode
ab48a5678e
fix(stats): restrict local requests and serve the dashboard over HTTP ( #263 )
2026-09-20 23:36:55 -07:00
sudacode
383aed8bad
fix(stats): harden server lifecycle and verify compiled runtime ( #261 )
2026-09-20 23:19:03 -07:00
sudacode
f9c4e892dc
fix(stats): reject malformed resource IDs before mutations ( #259 )
2026-09-20 22:49:27 -07:00
sudacode
7959e1a4e5
fix(anki): honor unlimited duration in stats mining ( #258 )
2026-09-20 22:49:12 -07:00
sudacode
8097ed27e5
feat(stats): separate YouTube channels in the Library ( #253 )
2026-09-20 19:57:32 -07:00
sudacode
76e43d7e6d
fix(config): align live save feedback with hot reload policy ( #255 )
2026-09-20 19:51:45 -07:00
Abdulrazzaq Alhendi
4f0762e840
feat(mining): add a screenshot frame picker to media review ( #254 )
2026-09-20 19:39:30 -07:00
sudacode
026d495fac
feat(jimaku): add live-action subtitle search ( #251 )
2026-09-18 22:50:13 -07:00
sudacode
a8c16147ad
feat(subtitles): use loaded subtitles to guide generation timing ( #249 )
2026-09-18 00:24:42 -07:00
sudacode
186d4a0640
fix(jellyfin): fix jellyfin media metadata ( #250 )
2026-09-18 00:24:25 -07:00
sudacode
2831e05124
feat(subtitles): add local Japanese subtitle generation ( #240 )
2026-09-15 21:43:11 -07:00
sudacode
7c1eac03dc
feat(overlay): discover unclaimed mpv key bindings ( #246 )
2026-09-15 18:26:45 -07:00
sudacode
e6dc9dfec5
test: clone VM results across Electron boundaries
...
- Clone tokenizer VM results into the host realm
- Expect null-prototype profile maps in IPC validation tests
2026-09-11 01:55:32 -07:00
sudacode
6d69a56574
fix(overlay): keep Hyprland recovery dialogs above overlays ( #245 )
2026-09-11 01:52:01 -07:00
sudacode
8ae5bde6a4
test(stats): increase occurrence merge test timeout
2026-09-11 01:09:59 -07:00
sudacode
fb2d1a512b
perf(stats): use compressed incremental snapshot transfers ( #241 )
2026-09-10 23:57:20 -07:00
sudacode
1e5d7747b4
feat(sidebar): add dialogue selection and copying ( #238 )
2026-09-07 14:03:54 -07:00
sudacode
84f718043a
feat(anki): add media timing review before card creation ( #203 )
2026-09-04 01:40:56 -07:00
sudacode
ec5a147095
fix(subtitles): merge wrapped positioned caption rows ( #234 )
2026-09-01 23:11:38 -07:00
sudacode
c0a78ef008
feat(anki): support Senren scene-switching field grouping ( #230 )
2026-09-01 22:18:30 -07:00
sudacode
87b01155df
fix(mining): copy multi-line subtitles backward from current line ( #231 )
2026-09-01 22:17:41 -07:00
sudacode
fc5c49e365
fix(subtitles): keep native secondary subtitles hidden ( #232 )
...
- Reapply hidden visibility after secondary track changes
- Relinquish suppression only after successful restoration
2026-09-01 00:49:37 -07:00
sudacode
a20269e9f5
fix(jellyfin): stop inferring subtitle delays ( #227 )
2026-08-31 23:31:31 -07:00
sudacode
6fffcc731f
fix(youtube): keep auto captions on screen for their full span ( #219 )
2026-08-29 13:18:55 -07:00
sudacode
5cc21113fd
fix(subtitles): drop ASS furigana from published cues ( #224 )
2026-08-29 13:15:30 -07:00
sudacode
6e945f0872
fix(subtitles): keep overlapping lines that join an already active cue ( #221 )
2026-08-27 23:13:29 -07:00
sudacode
c2c25c0da6
fix(anki): keep overlay progress visible through card updates ( #218 )
2026-08-25 20:27:58 -07:00
sudacode
e816b3b371
fix(subtitles): recover positioned ASS word spacing and drop control debris ( #217 )
2026-08-25 02:22:21 -07:00
sudacode
03ea903927
fix(subtitles): preserve authored spaces in fragmented ASS karaoke
...
- Only trim indentation before slicing ASS event fields so a trailing authored space at a fragment's end is kept, preventing words from being joined together when fragmented karaoke lines are reconstructed
- Add regression test covering event-boundary word spacing
2026-08-22 23:32:35 -07:00
sudacode
88bb3edfa4
fix(subtitles): preserve lyric selection and deduplicate secondary text
...
- Seek sidebar selections past overlapping karaoke exit spans
- Collapse duplicate long ASS lines and omit reconstructed sign grids
2026-08-21 01:28:00 -07:00
sudacode
9445aef004
fix(subtitles): navigate by sanitized cues across ASS animation
...
- Route subtitle navigation through parsed cue boundaries
- Treat explicit short seeks as subtitle priming events
2026-08-20 00:20:51 -07:00
sudacode
c01bcd9d0f
fix(subtitles): collapse layered ASS lyrics across startup and seeks
...
- Reconstruct fragment-only karaoke while preserving canonical animated signs
- Reprocess live subtitles after initial playback and seek updates
- Add a development launcher for playable media files
2026-08-19 22:55:10 -07:00
sudacode
4ed878270f
fix(stats): accept legacy lexical rollup state schemas
2026-08-18 02:24:49 -07:00
sudacode
db61ce358d
fix(stats): preserve session rollups across schema upgrades
...
- Stop deleting imm_daily_rollups/imm_monthly_rollups on unrelated schema version bumps; their source session/telemetry rows may already be pruned, so deleted buckets could not be rebuilt
- Run startup session-rollup maintenance before the lexical rollup backfill takes the write lock, so recovery no longer races playback writes
- Update the vocabulary summary totals changelog fragment to reflect that watch-time, activity, efficiency, and library charts are no longer cleared during rebuilds
2026-08-18 01:12:58 -07:00
sudacode
e9778a945a
fix(overlay): deduplicate secondary subtitle rendering ( #208 )
2026-08-18 00:44:02 -07:00
sudacode
7de73e16a1
fix(stats): report complete vocabulary totals and new-word history ( #202 )
2026-08-18 00:42:46 -07:00
sudacode
273652f781
fix(subtitles): recover canonical lines from ASS animation ( #207 )
2026-08-18 00:30:48 -07:00
sudacode
ff0bc0af6d
fix(dictionary): prevent freezes and restore AppImage notifications ( #205 )
2026-08-17 18:41:03 -07:00
sudacode
00b1b79bf4
fix(mpv): recover from stalled IPC connects ( #204 )
2026-08-16 22:58:28 -07:00
sudacode
2938e7a32a
fix(overlay): prevent Windows mouse lag during click-through tracking ( #201 )
2026-08-16 01:34:51 -07:00