Commit Graph

167 Commits

Author SHA1 Message Date
0a2461f45a feat(overlay): split secondary subtitles into dedicated top window 2026-02-22 18:41:23 -08:00
f1dc418e2d feat(core): add Discord Rich Presence integration
Introduce optional Discord activity updates across config, runtime, tests, and docs so playback context appears in Discord without destabilizing app lifecycle. Tune default refresh cadence to reduce pause/resume lag during real sessions.
2026-02-22 17:25:55 -08:00
43a8a37f5b fix(main): fix jellyfin composer import wiring 2026-02-22 14:48:14 -08:00
a6d85def34 refactor(main): eliminate unsafe runtime cast escapes
Tighten main/runtime dependency contracts to remove non-test `as never` and `as unknown as` usage so type drift surfaces during compile/test checks instead of at runtime.
2026-02-22 13:59:08 -08:00
7a561fca45 fix(jellyfin): align session-store config contract 2026-02-21 23:27:22 -08:00
01f01f18e3 feat(subtitles): improve mpv hovered-token highlighting flow
- add subtitleStyle.hoverTokenColor config default + validation

- normalize hover color payloads and propagate configured color to mpv runtime

- refresh invisible overlay tokenization with current subtitle text and tighten hover overlay cleanup hooks

- record TASK-98 and subagent coordination updates
2026-02-21 22:30:28 -08:00
430c4e7120 fix(overlay): refresh current subtitle when enabling invisible layer 2026-02-21 22:28:28 -08:00
8b8a99dc79 fix(mpv): stabilize hover token subtitle highlighting
# Conflicts:
#	src/core/services/ipc.ts
#	src/main.ts
2026-02-21 22:28:09 -08:00
4ad8109508 fix(shortcuts): gate feature-dependent bindings
Disable Anki-dependent shortcuts when AnkiConnect is off and require jellyfin.enabled for remote startup warmups to avoid initializing disabled integrations.
2026-02-21 21:32:14 -08:00
05be13be9e refactor(ipc): centralize contracts and validate payloads 2026-02-21 21:32:14 -08:00
631e0450b1 refactor(main): introduce explicit AniList runtime transitions 2026-02-21 21:27:31 -08:00
7e1a7df403 perf(main): buffer MPV OSD log writes asynchronously
Move OSD log appends off sync fs calls to reduce main-process blocking under frequent OSD activity. Add buffered flush wiring into quit cleanup so pending log lines are drained best-effort during shutdown.
2026-02-21 21:27:31 -08:00
69474c9642 refactor(main): normalize runtime composer contracts 2026-02-21 21:27:31 -08:00
f8db9e7119 refactor(main): extract anilist/mpv runtime composers 2026-02-21 21:21:44 -08:00
23b88bf20e refactor(main): finish TASK-94 composition-root extraction
Move IPC, shortcuts, startup lifecycle, and app-ready assembly behind dedicated runtime composers so main.ts stays focused on boot wiring while preserving behavior and test coverage.
2026-02-21 21:21:44 -08:00
8ad8ff1671 refactor(main): extract jellyfin and anilist runtime composers 2026-02-21 21:19:50 -08:00
ab1d5f19fd chore: commit unstaged workspace changes 2026-02-21 02:32:00 -08:00
8ac3d517fe feat(jellyfin): move auth to env and stored session 2026-02-20 20:37:21 -08:00
12c5d956bc refactor: extract numeric and overlay shortcuts runtime wiring 2026-02-20 03:52:08 -08:00
eef8a7eb41 refactor: extract mpv osd and secondary-sub runtime wiring 2026-02-20 03:52:08 -08:00
2d89dd43f2 refactor: extract global shortcuts runtime wiring 2026-02-20 03:52:08 -08:00
2ffd503898 refactor: extract cli command runtime wiring 2026-02-20 03:52:08 -08:00
2b70b54faf refactor: extract startup and initial args runtime wiring 2026-02-20 03:52:08 -08:00
6634ee7626 refactor: extract overlay bootstrap runtime wiring 2026-02-20 03:52:08 -08:00
9b3cb4a42c refactor: extract yomitan settings runtime wiring 2026-02-20 03:52:08 -08:00
9db54f8037 refactor: extract overlay window runtime wiring 2026-02-20 03:52:08 -08:00
e8db67e621 refactor: extract tray runtime handler wiring 2026-02-20 03:52:08 -08:00
b6b81a72f5 refactor: extract cli command context factory wiring 2026-02-20 03:52:08 -08:00
f56de54c10 refactor: extract ipc runtime handler wiring 2026-02-20 03:52:08 -08:00
5b432fa156 refactor: extract overlay visibility runtime wiring 2026-02-20 03:52:08 -08:00
3aeb10ae61 refactor: extract yomitan runtime wiring from main 2026-02-20 03:52:08 -08:00
062677dcc5 refactor: prebuild additional lifecycle and mpv runtime deps 2026-02-20 03:52:08 -08:00
65878e0d8a refactor: prebuild more shortcut and overlay runtime deps 2026-02-20 03:52:08 -08:00
5b84ba5ef8 refactor: prebuild more jellyfin and startup runtime deps 2026-02-20 03:52:08 -08:00
40184c67ed refactor: prebuild more overlay and jellyfin runtime deps 2026-02-20 03:52:08 -08:00
2be7829aa5 refactor: prebuild more main runtime handler dependencies 2026-02-20 03:52:08 -08:00
a33d030d34 refactor: prebuild additional main startup dependency bundles 2026-02-20 03:52:07 -08:00
6287409c83 refactor: prebuild additional main runtime deps in startup flow 2026-02-20 03:52:07 -08:00
e1a66800b9 refactor: prebuild anilist protocol and token runtime deps 2026-02-20 03:52:07 -08:00
e73381aa36 refactor: prebuild global shortcut and mpv log handler deps 2026-02-20 03:52:07 -08:00
c3afea6d40 refactor: prebuild remaining setup-window focus handlers 2026-02-20 03:52:07 -08:00
86e0527630 refactor: extract protocol url handler dependency builders 2026-02-20 03:52:07 -08:00
98902b6b0e refactor: normalize additional startup and lifecycle wiring 2026-02-20 03:52:07 -08:00
4010fc1b04 refactor: normalize additional main dependency construction 2026-02-20 03:52:07 -08:00
c6fa197d0d refactor: normalize remaining main runtime dependency setup 2026-02-20 03:52:07 -08:00
46a2ac5dc7 feat(jellyfin): store access token in encrypted local store 2026-02-20 03:26:37 -08:00
18648cb6fc refactor: extract additional main dependency builders 2026-02-20 01:02:40 -08:00
5476d44005 refactor: extract additional main runtime dependency builders 2026-02-20 00:10:36 -08:00
df380ed1ca refactor: extract runtime dependency builders from main 2026-02-19 23:38:23 -08:00
0d7b65ec88 refactor: extract main runtime dependency builders 2026-02-19 23:11:20 -08:00