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
sudacode
72c312810a
docs: link README demo to GitHub video playback
...
- Use GitHub-hosted video playback for the README demo
- Document the animated fallback behavior
2026-08-19 01:02:05 -07:00
sudacode
b61f050e78
docs: update mining demo and scale video crops
...
- Refresh mining demo assets and documentation references
- Scale mpv crop coordinates for resized OBS recordings
2026-08-19 00:55:31 -07:00
sudacode
2a77ba9dd4
fix(launcher): restore Matroska thumbnails in Linux rofi picker ( #210 )
2026-08-18 20:30:58 -07:00
sudacode
4ed878270f
fix(stats): accept legacy lexical rollup state schemas
2026-08-18 02:24:49 -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
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