Commit Graph

145 Commits

Author SHA1 Message Date
36e9346595 chore: remove maintainability guardrails checks
Drop the Maintainability Guardrails docs section and remove the fan-in/runtime-cycle guardrail scripts from local and CI workflows so contributor guidance matches current validation lanes.
2026-02-22 19:42:19 -08:00
64acf22292 update docs 2026-02-22 19:35:19 -08:00
0a2461f45a feat(overlay): split secondary subtitles into dedicated top window 2026-02-22 18:41:23 -08:00
badb82280a refactor(tokenizer): remove MeCab fallback tokenization path 2026-02-22 18:03:38 -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
edfe6640ac feat(core): add Discord presence service and extract Jellyfin runtime composition
Introduce Discord presence runtime support and continue composition-root decomposition by moving Jellyfin wiring into dedicated composer modules. This keeps main runtime orchestration thinner while preserving behavior and test coverage across config, runtime, and docs updates.
2026-02-22 14:53:10 -08:00
4deef69928 refactor(immersion): split tracker storage and metadata modules
Decompose the immersion tracker facade into focused storage/session/metadata collaborators with dedicated tests and updated ownership docs while preserving runtime behavior.
2026-02-22 14:03:19 -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
82a9d83820 docs: finalize TASK-108 AniSkip closure evidence 2026-02-22 11:50:44 -08:00
e1ffd8770f Investigate GH Actions CI failure 2026-02-22 11:34:45 -08:00
c480fe6ad4 update docs 2026-02-22 02:15:12 -08:00
4be3ecf7ac docs: refresh stale guidance and shortcut references 2026-02-22 02:14:49 -08:00
f6e7dd496a feat(plugin): add AniSkip intro skip flow with launcher metadata hints 2026-02-22 02:14:37 -08:00
26c031aea8 Fix overlay toggle regression TASK-7 2026-02-21 23:47:34 -08:00
44c7b05f96 update docs and deps 2026-02-21 23:31:09 -08:00
7a561fca45 fix(jellyfin): align session-store config contract 2026-02-21 23:27:22 -08:00
4682938d17 update docs 2026-02-21 22:30:28 -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
75c3b15792 Remove file-budget guardrail 2026-02-21 22:20:37 -08:00
00170c6a75 update docs 2026-02-21 21:32:14 -08:00
da48fdeb97 chore(subagents): log TASK-100 execution handoff 2026-02-21 21:32:14 -08:00
ace809b575 chore(cleanup): prune dead code after refactors 2026-02-21 21:32:14 -08:00
47301d7492 docs(architecture): consolidate canonical docs and archive roadmap noise 2026-02-21 21:32:14 -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
c749430c77 refactor(launcher): split CLI flow into command modules
Isolate process-side effects behind adapter seams and keep wrapper behavior stable while improving command-level testability.
2026-02-21 21:32:14 -08:00
05be13be9e refactor(ipc): centralize contracts and validate payloads 2026-02-21 21:32:14 -08:00
2a5830c4c5 test(launcher): add e2e smoke suite and CI gates 2026-02-21 21:32:14 -08:00
16b8d80498 chore(backlog): capture task planning and subagent handoffs 2026-02-21 21:32:14 -08:00
ebec472daf refactor(config): modularize config definition ownership by domain
Split config defaults, option metadata, runtime-option registry, and template sections into domain modules while preserving the composed public API in definitions.ts. This keeps ConfigService behavior stable and makes future config extensions easier to add with focused regression coverage.
2026-02-21 21:31:52 -08:00
631e0450b1 refactor(main): introduce explicit AniList runtime transitions 2026-02-21 21:27:31 -08:00
7a869ad291 fix(config): enforce strict startup config parsing 2026-02-21 21:27:31 -08:00
10b94ce889 refactor(config): slim resolver facade and expand regression lanes
Collapse src/config/resolve.ts into an orchestrated pipeline over domain modules, wire launcher regression coverage into test scripts, and sync backlog/subagent tracking artifacts for completed TASK-74/TASK-96/TASK-98 follow-up planning.
2026-02-21 21:27:31 -08:00
2b77ab2406 refactor(launcher): consolidate mpv socket readiness primitive 2026-02-21 21:27:31 -08:00
5cb0ee1591 refactor(anki): extract workflow services from integration facade
Split note-update and field-grouping orchestration out of AnkiIntegration so the facade remains focused on composition and shared policy wiring. This keeps mining behavior stable while creating focused workflow seams with dedicated regression coverage and clearer ownership docs.
2026-02-21 21:27:31 -08:00
69474c9642 refactor(main): normalize runtime composer contracts 2026-02-21 21:27:31 -08:00
5805d774ca test: run default regressions from source and keep dist smoke 2026-02-21 21:27:31 -08:00
c8c7f46a16 chore(task-85): finalize closure tracking and launcher path enforcement 2026-02-21 21:27:30 -08:00
f8db9e7119 refactor(main): extract anilist/mpv runtime composers 2026-02-21 21:21:44 -08:00
4fc34ec787 refactor(main): add runtime domain registry and fan-in guardrails
Introduce runtime domain barrel exports and registry composition support, and document/check main runtime fan-in workflow with related backlog planning artifacts.
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
1c424b4a0b fix(logging): suppress mpv connect-request info log spam 2026-02-20 20:45:33 -08:00
8ac3d517fe feat(jellyfin): move auth to env and stored session 2026-02-20 20:37:21 -08:00
d6676f7132 fix(renderer): stabilize preserveLineBreaks whitespace and newline rendering 2026-02-20 20:22:37 -08:00
28d2da1e64 chore(task-85): update launcher workflow and backlog tracking 2026-02-20 03:57:20 -08:00
06892b4838 refactor: simplify config and anki integration composition 2026-02-20 03:55:29 -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