sudacode
78a9b6346f
fix(jellyfin): make terminal play work with a running app and report progress ( #288 )
2026-10-10 17:27:48 -07:00
sudacode
b48083ddd8
test: cut low-value tests, rewrite the rest around behavior, parallelize lanes ( #285 )
2026-10-05 00:07:44 -07:00
sudacode
4b6842d034
fix(setup): label missing launcher "Not set up" instead of "Not installed" ( #284 )
2026-10-04 17:13:10 -07:00
sudacode
e77aa5c3b3
fix(stats): count mined cards once and keep lexical stats exact after deletes ( #280 )
2026-10-03 21:16:12 -07:00
sudacode
727be5683a
fix(youtube): keep mpv queue when advancing to a queued video on Windows ( #281 )
2026-10-02 22:13:35 -07:00
sudacode
138bfe9759
fix(subtitles): allow Whisper generation during Windows YouTube stream playback ( #282 )
2026-10-02 22:13:15 -07:00
sudacode
a5d0b63792
fix(storage): protect Yomitan profiles across Electron runtime changes ( #211 )
2026-10-01 21:44:53 -07:00
sudacode
15cb9fe918
test(launcher): allow Windows bootstrap integration startup time
...
Cold and cached launches each have a 15-second command timeout. Give the integration test time for both launches and executable copies instead of the default five-second budget on hosted Windows runners.
2026-10-01 01:42:10 -07:00
sudacode
ffbbe698fc
fix(overlay): reload imported mpv keys after mpv connects ( #278 )
...
* fix(overlay): reload imported mpv keys after mpv connects
The overlay fetched mpv's input-bindings before SubMiner connected to mpv,
cached an empty list, and never refetched because the connect-time refresh
only broadcast session bindings when their compiled signature changed. Keys
from input.conf and mpv defaults (9/0 volume, m mute) then did nothing while
the overlay had focus, most often in mpv.backend x11 mode.
Main now emits mpv-input-bindings:changed whenever the discovered mpv key
set or client changes, and the renderer refreshes its imported keys on it.
* fix(overlay): subscribe to mpv key changes before initial discovery
The renderer registered the mpv-input-bindings:changed listener only after awaiting setupMpvInputForwarding and several other startup calls. If mpv connected in that window, the event was dropped and the imported mpv keys stayed empty.
2026-09-30 23:24:39 -07:00
sudacode
0bbd8617f4
feat(overlay): run session help commands with Enter or double-click ( #275 )
2026-09-29 18:48:56 -07:00
sudacode
4e43c5c6e1
fix(overlay): keep overlay mapped during Hyprland/Sway fullscreen ( #276 )
2026-09-29 18:39:55 -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
ba0155e429
fix(jellyfin): select Japanese subtitles before slower tracks finish ( #270 )
2026-09-24 20:42:14 -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
Abdulrazzaq Alhendi
a7a302bdd0
fix(jellyfin): respect Windows mpv configuration when casting ( #267 )
2026-09-22 18:29:53 -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
2f21582666
fix(overlay): cancel pending window transitions and timing reviews ( #262 )
2026-09-20 23:35:48 -07:00
sudacode
383aed8bad
fix(stats): harden server lifecycle and verify compiled runtime ( #261 )
2026-09-20 23:19:03 -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
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
016a43b804
feat(launcher): bundle Bun and use it across all launchers ( #243 )
2026-09-11 00:21:10 -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
a0635f4360
fix(subtitles): drop ASS furigana from recorded cues ( #233 )
2026-09-01 22:49:20 -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
a20269e9f5
fix(jellyfin): stop inferring subtitle delays ( #227 )
2026-08-31 23:31:31 -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
509dc5bf7f
fix(subtitles): improve secondary subtitle extraction and display ( #215 )
2026-08-23 01:56:49 -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
2a77ba9dd4
fix(launcher): restore Matroska thumbnails in Linux rofi picker ( #210 )
2026-08-18 20:30:58 -07:00
sudacode
1d1b0c7bb6
fix(subtitles): collapse duplicate primary ASS style layers
...
- Use parsed cues when they fully explain mpv live text
- Preserve unmatched overlapping dialogue and signs
2026-08-18 01:51:19 -07:00
sudacode
e9778a945a
fix(overlay): deduplicate secondary subtitle rendering ( #208 )
2026-08-18 00:44:02 -07:00
sudacode
273652f781
fix(subtitles): recover canonical lines from ASS animation ( #207 )
2026-08-18 00:30:48 -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