Commit Graph

326 Commits

Author SHA1 Message Date
9f619d73ef chore(subagents): finalize commit session handoff notes 2026-02-22 21:08:57 -08:00
a07d5ecdb3 fix(plugin): allow cold-start overlay launch without running process 2026-02-22 21:08:25 -08:00
f33b5e1e98 chore: migrate repo workflows to Bun-only runtime 2026-02-22 20:43:54 -08:00
1d3f099e44 docs: refresh architecture and development docs
Update docs content to match current launcher/plugin/runtime structure and fix stale home demo media assets with cache-busted URLs plus poster refresh. Add supporting backlog/subagent tracking records and docs asset regression coverage.
2026-02-22 20:25:55 -08:00
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
e0621d042d fix(subminer): gate plugin behavior by app runtime state 2026-02-22 18:59:21 -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
43a8a37f5b fix(main): fix jellyfin composer import wiring 2026-02-22 14:48:14 -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
420b985c7a refactor(launcher): split config parser and CLI builder
Decompose launcher/config.ts into focused domain parser and CLI normalization modules to reduce refactor risk while preserving command behavior. Align Jellyfin launcher config with session-based auth by dropping config token/userId dependency.
2026-02-22 12:01:04 -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
b3b55de4b9 update assets 2026-02-22 02:14:29 -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
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
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
704e664cc3 refactor(guardrails): add hotspot budgets and runtime cycle checks 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
b71a1a3d29 refactor(tokenizer): split pipeline into explicit stages 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
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
a693cc1866 fix(config): resolve launcher config from SubMiner only 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
54109deb94 refactor(config): extract resolve domain modules and seam tests 2026-02-21 21:27:31 -08:00
69474c9642 refactor(main): normalize runtime composer contracts 2026-02-21 21:27:31 -08:00