sudacode
a4927a3bbd
refactor(tests): centralize lane definitions and add per-file isolation
...
- extract test lane config to scripts/test-lanes.ts (single source of truth)
- run-test-lane.mjs: per-file bun process isolation with wall timeout; --jobs N, --single-process flags
- drop hand-listed test file lists from package.json; lanes now discovered by directory
- add test:stats (stats/src) and test:scripts (scripts/**) lanes; wire both into CI
- test:fast now: test:src + launcher-unit + test:scripts + test:runtime:compat
- remove obsolete test:full, test:core, test:core:dist, test:config:dist scripts
2026-07-07 00:17:43 -07:00
sudacode
38ddb29aa0
feat(anki): reading-aware known-word matching (cache v3) ( #142 )
2026-07-07 00:13:10 -07:00
sudacode
8b9a70c5a6
feat(stats): Trends dashboard overhaul — title visibility, ranking modes, calendar-accurate windows, tooltips ( #140 )
2026-07-06 23:52:43 -07:00
sudacode
48a084914a
feat(branding): replace app icon with contributed pixel-art set ( #141 )
2026-07-06 23:31:19 -07:00
sudacode
a042b04357
fix(overlay): prevent field grouping modal from freezing overlay on Hyprland ( #138 )
2026-07-06 22:13:14 -07:00
sudacode
35ca2afc6f
fix(overlay): collapse karaoke syllable spam in secondary subtitles ( #139 )
2026-07-06 01:09:06 -07:00
sudacode
b14f977e33
fix(tokenizer): stop partial furigana readings from marking words known ( #137 )
2026-07-05 17:02:44 -07:00
sudacode
eef4500599
feat(launcher): add -H/--history command to browse local watch history ( #136 )
2026-07-05 16:46:05 -07:00
sudacode
73af1451b7
fix(anki): lower audio normalization target to -23 LUFS (EBU R128)
2026-07-05 01:13:54 -07:00
sudacode
36a3704815
fix(youtube): parse mpv EDL stream URLs with byte-length guards ( #134 )
2026-07-02 01:37:37 -07:00
sudacode
359cb0a301
Normalize generated Anki audio by default ( #135 )
2026-07-02 00:34:16 -07:00
sudacode
4b10e85053
chore(release): prepare v0.17.2
v0.17.2
2026-06-28 23:03:18 -07:00
sudacode
c942a2cf2d
fFix(youtube): recover source URL for background media cache on direct mpv open ( #132 )
2026-06-28 22:46:11 -07:00
sudacode
f65afa6046
feat(youtube): notify on manual picker open and show success after track load ( #133 )
2026-06-28 22:43:16 -07:00
sudacode
389d8e06e0
chore: remove stale npm artifacts
2026-06-28 20:18:08 -07:00
sudacode
0008b55b70
chore(release): prepare v0.17.1
v0.17.1
2026-06-27 22:59:28 -07:00
sudacode
d16ae9c745
chore(release): prepare v0.17.1-beta.1
v0.17.1-beta.1
2026-06-27 22:10:02 -07:00
sudacode
36f94151b8
fix(logs): use local date for log filenames and expand export redaction ( #131 )
2026-06-27 21:08:11 -07:00
sudacode
5326ad32f5
feat(youtube): add mediaCache mode and safer stream media extraction ( #130 )
2026-06-27 19:20:18 -07:00
sudacode
d199376364
chore(release): prepare v0.17.0
v0.17.0
2026-06-15 01:58:42 -07:00
sudacode
3aee88c150
chore(release): prepare v0.17.0-beta.2
v0.17.0-beta.2
2026-06-14 20:58:26 -07:00
sudacode
70da3ee8bd
Fix Windows Anki startup and overlay regressions ( #128 )
2026-06-14 20:51:56 -07:00
sudacode
aa8eb753f6
fix: scope prerelease note reuse by version
2026-06-14 18:04:03 -07:00
sudacode
8d73de8731
docs: scope 0.17.0 beta prerelease notes
2026-06-14 17:50:09 -07:00
sudacode
5a98397efe
chore: prepare 0.17.0-beta.1 prerelease
v0.17.0-beta.1
2026-06-14 17:34:05 -07:00
sudacode
a117c5759c
fix(linux): auto-install managed plugin copy; include in asset updates ( #127 )
2026-06-14 17:25:28 -07:00
sudacode
ae7e6f82a8
fix(overlay): restore macOS Yomitan popup focus without breaking click-away ( #125 )
2026-06-14 16:46:13 -07:00
sudacode
1158be5b39
fix(overlay): preserve visible state across playlist item transitions ( #124 )
2026-06-12 23:38:54 -07:00
sudacode
33e767458f
refactor(main): split main.ts into focused runtime modules ( #123 )
2026-06-12 17:35:46 -07:00
sudacode
94a65416ae
fix(stats): strip Season N suffix from AniList title searches ( #121 )
2026-06-12 01:07:11 -07:00
sudacode
0a384a22c9
Replace subtitle delay actions with native mpv keybindings ( #120 )
2026-06-12 00:03:06 -07:00
sudacode
b3b45521b6
fix(release): preserve attribution placement; default update notifs to o
...
- Move What's Changed/New Contributors before Installation in release notes
- Preserve committed attribution when regenerating via writeReleaseNotesForVersion
- Change notificationType default from 'both' to 'overlay' for new installs
2026-06-10 23:53:31 -07:00
sudacode
131b23efa9
chore(release): prepare v0.16.0
v0.16.0
2026-06-10 23:05:37 -07:00
sudacode
e2afceb492
fix(anki): write sentence card audio only to sentence audio field ( #118 )
2026-06-10 22:51:19 -07:00
sudacode
7be1843c41
feat(notifications): add overlay notifications with position config ( #110 )
2026-06-10 22:46:52 -07:00
sudacode
c09d009a3e
docs: add ani-skip to credits table in README
2026-06-10 00:01:51 -07:00
sudacode
2007e28be8
feat(aniskip): move intro detection from mpv plugin to app runtime ( #117 )
2026-06-09 23:55:43 -07:00
sudacode
d5bfdcae7b
fix(stats): repair legacy combined-season anime rows on startup ( #116 )
2026-06-09 12:41:07 -07:00
sudacode
311f1e8ee5
feat(stats): speed up session maintenance and improve stats UI ( #111 )
2026-06-08 02:20:52 -07:00
sudacode
e6a16a069b
fix(anilist): mark entry completed when final episode is reached ( #115 )
2026-06-07 23:45:09 -07:00
Autumn (Bee)
af67c53dd6
[codex] Restart Jellyfin remote session after setup login ( #112 )
2026-06-06 11:52:16 -07:00
sudacode
ea79e331fa
build: make deps initializes submodules before installing JS deps
...
- Add `submodules` target that runs `git submodule update --init --recursive`
- `deps` now depends on `submodules` so fresh checkouts work out of the box
- Update docs to replace manual install steps with `make deps`
- Fix Windows build-from-source steps to include stats and submodule init
2026-06-06 01:25:01 -07:00
sudacode
ee89b0c8a9
feat(release): add contributor attribution to release notes ( #114 )
2026-06-06 01:07:47 -07:00
sudacode
f2fd58cd2b
docs(changelog): require reconciled fragments, not just new ones ( #113 )
2026-06-06 00:55:34 -07:00
sudacode
1280a30216
chore(release): prepare 0.15.2
v0.15.2
2026-06-02 23:45:03 -07:00
sudacode
a80ed72b2d
docs: replace em-dashes with hyphens across docs-site
2026-06-02 23:36:44 -07:00
sudacode
4cc6c12dc7
chore(vendor): update subminer-yomitan submodule ( #109 )
2026-06-02 00:37:45 -07:00
sudacode
425004879a
fix(anki): align animated AVIF clip bounds to frame boundaries ( #108 )
2026-06-01 15:20:06 -07:00
sudacode
76f99e6518
fix(overlay): correct Hyprland fullscreen overlay alignment on Linux ( #107 )
2026-06-01 02:12:16 -07:00
sudacode
f1e260e996
fix(overlay): fix macOS overlay interactivity and focus after autoplay ( #106 )
2026-06-01 01:34:27 -07:00