sudacode
a610c90c25
fix(anki): report stale timing reviews after preview and waveform awaits
...
Playback and ffmpeg waveform analysis both span long enough for the
review to end underneath them (decision watchdog, overlay teardown).
Both paths reported success or a generic failure afterwards, so the
modal stayed open on a review main had already dropped.
2026-09-03 23:12:24 -07:00
sudacode
144db675e9
fix(anki): close the timing review modal once main has dropped the review
...
Main ends a review on its own after the decision watchdog, on overlay
teardown, or when the modal window opened twice, but the renderer only
closed on a successful resolve. Every button then answered 'no longer
active' forever and the overlay stayed interactive over mpv. Stale
results now carry a typed flag and the modal closes on it.
2026-09-03 22:51:22 -07:00
sudacode
8e47e0d761
fix(anki): trim timing review clips to dialogue end
...
- Auto-adjust untouched clip ends after waveform analysis
- Document and test trailing-silence trimming behavior
2026-09-02 23:43:34 -07:00
sudacode
dcd05ee4ea
Merge remote-tracking branch 'origin/main' into t3code/media-timing-review
2026-09-02 22:54:30 -07:00
sudacode
99266294b8
fix(tsukihime): filter releases by subtitle language ( #235 )
2026-09-02 20:29:59 -07:00
sudacode
c055359be1
chore(deps): update fast-uri to 3.1.6
2026-09-02 20:16:08 -07:00
sudacode
56a2a25312
fix(anki): wait for media timing previews to fully finish
...
- Wait for mpv to drain audio before ending previews
- Notify the review modal when playback actually completes
2026-09-02 18:44:37 -07:00
sudacode
c85db5e07e
fix(mining): ignore stale captions and improve waveform contrast
...
- Use active parsed cue text and timings for overlay mining
- Normalize waveform levels against the clip's noise floor
2026-09-02 18:22:03 -07:00
sudacode
f90ee78204
feat(mining): cache remote media windows during card creation
...
- Reuse one temporary download for timing review, audio, and screenshots
- Expire cached windows after inactivity and clean them up on exit
2026-09-02 01:21:26 -07:00
sudacode
760b3e1d3d
test(immersion): wrap vocabulary fixture inserts in a transaction
2026-09-02 00:01:01 -07:00
sudacode
4d5ea8801f
feat(anki): add Senren scene-switching field grouping
...
- Support auto, manual, and disabled Senren duplicate-card merges
- Group sentence, furigana, audio, picture, and miscInfo fields
2026-09-01 23:22:54 -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
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
b58f391b42
fix: handle notification changes and timing review text safely
...
- Dismiss stale overlay progress when notification mode changes
- Validate and forward combined timing review text
- Keep macOS timing preview socket paths within system limits
2026-08-30 02:49:37 -07:00
sudacode
90a5dcd2af
fix(anki): move line boundary markers with added subtitle lines
2026-08-30 02:38:28 -07:00
sudacode
989122c006
test(anki): mock note deletion in manual update tests
2026-08-30 02:03:02 -07:00
sudacode
ad1c1aea1b
feat(anki): add multi-line subtitle selection to media timing review
2026-08-30 01:56:16 -07:00
sudacode
62d645e577
fix: apply CodeRabbit auto-fixes
2026-08-30 01:56:16 -07:00
sudacode
f36e7f6182
feat(anki): add runtime toggle for media timing review
...
- Add session-only runtime option with live config hot-reload support
- Document the runtime palette toggle
2026-08-30 01:56:16 -07:00
sudacode
475f81d96d
fix(anki): allow timing review cards without media
...
- Keep existing or create new cards without generating audio or images
- Refine timing review timeline expansion labels and boundary markers
2026-08-30 01:56:16 -07:00
sudacode
046ab59da9
fix(anki): clarify media timing review subtitle boundaries
...
- Compact the timing review layout
- Label mined subtitle line start and end boundaries
2026-08-30 01:56:16 -07:00
sudacode
e91f031faa
fix(anki): keep media timing review keyboard-focused
...
- Route modal keydown events before later modal handlers
- Restore focus and preserve visible focus styling
2026-08-30 01:56:16 -07:00
sudacode
ec6a106748
fix(anki): prevent media timing review hangs and invalid ranges
...
- Reject stale or invalid timing actions
- Fall back to original timing when the renderer stops responding
2026-08-30 01:56:16 -07:00
sudacode
ca27a4275f
feat(anki): add waveform-guided timing controls
...
- Add speech-weighted waveform analysis and playback playhead
- Support dragging, sliding, and keyboard nudging for clip timing
2026-08-30 01:56:16 -07:00
sudacode
256eb5da1b
feat(anki): add media timing review before card creation
...
- Add draggable timing previews with audio playback and exact media ranges
- Support cancellation choices, including deleting existing cards
2026-08-30 01:56:16 -07:00
sudacode
2ad491e95c
chore(release): prepare v0.19.5
v0.19.5
2026-08-30 01:02:44 -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
051140f910
fix(anki): respect configured fields for word-card enrichment ( #223 )
2026-08-29 13:09:31 -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
556de61756
chore(changelog): split release details into nested bullets
...
- Update changelog generation guidance and tests
- Reformat current release notes and document the new style
2026-08-25 12:39:45 -07:00
sudacode
a98fb0fddf
chore(release): prepare v0.19.4
v0.19.4
2026-08-25 02:43:48 -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 and sudacode
ed7d3f4c3d
feat(release): track prerelease deltas and validate committed notes ( #216 )
...
Co-authored-by: sudacode <claude@lmaoxd.lol >
2026-08-23 15:24:18 -07:00
sudacode
509dc5bf7f
fix(subtitles): improve secondary subtitle extraction and display ( #215 )
2026-08-23 01:56:49 -07:00
sudacode
0a0aa3ec98
chore(release): prepare v0.19.4-beta.4
v0.19.4-beta.4
2026-08-23 01:23:16 -07:00
sudacode
b87cc3cfdd
chore(workflow): add release skill
2026-08-23 01:14:03 -07:00
sudacode
8cb3c8c90a
fix(macos): pin window helper deployment target to fix older systems
...
- Build the Swift window-tracking helper with an explicit `-target ...-apple-macos12.0` instead of letting swiftc stamp the build machine's OS, so the overlay attaches to mpv on older macOS (e.g. Ventura) instead of crashing at load
- Fold the standalone build-macos-helper.sh into prepare-build-assets.mjs and update docs/tests to match
2026-08-23 00:58:24 -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
3aea42e6f8
chore(release): prepare v0.19.4-beta.3
v0.19.4-beta.3
2026-08-21 23:25:37 -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
695613b1e7
chore(release): prepare v0.19.4-beta.2
v0.19.4-beta.2
2026-08-19 02:19:40 -07:00
sudacode
20797772f8
fix(character-dictionary): cache completed MeCab refreshes ( #212 )
2026-08-19 01:49:15 -07:00