sudacode
9e79fa93c2
feat(overlay): forward mpv mouse button and wheel bindings ( #279 )
2026-10-01 00:44:51 -07:00
sudacode
eb749f8c19
fix(overlay): force packed float audio for macOS timing review preview
...
- Pass --audio-format=float to the preview mpv on darwin so coreaudio accepts Opus output on Bluetooth devices like AirPods instead of falling back to avfoundation
- Fixes the stuttering preview cursor that jumped to the end partway through the selection
- Thread the platform into buildMediaTimingPreviewArgs and add a test covering darwin vs linux args
2026-09-30 01:01:49 -07:00
sudacode
fdb0a31fff
fix(overlay): drive timing review playhead from mpv playback position
...
- Preview session observes time-pos, waits for loaded media before seeking, and acks each command
- Forward positions to the modal over media-timing-review:preview-position
- Cursor follows the real position, pauses while buffering, and stays at the clip end when done
- Replace the fixed end-of-clip timer with a 15s stall timeout
- Document preview cursor behavior and ownership in docs
2026-09-29 18:07:07 -07:00
sudacode
07b32626a6
feat(youtube): add YouTube browser window and Whisper subtitle source ( #273 )
2026-09-28 20:35:47 -07:00
sudacode
b24008237b
fix(jellyfin): keep selecting subtitles when a track download fails ( #272 )
2026-09-24 21:32:56 -07:00
sudacode
7c161723cd
fix(anki): regenerate sentence furigana from the final sentence ( #268 )
2026-09-22 21:43:19 -07:00
sudacode
b0fb39a8f5
feat(overlay): add optional subtitle selection modal ( #265 )
2026-09-22 18:30:26 -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
sudacode
a02c33dac4
fix(overlay): keep macOS modal windows on fullscreen Spaces ( #200 )
2026-08-15 21:43:26 -07:00