mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-27 18:22:41 -08:00
112 KiB
112 KiB
Agent: codex-task85-20260219T233711Z-46hc
- alias: codex-task85
- mission: Resume TASK-85 maintainability refactor from latest handoff point
- status: in_progress
- branch: main
- started_at: 2026-02-19T23:37:11Z
- heartbeat_minutes: 5
Current Work (newest first)
- [2026-02-20T11:42:39Z] progress: pivoted from
src/main.tsmicro-extractions to targeted large-file ROI on/src/config/service.tsand/src/anki-integration.ts. - [2026-02-20T11:42:39Z] progress:
src/config/service.tscleanup: centralized state application inapplyResolvedConfig(...), split path/content parsing intoresolveExistingConfigPath(...)+parseConfigContent(...), and simplified reload/save flows to remove duplicated assignment logic. - [2026-02-20T11:42:39Z] progress:
src/anki-integration.tsconstructor decomposition: extractednormalizeConfig(...),createKnownWordCache(...),createPollingRunner(...),createCardCreationService(...), andcreateFieldGroupingService(...)to shrink constructor complexity and improve navigation. - [2026-02-20T11:42:39Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + focused suites pass fordist/config/config.test.jsanddist/anki-integration.test.js(37/37). - [2026-02-20T11:42:39Z] scope: staging
src/config/service.ts,src/anki-integration.ts, and subagent bookkeeping only; preserving external subagent INDEX row addition as approved. - [2026-02-20T11:35:21Z] progress: extracted numeric shortcut session composition from
src/main.tsintosrc/main/runtime/numeric-shortcut-session-runtime-handlers.ts;main.tsnow getscancel/starthandlers for multi-copy and mine-sentence sessions from one runtime factory. - [2026-02-20T11:35:21Z] progress: extracted overlay shortcuts lifecycle composition from
src/main.tsintosrc/main/runtime/overlay-shortcuts-runtime-handlers.ts;main.tsnow gets register/unregister/sync/refresh handlers via one runtime factory. - [2026-02-20T11:35:21Z] progress: added parity tests
src/main/runtime/numeric-shortcut-session-runtime-handlers.test.tsandsrc/main/runtime/overlay-shortcuts-runtime-handlers.test.ts. - [2026-02-20T11:35:21Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + focused suites pass fornumeric-shortcut-session-runtime-handlers*,overlay-shortcuts-runtime-handlers*,numeric-shortcut-session-*, andoverlay-shortcuts-lifecycle-*(10/10). - [2026-02-20T11:35:21Z] scope: staging
src/main.ts, new numeric/overlay-shortcuts runtime handler modules/tests, and subagent bookkeeping only. - [2026-02-20T11:32:45Z] progress: extracted MPV OSD composition from
src/main.tsintosrc/main/runtime/mpv-osd-runtime-handlers.ts;main.tsnow receivesappendToMpvLogandshowMpvOsdfrom one runtime factory. - [2026-02-20T11:32:45Z] progress: extracted secondary subtitle mode composition from
src/main.tsintosrc/main/runtime/secondary-sub-mode-runtime-handler.ts;main.tsnow buildscycleSecondarySubModevia one runtime handler factory. - [2026-02-20T11:32:45Z] progress: added parity tests
src/main/runtime/mpv-osd-runtime-handlers.test.tsandsrc/main/runtime/secondary-sub-mode-runtime-handler.test.ts. - [2026-02-20T11:32:45Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + focused suites pass formpv-osd-runtime-handlers*,secondary-sub-mode-runtime-handler*,mpv-osd-log*,secondary-sub-mode-main-deps*, andglobal-shortcuts-runtime-handlers*(7/7). - [2026-02-20T11:32:45Z] scope: staging
src/main.ts, new mpv-osd/secondary-sub runtime handler modules/tests, and subagent bookkeeping only. - [2026-02-20T11:18:02Z] progress: extracted global shortcuts composition from
src/main.tsintosrc/main/runtime/global-shortcuts-runtime-handlers.ts;main.tsnow obtainsgetConfiguredShortcuts/registerGlobalShortcuts/refreshGlobalAndOverlayShortcutsfrom one runtime factory. - [2026-02-20T11:18:02Z] progress: added parity coverage in
src/main/runtime/global-shortcuts-runtime-handlers.test.tsfor get/register/refresh wiring. - [2026-02-20T11:18:02Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + focused suites pass forglobal-shortcuts-runtime-handlers*,global-shortcuts*,global-shortcuts-main-deps*,cli-command-runtime-handler*, andstartup-runtime-handlers*(9/9). - [2026-02-20T11:18:02Z] scope: staging
src/main.ts, new global-shortcuts runtime handlers module/test, and subagent bookkeeping only. - [2026-02-20T11:15:54Z] progress: extracted CLI command composition from
src/main.tsintosrc/main/runtime/cli-command-runtime-handler.ts;main.tsnow createshandleCliCommandvia one runtime factory (precheck + context + runtime dispatch wiring). - [2026-02-20T11:15:54Z] progress: added
src/main/runtime/cli-command-runtime-handler.test.tsto lock composed behavior around texthooker precheck, context creation, and'initial'source forwarding. - [2026-02-20T11:15:54Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + focused suites pass forcli-command-runtime-handler*,cli-command-prechecks*,cli-command-context-factory*,initial-args-runtime-handler*, andstartup-runtime-handlers*(7/7). - [2026-02-20T11:15:54Z] scope: staging
src/main.ts, new cli-command runtime handler module/test, and subagent bookkeeping only. - [2026-02-20T11:14:14Z] progress: extracted startup/app-lifecycle composition from
src/main.tsintosrc/main/runtime/startup-runtime-handlers.ts; rewiredmain.tsto injectcreateAppLifecycleRuntimeRunner+createStartupBootstrapRuntimeDepsintocreateStartupRuntimeHandlers(...). - [2026-02-20T11:14:14Z] progress: extracted initial-args composition from
src/main.tsintosrc/main/runtime/initial-args-runtime-handler.ts;main.tsnow constructshandleInitialArgsRuntimeHandlerwith one runtime factory call. - [2026-02-20T11:14:14Z] progress: added parity tests
src/main/runtime/startup-runtime-handlers.test.tsandsrc/main/runtime/initial-args-runtime-handler.test.ts(fixing previousnode:sqlitetest-import leak by removing direct runtime imports from startup handler module). - [2026-02-20T11:14:14Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + focused suites pass forstartup-runtime-handlers*,startup-lifecycle-main-deps*,startup-bootstrap-main-deps*,startup-bootstrap-deps-builder*,startup-warmups*,initial-args-runtime-handler*,initial-args-handler*,cli-command-context-factory*, andcli-command-prechecks*(23/23). - [2026-02-20T11:14:14Z] scope: staging
src/main.ts, new startup/initial-args runtime handler modules + tests, and subagent bookkeeping only. - [2026-02-20T11:06:51Z] progress: extracted overlay bootstrap composition from
src/main.tsintosrc/main/runtime/overlay-runtime-bootstrap-handlers.ts;main.tsnow createsinitializeOverlayRuntimethroughcreateOverlayRuntimeBootstrapHandlers(...). - [2026-02-20T11:06:51Z] progress: added
src/main/runtime/overlay-runtime-bootstrap-handlers.test.tsfor composed bootstrap behavior. - [2026-02-20T11:06:51Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + focused suites pass foroverlay-runtime-bootstrap-handlers*,overlay-runtime-bootstrap*,overlay-runtime-options*,overlay-window-runtime-handlers*,tray-runtime-handlers*, andcli-command-context-factory*(8/8). - [2026-02-20T11:06:51Z] scope: staging
src/main.ts, new overlay bootstrap handlers module/tests, and subagent bookkeeping only. - [2026-02-20T10:17:29Z] progress: extracted Yomitan settings opener composition from
src/main.tsintosrc/main/runtime/yomitan-settings-runtime.ts;main.tsnow usescreateYomitanSettingsRuntime(...)and consumesopenYomitanSettingsfrom that runtime. - [2026-02-20T10:17:29Z] progress: added
src/main/runtime/yomitan-settings-runtime.test.tsfor composed runtime behavior. - [2026-02-20T10:17:29Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + focused suites pass foryomitan-settings-runtime*,yomitan-settings-opener*,yomitan-extension-runtime*,cli-command-context-factory*, andtray-runtime-handlers*(7/7). - [2026-02-20T10:17:29Z] scope: staging
src/main.ts, new yomitan settings runtime module/tests, and subagent bookkeeping only. - [2026-02-20T10:15:51Z] progress: extracted overlay window factory composition from
src/main.tsintosrc/main/runtime/overlay-window-runtime-handlers.ts;main.tsnow composes overlay/main/invisible window handlers via one runtime factory. - [2026-02-20T10:15:51Z] progress: added
src/main/runtime/overlay-window-runtime-handlers.test.tsfor composed window handler wiring. - [2026-02-20T10:15:51Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + focused suites pass foroverlay-window-runtime-handlers*,overlay-window-factory*,overlay-runtime-bootstrap*,tray-runtime-handlers*, andcli-command-context-factory*(9/9). - [2026-02-20T10:15:51Z] scope: staging
src/main.ts, new overlay-window runtime module/tests, and subagent bookkeeping only. - [2026-02-20T10:14:17Z] progress: extracted tray composition wiring from
src/main.tsintosrc/main/runtime/tray-runtime-handlers.ts;main.tsnow composesresolveTrayIconPath/buildTrayMenu/ensureTray/destroyTraythrough one factory. - [2026-02-20T10:14:17Z] progress: added
src/main/runtime/tray-runtime-handlers.test.tscovering composed tray handler behavior. - [2026-02-20T10:14:17Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + focused suites pass fortray-runtime-handlers*,tray-main-actions*,tray-main-deps*,tray-runtime*,tray-lifecycle*,cli-command-context-factory*, andoverlay-visibility-runtime*(12/12). - [2026-02-20T10:14:17Z] scope: staging
src/main.ts, new tray runtime handlers module/tests, and subagent bookkeeping only. - [2026-02-20T10:06:15Z] progress: extracted CLI command-context composition from
src/main.tsintosrc/main/runtime/cli-command-context-factory.ts;main.tsnow creates context viacreateCliCommandContextFactory(...). - [2026-02-20T10:06:15Z] progress: added
src/main/runtime/cli-command-context-factory.test.tsto validate composed factory behavior. - [2026-02-20T10:06:15Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + focused suites pass forcli-command-context-factory*,cli-command-context*,ipc-runtime-handlers*,ipc-bridge-actions*,overlay-visibility-runtime*, andyomitan-extension-runtime*(12/12). - [2026-02-20T10:06:15Z] scope: staging
src/main.ts, new CLI context factory module/tests, and subagent bookkeeping only. - [2026-02-20T10:04:27Z] progress: extracted IPC bridge composition from
src/main.tsintosrc/main/runtime/ipc-runtime-handlers.ts;main.tsnow buildshandleMpvCommandFromIpcandrunSubsyncManualFromIpcvia onecreateIpcRuntimeHandlers(...)factory. - [2026-02-20T10:04:27Z] progress: added
src/main/runtime/ipc-runtime-handlers.test.tsfor composed IPC handler wiring behavior. - [2026-02-20T10:04:27Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + focused suites pass foripc-runtime-handlers*,ipc-bridge-actions*,cli-command-context*,yomitan-extension-runtime*, andoverlay-visibility-runtime*(11/11). - [2026-02-20T10:04:27Z] scope: staging only
src/main.ts, new IPC runtime module/tests, and subagent bookkeeping. - [2026-02-20T10:02:30Z] progress: extracted overlay visibility action composition from
src/main.tsinto new runtime modulesrc/main/runtime/overlay-visibility-runtime.ts;main.tsnow consumes a singlecreateOverlayVisibilityRuntime(...)factory for set/toggle overlay handlers. - [2026-02-20T10:02:30Z] progress: added
src/main/runtime/overlay-visibility-runtime.test.tsto lock behavior of composed set/toggle/setOverlay/toggleOverlay wiring. - [2026-02-20T10:02:30Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + focused suites pass foroverlay-visibility-runtime*,overlay-visibility-actions*,overlay-runtime-bootstrap*,overlay-window-layout*, andcli-command-context*(16/16). - [2026-02-20T10:02:30Z] scope: committing
src/main.ts, new overlay visibility runtime module/tests, and subagent bookkeeping only. - [2026-02-20T09:59:54Z] progress: pivot batch completed: extracted Yomitan extension runtime wiring from
src/main.tsinto new modulesrc/main/runtime/yomitan-extension-runtime.tsand replacedmain.tssetup withcreateYomitanExtensionRuntime(...). - [2026-02-20T09:59:54Z] progress: added regression coverage for extracted composition in
src/main/runtime/yomitan-extension-runtime.test.ts; finalized remaining inlinebuild*MainDepsHandler(),constructor sites insrc/main.ts(count now 0). - [2026-02-20T09:59:54Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + targeted suites pass foryomitan-extension-runtime*,yomitan-extension-loader*,mpv-subtitle-render-metrics*,overlay-window-layout*,mining-actions*,ipc-bridge-actions*,cli-command-context*,startup-warmups*(30/30). - [2026-02-20T09:59:54Z] scope: staging
src/main.ts, new Yomitan runtime module/tests, and subagent bookkeeping only; unrelated workspace deltas remain excluded. - [2026-02-20T09:51:57Z] progress: completed another 2-slice safe batch (10 normalized sites) by prebuilding finalized deps for stop/run Jellyfin command handlers, app lifecycle runner, initial-args handler, MPV event binding, and numeric/overlay-shortcut related setup.
- [2026-02-20T09:51:57Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + targeted suites pass forjellyfin-command-dispatch*,jellyfin-remote-session-lifecycle,app-lifecycle-*,initial-args*,mpv-main-event-*,numeric-shortcut-*,overlay-shortcuts-lifecycle*, andanki-actions(39/39). - [2026-02-20T09:51:57Z] scope: committing only
src/main.ts+ subagent bookkeeping files; unrelated workspace noise still excluded. - [2026-02-20T09:51:02Z] progress: completed 2 more safe slices (10 normalized sites) in
src/main.tsby prebuilding finalized deps for numeric shortcut pending-session handlers and overlay-shortcuts/Anki action handler setup. - [2026-02-20T09:51:02Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + targeted suites pass fornumeric-shortcut-*,overlay-shortcuts-lifecycle*, andanki-actions(17/17). - [2026-02-20T09:51:02Z] scope: commit includes only
src/main.ts+ subagent bookkeeping files; unrelated workspace deltas still excluded. - [2026-02-20T09:48:39Z] progress: completed another 2-slice safe batch in
src/main.ts(10 normalized sites) by prebuilding finalized deps for Jellyfin CLI/session handlers and startup warmup/overlay-bounds handlers. - [2026-02-20T09:48:39Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + targeted suites pass forjellyfin-cli-*,jellyfin-remote-session-lifecycle,startup-warmups*, andoverlay-window-layout*(29/29). - [2026-02-20T09:48:39Z] scope: commit will include
src/main.tsand subagent bookkeeping only; unrelated tracked/untracked files remain untouched. - [2026-02-20T09:47:23Z] progress: completed another 2-slice safe batch in
src/main.ts(10 normalized sites) by prebuilding finalized deps for overlay/jellyfin-config handlers and Jellyfin MPV launch/preload/playback handlers. - [2026-02-20T09:47:23Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + targeted suites pass foroverlay-runtime-options*,jellyfin-client-info*,jellyfin-remote-connection*,jellyfin-subtitle-preload*, andjellyfin-playback-launch*(20/20). - [2026-02-20T09:47:23Z] scope: commit will include only
src/main.tsplus subagent bookkeeping updates; unrelated working tree noise remains excluded. - [2026-02-20T09:46:08Z] progress: completed 2 more safe slices (10 normalized handler sites) in
src/main.tsby prebuilding finalized deps for Jellyfin remote command/progress handlers plus field-grouping/runtime-options handlers. - [2026-02-20T09:46:08Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + targeted suites pass forjellyfin-remote-*,field-grouping-resolver*,overlay-runtime-options*, andsecondary-sub-mode-main-deps(26/26). - [2026-02-20T09:46:08Z] scope: staging only
src/main.ts+ subagent index/agent files; leaving unrelated tracked/untracked artifacts untouched. - [2026-02-20T09:44:47Z] progress: added another safe 5-block normalization in
src/main.tsfor early startup/runtime wiring by prebuilding finalized deps forapplyJellyfinMpvDefaults,getDefaultSocketPath,overlayContentMeasurementStore,subtitleProcessingController, and config hot-reload message handler. - [2026-02-20T09:44:47Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + targeted suites pass formpv-jellyfin-defaults*,config-hot-reload-*, andsubtitle-processing-controller(18/18). - [2026-02-20T09:44:47Z] scope: this commit batch now includes 4 refactor slices (20 normalized
main.tshandler construction sites) + subagent bookkeeping updates. - [2026-02-20T09:43:47Z] progress: completed larger safe batch in
src/main.tsacross 3 contiguous slices (15 normalized sites) by prebuilding finalized deps objects for AniList media-state handlers, AniList post-watch/retry handlers, and protocol/lifecycle/subtitle-position handlers. - [2026-02-20T09:43:47Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + targeted suites pass foranilist-media-state*,anilist-media-guess*,anilist-post-watch*,subtitle-position*,protocol-url-handlers*,app-lifecycle-main-activate*,startup-config*(39/39). - [2026-02-20T09:43:47Z] scope: staging only
src/main.ts+ subagent bookkeeping files for one large checkpoint commit; excluding unrelatedvendor/texthooker-ui, backlog task draft, and other agent files. - [2026-02-20T09:41:54Z] progress: completed another 5-block safe normalization in
src/main.tsby prebuilding finalized deps objects fornotifyAnilistSetup,consumeAnilistSetupTokenFromUrl,handleAnilistSetupProtocolUrl,registerSubminerProtocolClient, andrefreshAnilistClientSecretState. - [2026-02-20T09:41:54Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + targeted AniList suites pass:anilist-setup-protocol-main-deps,anilist-setup-protocol,anilist-token-refresh-main-deps,anilist-token-refresh(13/13). - [2026-02-20T09:41:54Z] scope: staged-only checkpoint planned for
src/main.ts+ subagent bookkeeping files; excluding unrelatedvendor/texthooker-uiand other agent/backlog artifacts. - [2026-02-20T08:34:16Z] progress: extracted field-grouping resolver deps assembly into
src/main/runtime/field-grouping-resolver-main-deps.tsand rewiredgetFieldGroupingResolver/setFieldGroupingResolverhandler construction insrc/main.ts. - [2026-02-20T08:34:16Z] progress: extracted Yomitan extension loader deps assembly into
src/main/runtime/yomitan-extension-loader-main-deps.tsand rewiredloadYomitanExtension/ensureYomitanExtensionLoadedhandler construction insrc/main.ts. - [2026-02-20T08:34:16Z] progress: added parity tests in
src/main/runtime/field-grouping-resolver-main-deps.test.tsandsrc/main/runtime/yomitan-extension-loader-main-deps.test.ts;src/main.tsnow 2993 LOC. - [2026-02-20T08:34:16Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/yomitan-extension-loader-main-deps.test.js dist/main/runtime/yomitan-extension-loader.test.js dist/main/runtime/field-grouping-resolver-main-deps.test.js dist/main/runtime/anilist-token-refresh-main-deps.test.jspass (7/7). - [2026-02-20T08:31:52Z] progress: extracted AniList media-state deps assembly into
src/main/runtime/anilist-media-state-main-deps.tsand rewired media-key/media-guess state handlers insrc/main.ts. - [2026-02-20T08:31:52Z] progress: extracted subtitle-position deps assembly into
src/main/runtime/subtitle-position-main-deps.tsand rewired load/save subtitle position handlers insrc/main.ts. - [2026-02-20T08:31:52Z] progress: extracted AniList token-refresh deps assembly into
src/main/runtime/anilist-token-refresh-main-deps.tsand rewiredrefreshAnilistClientSecretStatehandler construction insrc/main.ts. - [2026-02-20T08:31:52Z] progress: added parity tests in
src/main/runtime/anilist-media-state-main-deps.test.ts,src/main/runtime/subtitle-position-main-deps.test.ts, andsrc/main/runtime/anilist-token-refresh-main-deps.test.ts;src/main.tsnow 2968 LOC. - [2026-02-20T08:31:52Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/anilist-token-refresh-main-deps.test.js dist/main/runtime/anilist-token-refresh.test.js dist/main/runtime/anilist-media-state-main-deps.test.js dist/main/runtime/subtitle-position-main-deps.test.js dist/main/runtime/jellyfin-subtitle-preload-main-deps.test.jspass (12/12). - [2026-02-20T08:12:54Z] progress: extracted Jellyfin subtitle-preload deps assembly into
src/main/runtime/jellyfin-subtitle-preload-main-deps.tsand rewiredpreloadJellyfinExternalSubtitlesconstruction insrc/main.ts. - [2026-02-20T08:12:54Z] progress: added parity tests in
src/main/runtime/jellyfin-subtitle-preload-main-deps.test.ts;src/main.tsnow 2926 LOC. - [2026-02-20T08:12:54Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/jellyfin-subtitle-preload-main-deps.test.js dist/main/runtime/jellyfin-subtitle-preload.test.js dist/main/runtime/jellyfin-remote-session-main-deps.test.jspass (6/6). - [2026-02-20T08:11:29Z] progress: committed checkpoint
a85b6c2(refactor: extract additional main runtime dependency builders) and continued with Jellyfin remote-session deps extraction. - [2026-02-20T08:11:29Z] progress: extracted start/stop Jellyfin remote-session deps assembly into
src/main/runtime/jellyfin-remote-session-main-deps.tsand rewired those constructor sites insrc/main.ts. - [2026-02-20T08:11:29Z] progress: added parity tests in
src/main/runtime/jellyfin-remote-session-main-deps.test.ts;src/main.tsnow 2921 LOC. - [2026-02-20T08:11:29Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/jellyfin-remote-session-main-deps.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-command-dispatch-main-deps.test.jspass (5/5). - [2026-02-20T08:00:02Z] progress: extracted Jellyfin command-dispatch deps assembly into
src/main/runtime/jellyfin-command-dispatch-main-deps.ts(createBuildRunJellyfinCommandMainDepsHandler) and rewiredrunJellyfinCommandconstruction insrc/main.ts. - [2026-02-20T08:00:02Z] progress: added parity tests in
src/main/runtime/jellyfin-command-dispatch-main-deps.test.ts;src/main.tsnow 2909 LOC. - [2026-02-20T08:00:02Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/jellyfin-command-dispatch-main-deps.test.js dist/main/runtime/jellyfin-command-dispatch.test.js dist/main/runtime/jellyfin-cli-main-deps.test.jspass (8/8). - [2026-02-20T07:58:40Z] progress: extracted Jellyfin CLI handler deps assembly into
src/main/runtime/jellyfin-cli-main-deps.ts(auth/list/play/remote-announce builders) and rewired those handler construction sites insrc/main.ts. - [2026-02-20T07:58:40Z] progress: added parity tests in
src/main/runtime/jellyfin-cli-main-deps.test.ts;src/main.tsnow 2905 LOC. - [2026-02-20T07:58:40Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/jellyfin-cli-main-deps.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (16/16). - [2026-02-20T07:57:16Z] progress: extracted AniList setup protocol deps assembly into
src/main/runtime/anilist-setup-protocol-main-deps.ts(notify, consume-token, protocol-url, protocol-client builders) and rewired those handler construction sites insrc/main.ts. - [2026-02-20T07:57:16Z] progress: added parity tests in
src/main/runtime/anilist-setup-protocol-main-deps.test.ts;src/main.tsnow 2882 LOC. - [2026-02-20T07:57:16Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/anilist-setup-protocol-main-deps.test.js dist/main/runtime/anilist-setup-protocol.test.js dist/main/runtime/jellyfin-client-info-main-deps.test.jspass (6/6). - [2026-02-20T07:52:56Z] progress: extracted Jellyfin client-info deps assembly into
src/main/runtime/jellyfin-client-info-main-deps.ts(resolved-config + client-info builders) and rewired those handler construction sites insrc/main.ts. - [2026-02-20T07:52:56Z] progress: added parity tests in
src/main/runtime/jellyfin-client-info-main-deps.test.ts;src/main.tsnow 2859 LOC. - [2026-02-20T07:52:56Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/jellyfin-client-info-main-deps.test.js dist/main/runtime/jellyfin-client-info.test.js dist/main/runtime/mpv-jellyfin-defaults-main-deps.test.jspass (5/5). - [2026-02-20T07:51:58Z] progress: extracted MPV/Jellyfin defaults deps assembly into
src/main/runtime/mpv-jellyfin-defaults-main-deps.ts(apply-defaults + default-socket-path builders) and rewired those constructor sites insrc/main.ts. - [2026-02-20T07:51:58Z] progress: added parity tests in
src/main/runtime/mpv-jellyfin-defaults-main-deps.test.ts;src/main.tsnow 2848 LOC. - [2026-02-20T07:51:58Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/mpv-jellyfin-defaults-main-deps.test.js dist/main/runtime/mpv-jellyfin-defaults.test.js dist/main/runtime/jellyfin-remote-connection-main-deps.test.jspass (5/5). - [2026-02-20T07:46:45Z] progress: extracted Jellyfin remote-connection deps assembly into
src/main/runtime/jellyfin-remote-connection-main-deps.ts(wait, launch, ensure builders) and rewired those constructor sites insrc/main.ts. - [2026-02-20T07:46:45Z] progress: added parity tests in
src/main/runtime/jellyfin-remote-connection-main-deps.test.ts;src/main.tsnow 2837 LOC. - [2026-02-20T07:46:45Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/jellyfin-remote-connection-main-deps.test.js dist/main/runtime/jellyfin-remote-connection.test.js dist/main/runtime/jellyfin-remote-main-deps.test.jspass (8/8). - [2026-02-20T07:44:09Z] progress: extracted runtime-options/overlay-action deps assembly into
src/main/runtime/overlay-runtime-main-actions-main-deps.ts(get-state, restore-secondary-sub, broadcast, send-active-overlay, debug-visualization, open-palette builders) and rewired handler construction insrc/main.ts. - [2026-02-20T07:44:09Z] progress: added parity tests in
src/main/runtime/overlay-runtime-main-actions-main-deps.test.ts;src/main.tsnow 2821 LOC. - [2026-02-20T07:44:09Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/overlay-runtime-main-actions-main-deps.test.js dist/main/runtime/overlay-runtime-main-actions.test.js dist/main/runtime/overlay-bootstrap-main-deps.test.jspass (10/10). - [2026-02-20T07:42:00Z] progress: extracted overlay bootstrap deps assembly into
src/main/runtime/overlay-bootstrap-main-deps.ts(createBuildOverlayContentMeasurementStoreMainDepsHandler,createBuildOverlayModalRuntimeMainDepsHandler) and rewired overlay measurement/modal constructor wiring insrc/main.ts. - [2026-02-20T07:42:00Z] progress: added parity tests in
src/main/runtime/overlay-bootstrap-main-deps.test.ts;src/main.tsnow 2794 LOC. - [2026-02-20T07:42:00Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/overlay-bootstrap-main-deps.test.js dist/core/services/overlay-content-measurement.test.js dist/main/runtime/runtime-bootstrap-main-deps.test.jspass (8/8). - [2026-02-20T07:40:24Z] progress: after push of commit
561f7b3, extracted bootstrap runtime deps assembly intosrc/main/runtime/runtime-bootstrap-main-deps.ts(immersion media, AniList state, config-derived, subsync builders) and rewired those constructor sites insrc/main.ts. - [2026-02-20T07:40:24Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/runtime-bootstrap-main-deps.test.js dist/main/runtime/immersion-media.test.js dist/main/runtime/anilist-state.test.jspass (10/10). - [2026-02-20T07:35:01Z] progress: extracted subtitle processing controller deps assembly into
src/main/runtime/subtitle-processing-main-deps.ts(createBuildSubtitleProcessingControllerMainDepsHandler) and rewiredsubtitleProcessingControllerconstruction insrc/main.ts. - [2026-02-20T07:35:01Z] progress: added parity tests in
src/main/runtime/subtitle-processing-main-deps.test.ts;src/main.tsnow 2775 LOC. - [2026-02-20T07:35:01Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/subtitle-processing-main-deps.test.js dist/core/services/subtitle-processing-controller.test.js dist/main/runtime/jellyfin-remote-main-deps.test.jspass (9/9). - [2026-02-20T07:33:56Z] progress: extracted Jellyfin remote deps assembly into
src/main/runtime/jellyfin-remote-main-deps.ts(play/playstate/general-command/progress/stopped builders) and rewired corresponding constructor wiring insrc/main.tsto builder-based deps. - [2026-02-20T07:33:56Z] progress: added parity tests in
src/main/runtime/jellyfin-remote-main-deps.test.ts;src/main.tsnow 2770 LOC. - [2026-02-20T07:33:56Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/jellyfin-remote-main-deps.test.js dist/main/runtime/jellyfin-remote-commands.test.js dist/main/runtime/jellyfin-remote-playback.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.jspass (18/18). - [2026-02-20T07:31:59Z] progress: extracted config hot-reload dependency assembly into
src/main/runtime/config-hot-reload-main-deps.ts(createWatchConfigPathHandler,createBuildConfigHotReloadAppliedMainDepsHandler,createBuildConfigHotReloadRuntimeMainDepsHandler) and rewiredconfigHotReloadRuntimeconstruction insrc/main.tsto builder-based deps. - [2026-02-20T07:31:59Z] progress: preserved runtime parity by keeping debounce/watch-path behavior and
createConfigHotReloadAppliedHandlerside-effects unchanged while moving inline glue code out ofsrc/main.ts. - [2026-02-20T07:31:59Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/config-hot-reload-main-deps.test.js dist/main/runtime/config-hot-reload-handlers.test.js dist/core/services/config-hot-reload.test.jspass (12/12). - [2026-02-20T07:31:59Z] next: continue TASK-85 by extracting next high-churn deps assembly from
src/main.ts(candidate: startup/bootstrap or app-ready clusters) into focused*-main-deps.ts+ parity tests. - [2026-02-20T03:27:35Z] progress: extracted CLI context deps builder into
src/main/runtime/cli-command-context-deps.ts(createBuildCliCommandContextDepsHandler) and rewiredhandleCliCommandto build deps through the helper. - [2026-02-20T03:27:35Z] progress: extracted overlay runtime options builder into
src/main/runtime/overlay-runtime-options.ts(createBuildInitializeOverlayRuntimeOptionsHandler) and rewiredinitializeOverlayRuntimebuildOptions; extracted Yomitan extension load wrappers intosrc/main/runtime/yomitan-extension-loader.ts(createLoadYomitanExtensionHandler,createEnsureYomitanExtensionLoadedHandler) and rewiredloadYomitanExtension+ensureYomitanExtensionLoaded. - [2026-02-20T03:27:35Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/cli-command-context-deps.test.js dist/main/runtime/overlay-runtime-options.test.js dist/main/runtime/yomitan-extension-loader.test.js dist/main/runtime/tray-main-actions.test.js dist/main/runtime/overlay-window-factory.test.js dist/main/runtime/ipc-bridge-actions.test.js dist/main/runtime/overlay-main-actions.test.js dist/main/runtime/overlay-visibility-actions.test.js dist/main/runtime/mining-actions.test.js dist/main/runtime/anki-actions.test.js dist/main/runtime/overlay-shortcuts-lifecycle.test.js dist/main/runtime/numeric-shortcut-session-handlers.test.js dist/main/runtime/mpv-osd-log.test.js dist/main/runtime/global-shortcuts.test.js dist/main/runtime/yomitan-settings-opener.test.js dist/main/runtime/overlay-runtime-bootstrap.test.js dist/main/runtime/tray-lifecycle.test.js dist/main/runtime/tray-runtime.test.js dist/main/runtime/overlay-window-layout.test.js dist/main/runtime/startup-warmups.test.js dist/main/runtime/mpv-subtitle-render-metrics.test.js dist/main/runtime/mpv-client-runtime-service.test.js dist/main/runtime/mpv-client-event-bindings.test.js dist/main/runtime/cli-command-context.test.js dist/main/runtime/cli-command-prechecks.test.js dist/main/runtime/initial-args-handler.test.js dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (116/116). - [2026-02-20T03:19:44Z] progress: extracted tray wrappers into
src/main/runtime/tray-main-actions.ts(createResolveTrayIconPathHandler,createBuildTrayMenuTemplateHandler) and rewiredresolveTrayIconPath+buildTrayMenu. - [2026-02-20T03:19:44Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/tray-main-actions.test.js dist/main/runtime/overlay-window-factory.test.js dist/main/runtime/ipc-bridge-actions.test.js dist/main/runtime/overlay-main-actions.test.js dist/main/runtime/overlay-visibility-actions.test.js dist/main/runtime/mining-actions.test.js dist/main/runtime/anki-actions.test.js dist/main/runtime/overlay-shortcuts-lifecycle.test.js dist/main/runtime/numeric-shortcut-session-handlers.test.js dist/main/runtime/mpv-osd-log.test.js dist/main/runtime/global-shortcuts.test.js dist/main/runtime/yomitan-settings-opener.test.js dist/main/runtime/overlay-runtime-bootstrap.test.js dist/main/runtime/tray-lifecycle.test.js dist/main/runtime/tray-runtime.test.js dist/main/runtime/overlay-window-layout.test.js dist/main/runtime/startup-warmups.test.js dist/main/runtime/mpv-subtitle-render-metrics.test.js dist/main/runtime/mpv-client-runtime-service.test.js dist/main/runtime/mpv-client-event-bindings.test.js dist/main/runtime/cli-command-context.test.js dist/main/runtime/cli-command-prechecks.test.js dist/main/runtime/initial-args-handler.test.js dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (110/110). - [2026-02-20T03:17:35Z] progress: extracted overlay window creation wrappers into
src/main/runtime/overlay-window-factory.ts(createCreateOverlayWindowHandler,createCreateMainWindowHandler,createCreateInvisibleWindowHandler) and rewiredcreateOverlayWindow,createMainWindow,createInvisibleWindow. - [2026-02-20T03:17:35Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/overlay-window-factory.test.js dist/main/runtime/ipc-bridge-actions.test.js dist/main/runtime/overlay-main-actions.test.js dist/main/runtime/overlay-visibility-actions.test.js dist/main/runtime/mining-actions.test.js dist/main/runtime/anki-actions.test.js dist/main/runtime/overlay-shortcuts-lifecycle.test.js dist/main/runtime/numeric-shortcut-session-handlers.test.js dist/main/runtime/mpv-osd-log.test.js dist/main/runtime/global-shortcuts.test.js dist/main/runtime/yomitan-settings-opener.test.js dist/main/runtime/overlay-runtime-bootstrap.test.js dist/main/runtime/tray-lifecycle.test.js dist/main/runtime/tray-runtime.test.js dist/main/runtime/overlay-window-layout.test.js dist/main/runtime/startup-warmups.test.js dist/main/runtime/mpv-subtitle-render-metrics.test.js dist/main/runtime/mpv-client-runtime-service.test.js dist/main/runtime/mpv-client-event-bindings.test.js dist/main/runtime/cli-command-context.test.js dist/main/runtime/cli-command-prechecks.test.js dist/main/runtime/initial-args-handler.test.js dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (108/108). - [2026-02-20T03:14:23Z] progress: extracted thin wrapper cluster into
src/main/runtime/overlay-main-actions.ts(createSetOverlayVisibleHandler,createToggleOverlayHandler,createHandleOverlayModalClosedHandler,createAppendClipboardVideoToQueueHandler) and rewiredsetOverlayVisible,toggleOverlay,handleOverlayModalClosed,appendClipboardVideoToQueue. - [2026-02-20T03:14:23Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/overlay-main-actions.test.js dist/main/runtime/overlay-visibility-actions.test.js dist/main/runtime/mining-actions.test.js dist/main/runtime/anki-actions.test.js dist/main/runtime/overlay-shortcuts-lifecycle.test.js dist/main/runtime/numeric-shortcut-session-handlers.test.js dist/main/runtime/mpv-osd-log.test.js dist/main/runtime/global-shortcuts.test.js dist/main/runtime/yomitan-settings-opener.test.js dist/main/runtime/overlay-runtime-bootstrap.test.js dist/main/runtime/tray-lifecycle.test.js dist/main/runtime/tray-runtime.test.js dist/main/runtime/overlay-window-layout.test.js dist/main/runtime/startup-warmups.test.js dist/main/runtime/mpv-subtitle-render-metrics.test.js dist/main/runtime/mpv-client-runtime-service.test.js dist/main/runtime/mpv-client-event-bindings.test.js dist/main/runtime/cli-command-context.test.js dist/main/runtime/cli-command-prechecks.test.js dist/main/runtime/initial-args-handler.test.js dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (103/103). - [2026-02-20T03:11:11Z] progress: extracted overlay visibility set/toggle wrappers into
src/main/runtime/overlay-visibility-actions.ts(createSetVisibleOverlayVisibleHandler,createSetInvisibleOverlayVisibleHandler,createToggleVisibleOverlayHandler,createToggleInvisibleOverlayHandler) and rewired correspondingmain.tsfunctions. - [2026-02-20T03:11:11Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/overlay-visibility-actions.test.js dist/main/runtime/mining-actions.test.js dist/main/runtime/anki-actions.test.js dist/main/runtime/overlay-shortcuts-lifecycle.test.js dist/main/runtime/numeric-shortcut-session-handlers.test.js dist/main/runtime/mpv-osd-log.test.js dist/main/runtime/global-shortcuts.test.js dist/main/runtime/yomitan-settings-opener.test.js dist/main/runtime/overlay-runtime-bootstrap.test.js dist/main/runtime/tray-lifecycle.test.js dist/main/runtime/tray-runtime.test.js dist/main/runtime/overlay-window-layout.test.js dist/main/runtime/startup-warmups.test.js dist/main/runtime/mpv-subtitle-render-metrics.test.js dist/main/runtime/mpv-client-runtime-service.test.js dist/main/runtime/mpv-client-event-bindings.test.js dist/main/runtime/cli-command-context.test.js dist/main/runtime/cli-command-prechecks.test.js dist/main/runtime/initial-args-handler.test.js dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (99/99). - [2026-02-20T02:56:34Z] progress: extracted subtitle copy/mine wrapper cluster into
src/main/runtime/mining-actions.ts(createHandleMultiCopyDigitHandler,createCopyCurrentSubtitleHandler,createHandleMineSentenceDigitHandler) and rewiredhandleMultiCopyDigit,copyCurrentSubtitle,handleMineSentenceDigit. - [2026-02-20T02:56:34Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/mining-actions.test.js dist/main/runtime/anki-actions.test.js dist/main/runtime/overlay-shortcuts-lifecycle.test.js dist/main/runtime/numeric-shortcut-session-handlers.test.js dist/main/runtime/mpv-osd-log.test.js dist/main/runtime/global-shortcuts.test.js dist/main/runtime/yomitan-settings-opener.test.js dist/main/runtime/overlay-runtime-bootstrap.test.js dist/main/runtime/tray-lifecycle.test.js dist/main/runtime/tray-runtime.test.js dist/main/runtime/overlay-window-layout.test.js dist/main/runtime/startup-warmups.test.js dist/main/runtime/mpv-subtitle-render-metrics.test.js dist/main/runtime/mpv-client-runtime-service.test.js dist/main/runtime/mpv-client-event-bindings.test.js dist/main/runtime/cli-command-context.test.js dist/main/runtime/cli-command-prechecks.test.js dist/main/runtime/initial-args-handler.test.js dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (95/95). - [2026-02-20T02:55:17Z] progress: extracted Anki action wrappers into
src/main/runtime/anki-actions.ts(createUpdateLastCardFromClipboardHandler,createRefreshKnownWordCacheHandler,createTriggerFieldGroupingHandler,createMarkLastCardAsAudioCardHandler,createMineSentenceCardHandler) and rewiredmain.tshandlers. - [2026-02-20T02:55:17Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/anki-actions.test.js dist/main/runtime/overlay-shortcuts-lifecycle.test.js dist/main/runtime/numeric-shortcut-session-handlers.test.js dist/main/runtime/mpv-osd-log.test.js dist/main/runtime/global-shortcuts.test.js dist/main/runtime/yomitan-settings-opener.test.js dist/main/runtime/overlay-runtime-bootstrap.test.js dist/main/runtime/tray-lifecycle.test.js dist/main/runtime/tray-runtime.test.js dist/main/runtime/overlay-window-layout.test.js dist/main/runtime/startup-warmups.test.js dist/main/runtime/mpv-subtitle-render-metrics.test.js dist/main/runtime/mpv-client-runtime-service.test.js dist/main/runtime/mpv-client-event-bindings.test.js dist/main/runtime/cli-command-context.test.js dist/main/runtime/cli-command-prechecks.test.js dist/main/runtime/initial-args-handler.test.js dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (92/92). - [2026-02-20T02:52:42Z] progress: extracted overlay shortcut lifecycle wrappers into
src/main/runtime/overlay-shortcuts-lifecycle.ts(createRegisterOverlayShortcutsHandler,createUnregisterOverlayShortcutsHandler,createSyncOverlayShortcutsHandler,createRefreshOverlayShortcutsHandler) and rewiredregisterOverlayShortcuts/unregisterOverlayShortcuts/syncOverlayShortcuts/refreshOverlayShortcuts. - [2026-02-20T02:52:42Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/overlay-shortcuts-lifecycle.test.js dist/main/runtime/numeric-shortcut-session-handlers.test.js dist/main/runtime/mpv-osd-log.test.js dist/main/runtime/global-shortcuts.test.js dist/main/runtime/yomitan-settings-opener.test.js dist/main/runtime/overlay-runtime-bootstrap.test.js dist/main/runtime/tray-lifecycle.test.js dist/main/runtime/tray-runtime.test.js dist/main/runtime/overlay-window-layout.test.js dist/main/runtime/startup-warmups.test.js dist/main/runtime/mpv-subtitle-render-metrics.test.js dist/main/runtime/mpv-client-runtime-service.test.js dist/main/runtime/mpv-client-event-bindings.test.js dist/main/runtime/cli-command-context.test.js dist/main/runtime/cli-command-prechecks.test.js dist/main/runtime/initial-args-handler.test.js dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (88/88). - [2026-02-20T02:51:23Z] progress: extracted numeric shortcut session wrappers into
src/main/runtime/numeric-shortcut-session-handlers.ts(createCancelNumericShortcutSessionHandler,createStartNumericShortcutSessionHandler) and rewired pending multi-copy/mine-sentence helper functions inmain.ts. - [2026-02-20T02:51:23Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/numeric-shortcut-session-handlers.test.js dist/main/runtime/mpv-osd-log.test.js dist/main/runtime/global-shortcuts.test.js dist/main/runtime/yomitan-settings-opener.test.js dist/main/runtime/overlay-runtime-bootstrap.test.js dist/main/runtime/tray-lifecycle.test.js dist/main/runtime/tray-runtime.test.js dist/main/runtime/overlay-window-layout.test.js dist/main/runtime/startup-warmups.test.js dist/main/runtime/mpv-subtitle-render-metrics.test.js dist/main/runtime/mpv-client-runtime-service.test.js dist/main/runtime/mpv-client-event-bindings.test.js dist/main/runtime/cli-command-context.test.js dist/main/runtime/cli-command-prechecks.test.js dist/main/runtime/initial-args-handler.test.js dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (84/84). - [2026-02-20T02:50:30Z] progress: extracted MPV OSD + log helpers into
src/main/runtime/mpv-osd-log.ts(createAppendToMpvLogHandler,createShowMpvOsdHandler) and rewiredshowMpvOsd+appendToMpvLog. - [2026-02-20T02:50:30Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/mpv-osd-log.test.js dist/main/runtime/global-shortcuts.test.js dist/main/runtime/yomitan-settings-opener.test.js dist/main/runtime/overlay-runtime-bootstrap.test.js dist/main/runtime/tray-lifecycle.test.js dist/main/runtime/tray-runtime.test.js dist/main/runtime/overlay-window-layout.test.js dist/main/runtime/startup-warmups.test.js dist/main/runtime/mpv-subtitle-render-metrics.test.js dist/main/runtime/mpv-client-runtime-service.test.js dist/main/runtime/mpv-client-event-bindings.test.js dist/main/runtime/cli-command-context.test.js dist/main/runtime/cli-command-prechecks.test.js dist/main/runtime/initial-args-handler.test.js dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (82/82). - [2026-02-20T02:49:09Z] progress: extracted global shortcut helpers into
src/main/runtime/global-shortcuts.ts(createGetConfiguredShortcutsHandler,createRegisterGlobalShortcutsHandler,createRefreshGlobalAndOverlayShortcutsHandler); rewiredgetConfiguredShortcuts,registerGlobalShortcuts, andrefreshGlobalAndOverlayShortcutsinmain.ts. - [2026-02-20T02:49:09Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/global-shortcuts.test.js dist/main/runtime/yomitan-settings-opener.test.js dist/main/runtime/overlay-runtime-bootstrap.test.js dist/main/runtime/tray-lifecycle.test.js dist/main/runtime/tray-runtime.test.js dist/main/runtime/overlay-window-layout.test.js dist/main/runtime/startup-warmups.test.js dist/main/runtime/mpv-subtitle-render-metrics.test.js dist/main/runtime/mpv-client-runtime-service.test.js dist/main/runtime/mpv-client-event-bindings.test.js dist/main/runtime/cli-command-context.test.js dist/main/runtime/cli-command-prechecks.test.js dist/main/runtime/initial-args-handler.test.js dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (79/79). - [2026-02-20T02:45:53Z] progress: extracted Yomitan settings window opener wrapper into
src/main/runtime/yomitan-settings-opener.ts(createOpenYomitanSettingsHandler); rewiredopenYomitanSettingsinmain.ts. - [2026-02-20T02:45:53Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/yomitan-settings-opener.test.js dist/main/runtime/overlay-runtime-bootstrap.test.js dist/main/runtime/tray-lifecycle.test.js dist/main/runtime/tray-runtime.test.js dist/main/runtime/overlay-window-layout.test.js dist/main/runtime/startup-warmups.test.js dist/main/runtime/mpv-subtitle-render-metrics.test.js dist/main/runtime/mpv-client-runtime-service.test.js dist/main/runtime/mpv-client-event-bindings.test.js dist/main/runtime/cli-command-context.test.js dist/main/runtime/cli-command-prechecks.test.js dist/main/runtime/initial-args-handler.test.js dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (76/76). - [2026-02-20T02:44:31Z] progress: extracted overlay runtime bootstrap wrapper into
src/main/runtime/overlay-runtime-bootstrap.ts(createInitializeOverlayRuntimeHandler) and rewiredinitializeOverlayRuntimeorchestration; plus tray lifecycle extraction intosrc/main/runtime/tray-lifecycle.ts(createEnsureTrayHandler,createDestroyTrayHandler). - [2026-02-20T02:44:31Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/overlay-runtime-bootstrap.test.js dist/main/runtime/tray-lifecycle.test.js dist/main/runtime/tray-runtime.test.js dist/main/runtime/overlay-window-layout.test.js dist/main/runtime/startup-warmups.test.js dist/main/runtime/mpv-subtitle-render-metrics.test.js dist/main/runtime/mpv-client-runtime-service.test.js dist/main/runtime/mpv-client-event-bindings.test.js dist/main/runtime/cli-command-context.test.js dist/main/runtime/cli-command-prechecks.test.js dist/main/runtime/initial-args-handler.test.js dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (74/74). - [2026-02-20T02:41:26Z] progress: extracted tray lifecycle orchestration into
src/main/runtime/tray-lifecycle.ts(createEnsureTrayHandler,createDestroyTrayHandler); rewiredensureTray/destroyTrayinmain.tswith existing behavior preserved. - [2026-02-20T02:41:26Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/tray-lifecycle.test.js dist/main/runtime/tray-runtime.test.js dist/main/runtime/overlay-window-layout.test.js dist/main/runtime/startup-warmups.test.js dist/main/runtime/mpv-subtitle-render-metrics.test.js dist/main/runtime/mpv-client-runtime-service.test.js dist/main/runtime/mpv-client-event-bindings.test.js dist/main/runtime/cli-command-context.test.js dist/main/runtime/cli-command-prechecks.test.js dist/main/runtime/initial-args-handler.test.js dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (72/72). - [2026-02-20T02:33:47Z] progress: extracted tray icon resolution + tray menu template construction into
src/main/runtime/tray-runtime.ts(resolveTrayIconPathRuntime,buildTrayMenuTemplateRuntime); rewiredresolveTrayIconPathandbuildTrayMenuinmain.ts. - [2026-02-20T02:33:47Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/tray-runtime.test.js dist/main/runtime/overlay-window-layout.test.js dist/main/runtime/startup-warmups.test.js dist/main/runtime/mpv-subtitle-render-metrics.test.js dist/main/runtime/mpv-client-runtime-service.test.js dist/main/runtime/mpv-client-event-bindings.test.js dist/main/runtime/cli-command-context.test.js dist/main/runtime/cli-command-prechecks.test.js dist/main/runtime/initial-args-handler.test.js dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (69/69). - [2026-02-20T02:08:55Z] progress: extracted overlay bounds/window-level helpers into
src/main/runtime/overlay-window-layout.ts(createUpdateVisibleOverlayBoundsHandler,createUpdateInvisibleOverlayBoundsHandler,createEnsureOverlayWindowLevelHandler,createEnforceOverlayLayerOrderHandler); rewired correspondingmain.tshelpers. - [2026-02-20T02:08:55Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/overlay-window-layout.test.js dist/main/runtime/startup-warmups.test.js dist/main/runtime/mpv-subtitle-render-metrics.test.js dist/main/runtime/mpv-client-runtime-service.test.js dist/main/runtime/mpv-client-event-bindings.test.js dist/main/runtime/cli-command-context.test.js dist/main/runtime/cli-command-prechecks.test.js dist/main/runtime/initial-args-handler.test.js dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (66/66). - [2026-02-20T01:16:52Z] progress: extracted startup warmup orchestration into
src/main/runtime/startup-warmups.ts(createLaunchBackgroundWarmupTaskHandler,createStartBackgroundWarmupsHandler); rewiredlaunchBackgroundWarmupTask+startBackgroundWarmupsinmain.ts. - [2026-02-20T01:16:52Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/startup-warmups.test.js dist/main/runtime/mpv-subtitle-render-metrics.test.js dist/main/runtime/mpv-client-runtime-service.test.js dist/main/runtime/mpv-client-event-bindings.test.js dist/main/runtime/cli-command-context.test.js dist/main/runtime/cli-command-prechecks.test.js dist/main/runtime/initial-args-handler.test.js dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (62/62). - [2026-02-20T01:15:36Z] progress: extracted subtitle render metrics state-update+broadcast slice into
src/main/runtime/mpv-subtitle-render-metrics.ts(createUpdateMpvSubtitleRenderMetricsHandler); rewiredupdateMpvSubtitleRenderMetricsthrough a stable runtime handler. - [2026-02-20T01:15:36Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/mpv-subtitle-render-metrics.test.js dist/main/runtime/mpv-client-runtime-service.test.js dist/main/runtime/mpv-client-event-bindings.test.js dist/main/runtime/cli-command-context.test.js dist/main/runtime/cli-command-prechecks.test.js dist/main/runtime/initial-args-handler.test.js dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (59/59). - [2026-02-20T01:07:32Z] progress: extracted MPV runtime service construction/wiring from
createMpvClientRuntimeServiceintosrc/main/runtime/mpv-client-runtime-service.ts(createMpvClientRuntimeServiceFactory); rewiredmain.tsto use factory with explicit options bundle. - [2026-02-20T01:07:32Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/mpv-client-runtime-service.test.js dist/main/runtime/mpv-client-event-bindings.test.js dist/main/runtime/cli-command-context.test.js dist/main/runtime/cli-command-prechecks.test.js dist/main/runtime/initial-args-handler.test.js dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (57/57). - [2026-02-20T01:05:38Z] progress: extracted MPV client event binding orchestration from
bindMpvClientEventHandlersintosrc/main/runtime/mpv-client-event-bindings.ts(createBindMpvClientEventHandlers,createHandleMpvConnectionChangeHandler,createHandleMpvSubtitleTimingHandler); rewiredmain.tsbinding setup. - [2026-02-20T01:05:38Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/mpv-client-event-bindings.test.js dist/main/runtime/cli-command-context.test.js dist/main/runtime/cli-command-prechecks.test.js dist/main/runtime/initial-args-handler.test.js dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (56/56). - [2026-02-20T00:59:30Z] progress: extracted CLI command context composition from
handleCliCommandintosrc/main/runtime/cli-command-context.ts; rewiredmain.tsto buildcliContextvia factory beforehandleCliCommandRuntimeServiceWithContext. - [2026-02-20T00:59:30Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/cli-command-context.test.js dist/main/runtime/cli-command-prechecks.test.js dist/main/runtime/initial-args-handler.test.js dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (53/53). - [2026-02-20T00:47:26Z] progress: extracted CLI runtime prechecks + initial arg orchestration into
src/main/runtime/cli-command-prechecks.tsandsrc/main/runtime/initial-args-handler.ts; rewiredhandleCliCommandtexthooker-only transition andhandleInitialArgs. - [2026-02-20T00:47:26Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/cli-command-prechecks.test.js dist/main/runtime/initial-args-handler.test.js dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (50/50). - [2026-02-20T00:45:18Z] progress: extracted setup-window lifecycle/focus bookkeeping helpers into runtime modules (
createMaybeFocusExistingAnilistSetupWindowHandler,createHandleAnilistSetupWindowClosedHandler,createHandleAnilistSetupWindowOpenedHandler,createMaybeFocusExistingJellyfinSetupWindowHandler,createHandleJellyfinSetupWindowClosedHandler,createHandleJellyfinSetupWindowOpenedHandler); rewiredopenAnilistSetupWindow+openJellyfinSetupWindow. - [2026-02-20T00:45:18Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (43/43). - [2026-02-20T00:41:54Z] progress: extracted AniList setup fallback load-event callbacks into
src/main/runtime/anilist-setup-window.ts(createAnilistSetupDidFailLoadHandler,createAnilistSetupDidFinishLoadHandler); rewireddid-fail-loadanddid-finish-loadhooks inopenAnilistSetupWindow. - [2026-02-20T00:41:54Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (37/37). - [2026-02-20T00:40:53Z] progress: extracted AniList setup URL event handlers from
openAnilistSetupWindowintosrc/main/runtime/anilist-setup-window.ts(createAnilistSetupWindowOpenHandler,createAnilistSetupWillNavigateHandler,createAnilistSetupWillRedirectHandler,createAnilistSetupDidNavigateHandler); rewiredmain.tscallbacks. - [2026-02-20T00:40:53Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (34/34). - [2026-02-20T00:35:26Z] progress: extracted Jellyfin setup window navigation interception into
createHandleJellyfinSetupNavigationHandlerinsrc/main/runtime/jellyfin-setup-window.ts; rewiredopenJellyfinSetupWindowwill-navigatebranch insrc/main.ts. - [2026-02-20T00:35:26Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (26/26). - [2026-02-20T00:34:12Z] progress: extracted Jellyfin remote lifecycle orchestration from
src/main.tsintosrc/main/runtime/jellyfin-remote-session-lifecycle.ts(createStartJellyfinRemoteSessionHandler,createStopJellyfinRemoteSessionHandler); rewired start/stop call sites and callbacks;src/main.tsnow 2731 LOC. - [2026-02-20T00:34:12Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/jellyfin-remote-session-lifecycle.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (20/20). - [2026-02-20T00:32:07Z] progress: extracted remaining
runJellyfinCommandaction branches intosrc/main/runtime/jellyfin-cli-play.tsandsrc/main/runtime/jellyfin-cli-remote-announce.ts; rewired main command router;src/main.tsnow 2773 LOC. - [2026-02-20T00:32:07Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (16/16). - [2026-02-20T00:29:07Z] progress: extracted Jellyfin CLI listing branches (
--jellyfin-libraries,--jellyfin-items,--jellyfin-subtitles) fromrunJellyfinCommandintosrc/main/runtime/jellyfin-cli-list.ts; rewired throughcreateHandleJellyfinListCommands;src/main.tsnow 2820 LOC. - [2026-02-20T00:29:07Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-auth.test.jspass (9/9). - [2026-02-20T00:19:13Z] progress: extracted AniList post-watch + queue orchestration into
src/main/runtime/anilist-post-watch.ts, subtitle position state wrappers intosrc/main/runtime/subtitle-position.ts, and app protocol URL event wiring intosrc/main/runtime/protocol-url-handlers.ts; rewiredmain.ts;src/main.tsnow 2853 LOC. - [2026-02-20T00:19:13Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/protocol-url-handlers.test.js dist/main/runtime/subtitle-position.test.js dist/main/runtime/anilist-post-watch.test.js dist/main/runtime/anilist-media-guess.test.js dist/main/runtime/anilist-token-refresh.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/anilist-setup-protocol.test.js dist/main/runtime/jellyfin-remote-connection.test.js dist/main/runtime/jellyfin-remote-playback.test.js dist/main/runtime/jellyfin-remote-commands.test.js dist/main/runtime/config-hot-reload-handlers.test.js dist/core/services/app-ready.test.js dist/core/services/startup-bootstrap.test.jspass (52/52). - [2026-02-20T00:12:40Z] progress: extracted AniList token/media resolution helpers from
src/main.tsintosrc/main/runtime/anilist-token-refresh.tsandsrc/main/runtime/anilist-media-guess.ts; rewiredrefreshAnilistClientSecretState,maybeProbeAnilistDuration, andensureAnilistMediaGuess;src/main.tsnow 2892 LOC. - [2026-02-20T00:12:40Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/anilist-media-guess.test.js dist/main/runtime/anilist-token-refresh.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/anilist-setup-protocol.test.js dist/main/runtime/jellyfin-remote-connection.test.js dist/main/runtime/jellyfin-remote-playback.test.js dist/main/runtime/jellyfin-remote-commands.test.js dist/main/runtime/config-hot-reload-handlers.test.js dist/core/services/app-ready.test.js dist/core/services/startup-bootstrap.test.jspass (45/45). - [2026-02-20T00:08:57Z] progress: extracted Jellyfin setup window form/submission logic from
src/main.tsintosrc/main/runtime/jellyfin-setup-window.ts(buildJellyfinSetupFormHtml,parseJellyfinSetupSubmissionUrl,createHandleJellyfinSetupSubmissionHandler); kept window lifecycle in main. - [2026-02-20T00:08:57Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/anilist-setup-protocol.test.js dist/main/runtime/jellyfin-remote-connection.test.js dist/main/runtime/jellyfin-remote-playback.test.js dist/main/runtime/jellyfin-remote-commands.test.js dist/main/runtime/config-hot-reload-handlers.test.js dist/core/services/app-ready.test.js dist/core/services/startup-bootstrap.test.jspass (39/39). - [2026-02-20T00:00:55Z] progress: extracted AniList setup/protocol handlers (
notifyAnilistSetup,consumeAnilistSetupTokenFromUrl,handleAnilistSetupProtocolUrl,registerSubminerProtocolClient) fromsrc/main.tsintosrc/main/runtime/anilist-setup-protocol.ts; rewired protocol registration and callback wiring;src/main.tsnow 2988 LOC. - [2026-02-20T00:00:55Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/anilist-setup-protocol.test.js dist/main/runtime/jellyfin-remote-connection.test.js dist/main/runtime/jellyfin-remote-playback.test.js dist/main/runtime/jellyfin-remote-commands.test.js dist/main/runtime/config-hot-reload-handlers.test.js dist/core/services/app-ready.test.js dist/core/services/startup-bootstrap.test.jspass (35/35). - [2026-02-19T23:58:32Z] progress: extracted Jellyfin MPV connection/bootstrap handlers (
waitForMpvConnected,launchMpvIdleForJellyfinPlayback,ensureMpvConnectedForJellyfinPlayback) fromsrc/main.tsintosrc/main/runtime/jellyfin-remote-connection.ts; rewired call sites;src/main.tsnow 2996 LOC. - [2026-02-19T23:58:32Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/jellyfin-remote-connection.test.js dist/main/runtime/jellyfin-remote-playback.test.js dist/main/runtime/jellyfin-remote-commands.test.js dist/main/runtime/config-hot-reload-handlers.test.js dist/core/services/app-ready.test.js dist/core/services/startup-bootstrap.test.jspass (31/31). - [2026-02-19T23:50:09Z] progress: extracted Jellyfin remote playback reporting logic (
secondsToJellyfinTicks,reportJellyfinRemoteProgress,reportJellyfinRemoteStopped) fromsrc/main.tsintosrc/main/runtime/jellyfin-remote-playback.ts; rewired main runtime handlers. - [2026-02-19T23:50:09Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/jellyfin-remote-playback.test.js dist/main/runtime/jellyfin-remote-commands.test.js dist/main/runtime/config-hot-reload-handlers.test.js dist/core/services/app-ready.test.js dist/core/services/startup-bootstrap.test.jspass (28/28). - [2026-02-19T23:48:01Z] progress: extracted Jellyfin remote command/session parsing handlers from
src/main.tsintosrc/main/runtime/jellyfin-remote-commands.ts(getConfiguredJellyfinSession,handleJellyfinRemotePlay,handleJellyfinRemotePlaystate,handleJellyfinRemoteGeneralCommandfactories); rewiredsrc/main.tsto use handler factories. - [2026-02-19T23:48:01Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/jellyfin-remote-commands.test.js dist/main/runtime/config-hot-reload-handlers.test.js dist/core/services/app-ready.test.js dist/core/services/startup-bootstrap.test.jspass (24/24). - [2026-02-19T23:40:59Z] progress: extracted config hot-reload apply/message callbacks from
src/main.tsintosrc/main/runtime/config-hot-reload-handlers.ts;src/main.tsnow 3096 LOC (down from 3116 at session start). - [2026-02-19T23:40:59Z] test:
bun run buildpass (expected macOS helper Swift cache fallback in sandbox) +node --test dist/main/runtime/config-hot-reload-handlers.test.js dist/core/services/app-ready.test.js dist/core/services/startup-bootstrap.test.jspass (19/19). - [2026-02-19T23:37:11Z] intent: review TASK-85 state + subagent handoff, then continue next refactor slice from prior checkpoint.
- [2026-02-19T23:37:11Z] planned files:
src/main.ts,src/main/runtime/*,src/main/runtime/*.test.ts,docs/subagents/INDEX.md,docs/subagents/agents/codex-task85-20260219T233711Z-46hc.md. - [2026-02-19T23:37:11Z] assumptions: backlog MCP not initialized in this workspace; continue using existing
backlog/tasks/task-85 - Refactor-large-files-for-maintainability-and-readability.mdas source of truth.
Files Touched
docs/subagents/INDEX.mddocs/subagents/agents/codex-task85-20260219T233711Z-46hc.mdsrc/main.tssrc/main/runtime/config-hot-reload-handlers.tssrc/main/runtime/config-hot-reload-handlers.test.tssrc/main/runtime/jellyfin-remote-commands.tssrc/main/runtime/jellyfin-remote-commands.test.tssrc/main/runtime/jellyfin-remote-playback.tssrc/main/runtime/jellyfin-remote-playback.test.tssrc/main/runtime/jellyfin-remote-connection.tssrc/main/runtime/jellyfin-remote-connection.test.tssrc/main/runtime/anilist-setup-protocol.tssrc/main/runtime/anilist-setup-protocol.test.tssrc/main/runtime/jellyfin-setup-window.tssrc/main/runtime/jellyfin-setup-window.test.tssrc/main/runtime/initial-args-handler.tssrc/main/runtime/initial-args-handler.test.tssrc/main/runtime/cli-command-prechecks.tssrc/main/runtime/cli-command-prechecks.test.tssrc/main/runtime/cli-command-context.tssrc/main/runtime/cli-command-context.test.tssrc/main/runtime/mpv-client-event-bindings.tssrc/main/runtime/mpv-client-event-bindings.test.tssrc/main/runtime/mpv-client-runtime-service.tssrc/main/runtime/mpv-client-runtime-service.test.tssrc/main/runtime/mpv-subtitle-render-metrics.tssrc/main/runtime/mpv-subtitle-render-metrics.test.tssrc/main/runtime/startup-warmups.tssrc/main/runtime/startup-warmups.test.tssrc/main/runtime/overlay-window-layout.tssrc/main/runtime/overlay-window-layout.test.tssrc/main/runtime/tray-runtime.tssrc/main/runtime/tray-runtime.test.tssrc/main/runtime/tray-lifecycle.tssrc/main/runtime/tray-lifecycle.test.tssrc/main/runtime/overlay-runtime-bootstrap.tssrc/main/runtime/overlay-runtime-bootstrap.test.tssrc/main/runtime/yomitan-settings-opener.tssrc/main/runtime/yomitan-settings-opener.test.tssrc/main/runtime/global-shortcuts.tssrc/main/runtime/global-shortcuts.test.tssrc/main/runtime/mpv-osd-log.tssrc/main/runtime/mpv-osd-log.test.tssrc/main/runtime/numeric-shortcut-session-handlers.tssrc/main/runtime/numeric-shortcut-session-handlers.test.tssrc/main/runtime/overlay-shortcuts-lifecycle.tssrc/main/runtime/overlay-shortcuts-lifecycle.test.tssrc/main/runtime/anki-actions.tssrc/main/runtime/anki-actions.test.tssrc/main/runtime/mining-actions.tssrc/main/runtime/mining-actions.test.tssrc/main/runtime/overlay-visibility-actions.tssrc/main/runtime/overlay-visibility-actions.test.tssrc/main/runtime/overlay-main-actions.tssrc/main/runtime/overlay-main-actions.test.tssrc/main/runtime/ipc-bridge-actions.tssrc/main/runtime/ipc-bridge-actions.test.tssrc/main/runtime/overlay-window-factory.tssrc/main/runtime/overlay-window-factory.test.tssrc/main/runtime/tray-main-actions.tssrc/main/runtime/tray-main-actions.test.tssrc/main/runtime/yomitan-extension-loader.tssrc/main/runtime/yomitan-extension-loader.test.tssrc/main/runtime/overlay-runtime-options.tssrc/main/runtime/overlay-runtime-options.test.tssrc/main/runtime/cli-command-context-deps.tssrc/main/runtime/cli-command-context-deps.test.tssrc/main/runtime/anilist-token-refresh.tssrc/main/runtime/anilist-token-refresh.test.tssrc/main/runtime/anilist-media-guess.tssrc/main/runtime/anilist-media-guess.test.tssrc/main/runtime/anilist-post-watch.tssrc/main/runtime/anilist-post-watch.test.tssrc/main/runtime/subtitle-position.tssrc/main/runtime/subtitle-position.test.tssrc/main/runtime/protocol-url-handlers.tssrc/main/runtime/protocol-url-handlers.test.tssrc/main/runtime/jellyfin-cli-auth.tssrc/main/runtime/jellyfin-cli-auth.test.tssrc/main/runtime/jellyfin-cli-list.tssrc/main/runtime/jellyfin-cli-list.test.tssrc/main/runtime/jellyfin-cli-play.tssrc/main/runtime/jellyfin-cli-play.test.tssrc/main/runtime/jellyfin-cli-remote-announce.tssrc/main/runtime/jellyfin-cli-remote-announce.test.tssrc/main/runtime/jellyfin-remote-session-lifecycle.tssrc/main/runtime/jellyfin-remote-session-lifecycle.test.tssrc/main/runtime/anilist-setup-window.tssrc/main/runtime/anilist-setup-window.test.tssrc/main/runtime/jellyfin-setup-window.tssrc/main/runtime/jellyfin-setup-window.test.tssrc/main/runtime/app-runtime-main-deps.tssrc/main/runtime/app-runtime-main-deps.test.tssrc/main/runtime/global-shortcuts-main-deps.tssrc/main/runtime/global-shortcuts-main-deps.test.tssrc/main/runtime/mpv-osd-log-main-deps.tssrc/main/runtime/mpv-osd-log-main-deps.test.tssrc/main/runtime/app-lifecycle-main-activate.tssrc/main/runtime/app-lifecycle-main-activate.test.tssrc/main/runtime/initial-args-main-deps.tssrc/main/runtime/initial-args-main-deps.test.tssrc/main/runtime/mpv-main-event-main-deps.tssrc/main/runtime/mpv-main-event-main-deps.test.tssrc/main/runtime/subtitle-tokenization-main-deps.tssrc/main/runtime/subtitle-tokenization-main-deps.test.tssrc/main/runtime/secondary-sub-mode-main-deps.tssrc/main/runtime/secondary-sub-mode-main-deps.test.tssrc/main/runtime/overlay-runtime-main-actions.tssrc/main/runtime/overlay-runtime-main-actions.test.tssrc/main/runtime/jellyfin-client-info.tssrc/main/runtime/jellyfin-client-info.test.tssrc/main/runtime/startup-config-main-deps.tssrc/main/runtime/startup-config-main-deps.test.tssrc/main/runtime/app-ready-main-deps.tssrc/main/runtime/app-ready-main-deps.test.tssrc/main/runtime/startup-lifecycle-main-deps.tssrc/main/runtime/startup-lifecycle-main-deps.test.tssrc/main/runtime/startup-bootstrap-main-deps.tssrc/main/runtime/startup-bootstrap-main-deps.test.tssrc/main/runtime/cli-command-prechecks-main-deps.tssrc/main/runtime/cli-command-prechecks-main-deps.test.tssrc/main/runtime/field-grouping-resolver.tssrc/main/runtime/field-grouping-resolver.test.tssrc/main/runtime/mpv-jellyfin-defaults.tssrc/main/runtime/mpv-jellyfin-defaults.test.tssrc/main/runtime/field-grouping-overlay-main-deps.tssrc/main/runtime/field-grouping-overlay-main-deps.test.tssrc/main/runtime/media-runtime-main-deps.tssrc/main/runtime/media-runtime-main-deps.test.tssrc/main/runtime/overlay-visibility-runtime-main-deps.tssrc/main/runtime/overlay-visibility-runtime-main-deps.test.tssrc/main/runtime/dictionary-runtime-main-deps.tssrc/main/runtime/dictionary-runtime-main-deps.test.tssrc/main/runtime/overlay-shortcuts-runtime-main-deps.tssrc/main/runtime/overlay-shortcuts-runtime-main-deps.test.ts
Open Questions / Blockers
- none
Next Step
- extract next
src/main.tsruntime-deps assembly cluster (global shortcuts and/or MPV OSD bindings) into focused*-main-depshelper(s) with parity tests. - [2026-02-20T04:04:21Z] progress: extracted MPV main event action callbacks into
src/main/runtime/mpv-main-event-actions.tsand rewiredbindMpvClientEventHandlersto delegate through focused handlers. - [2026-02-20T04:04:21Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/mpv-main-event-actions.test.js dist/main/runtime/mpv-client-event-bindings.test.js dist/main/runtime/mpv-client-runtime-service.test.js dist/main/runtime/mpv-subtitle-render-metrics.test.jspass (14/14). - [2026-02-20T04:06:41Z] progress: extracted Jellyfin setup-window orchestration into
createOpenJellyfinSetupWindowHandlerinsrc/main/runtime/jellyfin-setup-window.ts; rewiredopenJellyfinSetupWindowinsrc/main.tsto thin wrapper. - [2026-02-20T04:06:41Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/mpv-main-event-actions.test.js dist/main/runtime/mpv-client-event-bindings.test.js dist/main/runtime/mpv-client-runtime-service.test.jspass (23/23). - [2026-02-20T04:09:21Z] progress: extracted AniList setup-window orchestration into
createOpenAnilistSetupWindowHandlerinsrc/main/runtime/anilist-setup-window.ts; rewiredopenAnilistSetupWindowinsrc/main.tsto thin wrapper. - [2026-02-20T04:09:21Z] progress:
src/main.tsreduced to 2883 LOC after this slice. - [2026-02-20T04:09:21Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/mpv-main-event-actions.test.js dist/main/runtime/mpv-client-event-bindings.test.js dist/main/runtime/mpv-client-runtime-service.test.jspass (39/39). - [2026-02-20T04:11:27Z] progress: extracted Jellyfin external subtitle preload/track-picking from
playJellyfinItemInMpvinto newsrc/main/runtime/jellyfin-subtitle-preload.ts(createPreloadJellyfinExternalSubtitlesHandler) and rewiredmain.ts. - [2026-02-20T04:11:27Z] progress:
src/main.tsreduced to 2785 LOC after subtitle-preload extraction. - [2026-02-20T04:11:27Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/jellyfin-subtitle-preload.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.js dist/main/runtime/mpv-main-event-actions.test.jspass (41/41). - [2026-02-20T04:17:41Z] progress: extracted
playJellyfinItemInMpvorchestration intosrc/main/runtime/jellyfin-playback-launch.ts(createPlayJellyfinItemInMpvHandler) + tests; rewiredmain.tsplayback handler wiring. - [2026-02-20T04:17:41Z] progress: extracted
runJellyfinCommandcommand routing intosrc/main/runtime/jellyfin-command-dispatch.ts(createRunJellyfinCommandHandler) + tests; rewiredmain.tsdispatcher wiring. - [2026-02-20T04:17:41Z] progress:
src/main.tsreduced to 2696 LOC after Jellyfin playback/dispatch extraction. - [2026-02-20T04:17:41Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/jellyfin-command-dispatch.test.js dist/main/runtime/jellyfin-playback-launch.test.js dist/main/runtime/jellyfin-subtitle-preload.test.js dist/main/runtime/jellyfin-cli-auth.test.js dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-play.test.js dist/main/runtime/jellyfin-cli-remote-announce.test.jspass (24/24). - [2026-02-20T04:32:30Z] progress: extracted AniList media-state helpers to
src/main/runtime/anilist-media-state.ts(createGetCurrentAnilistMediaKeyHandler,createResetAnilistMediaTrackingHandler,createGetAnilistMediaGuessRuntimeStateHandler,createSetAnilistMediaGuessRuntimeStateHandler,createResetAnilistMediaGuessStateHandler) + tests; rewired main AniList guess-state callbacks. - [2026-02-20T04:32:30Z] progress: extracted MPV main event binder orchestration from
bindMpvClientEventHandlersintosrc/main/runtime/mpv-main-event-bindings.ts(createBindMpvMainEventHandlersHandler) + tests; rewiredmain.tsto dependency-only binder setup. - [2026-02-20T04:32:30Z] progress:
src/main.tsreduced to 2665 LOC. - [2026-02-20T04:32:30Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/mpv-main-event-bindings.test.js dist/main/runtime/mpv-main-event-actions.test.js dist/main/runtime/mpv-client-event-bindings.test.js dist/main/runtime/anilist-media-state.test.js dist/main/runtime/anilist-media-guess.test.js dist/main/runtime/jellyfin-command-dispatch.test.js dist/main/runtime/jellyfin-playback-launch.test.jspass (23/23). - [2026-02-20T04:33:17Z] progress: extracted main MPV event binding orchestration from
src/main.tsintosrc/main/runtime/mpv-main-event-bindings.ts(createBindMpvMainEventHandlersHandler) with unit tests insrc/main/runtime/mpv-main-event-bindings.test.ts; rewiredmain.tsbind setup to dependency map. - [2026-02-20T04:33:17Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/mpv-main-event-bindings.test.js dist/main/runtime/mpv-main-event-actions.test.js dist/main/runtime/mpv-client-event-bindings.test.js dist/main/runtime/anilist-media-state.test.js dist/main/runtime/anilist-media-guess.test.js dist/main/runtime/jellyfin-command-dispatch.test.js dist/main/runtime/jellyfin-playback-launch.test.jspass (23/23). - [2026-02-20T05:00:15Z] progress: extracted on-will-quit cleanup dependency assembly to
src/main/runtime/app-lifecycle-main-cleanup.ts(createBuildOnWillQuitCleanupDepsHandler) + tests; rewiredonWillQuitCleanupHandlerwiring insrc/main.ts. - [2026-02-20T05:00:15Z] progress: extracted overlay runtime options dependency assembly to
src/main/runtime/overlay-runtime-options-main-deps.ts+ tests; rewiredbuildInitializeOverlayRuntimeOptionsHandlerwiring insrc/main.ts. - [2026-02-20T05:00:15Z] progress: extracted CLI command context dependency assembly to
src/main/runtime/cli-command-context-main-deps.ts+ tests; rewiredbuildCliCommandContextDepsHandlerwiring insrc/main.ts. - [2026-02-20T05:00:15Z] progress:
src/main.tsreduced to 2617 LOC. - [2026-02-20T05:00:15Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/cli-command-context-main-deps.test.js dist/main/runtime/cli-command-context-deps.test.js dist/main/runtime/overlay-runtime-options-main-deps.test.js dist/main/runtime/overlay-runtime-options.test.js dist/main/runtime/app-lifecycle-main-cleanup.test.js dist/main/runtime/mpv-main-event-bindings.test.jspass (6/6). - [2026-02-20T05:01:42Z] progress: extracted MPV runtime-service dependency assembly into
src/main/runtime/mpv-client-runtime-service-main-deps.ts+ tests; rewiredcreateMpvClientRuntimeServiceinsrc/main.tsto use builder beforecreateMpvClientRuntimeServiceFactory. - [2026-02-20T05:01:42Z] progress:
src/main.tscurrently 2618 LOC. - [2026-02-20T05:01:42Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/mpv-client-runtime-service-main-deps.test.js dist/main/runtime/mpv-client-runtime-service.test.js dist/main/runtime/mpv-main-event-bindings.test.js dist/main/runtime/cli-command-context-main-deps.test.js dist/main/runtime/overlay-runtime-options-main-deps.test.js dist/main/runtime/app-lifecycle-main-cleanup.test.jspass (7/7). - [2026-02-20T05:06:04Z] progress: extracted overlay-window factory dependency assembly into
src/main/runtime/overlay-window-factory-main-deps.ts+ tests; rewiredcreateOverlayWindowHandler,createMainWindowHandler, andcreateInvisibleWindowHandlerwiring insrc/main.ts. - [2026-02-20T05:06:04Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/overlay-window-factory-main-deps.test.js dist/main/runtime/overlay-window-factory.test.js dist/main/runtime/mpv-client-runtime-service-main-deps.test.js dist/main/runtime/cli-command-context-main-deps.test.js dist/main/runtime/overlay-runtime-options-main-deps.test.js dist/main/runtime/app-lifecycle-main-cleanup.test.jspass (8/8). - [2026-02-20T05:10:14Z] progress: extracted tray/overlay-bootstrap/Yomitan opener dependency assembly into
src/main/runtime/app-runtime-main-deps.ts(createBuildEnsureTrayMainDepsHandler,createBuildDestroyTrayMainDepsHandler,createBuildInitializeOverlayRuntimeBootstrapMainDepsHandler,createBuildOpenYomitanSettingsMainDepsHandler); rewiredensureTray,destroyTray,initializeOverlayRuntime, andopenYomitanSettingsto thin handlers insrc/main.ts. - [2026-02-20T05:10:14Z] progress:
src/main.tscurrently 2652 LOC after this slice (line-count bump from import/deps constant growth while inline wrapper bodies were removed). - [2026-02-20T05:10:14Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/app-runtime-main-deps.test.js dist/main/runtime/tray-lifecycle.test.js dist/main/runtime/overlay-runtime-bootstrap.test.js dist/main/runtime/yomitan-settings-opener.test.js dist/main/runtime/tray-main-deps.test.js dist/main/runtime/overlay-runtime-options-main-deps.test.jspass (13/13). - [2026-02-20T05:12:29Z] progress: extracted global-shortcuts dependency assembly into
src/main/runtime/global-shortcuts-main-deps.ts(createBuildGetConfiguredShortcutsMainDepsHandler,createBuildRegisterGlobalShortcutsMainDepsHandler,createBuildRefreshGlobalAndOverlayShortcutsMainDepsHandler) and rewired corresponding handler setup insrc/main.ts. - [2026-02-20T05:12:29Z] progress: extracted MPV OSD/log dependency assembly into
src/main/runtime/mpv-osd-log-main-deps.ts(createBuildAppendToMpvLogMainDepsHandler,createBuildShowMpvOsdMainDepsHandler) and rewiredappendToMpvLogHandler+showMpvOsdHandlersetup insrc/main.ts. - [2026-02-20T05:12:29Z] progress:
src/main.tscurrently 2672 LOC after this slice (net increase from imports and explicit deps builders). - [2026-02-20T05:12:29Z] test: initial
bun run buildfailed with type mismatch inglobal-shortcuts-main-deps(unknownoptions type); fixed by tightening toRegisterGlobalShortcutsServiceOptions. - [2026-02-20T05:12:29Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/global-shortcuts-main-deps.test.js dist/main/runtime/global-shortcuts.test.js dist/main/runtime/mpv-osd-log-main-deps.test.js dist/main/runtime/mpv-osd-log.test.js dist/main/runtime/app-runtime-main-deps.test.jspass (15/15). - [2026-02-20T05:15:40Z] progress: extracted activate-lifecycle deps assembly into
src/main/runtime/app-lifecycle-main-activate.ts(createBuildShouldRestoreWindowsOnActivateMainDepsHandler,createBuildRestoreWindowsOnActivateMainDepsHandler) and rewiredshouldRestoreWindowsOnActivateHandler+restoreWindowsOnActivateHandlersetup insrc/main.ts. - [2026-02-20T05:15:40Z] progress: extracted initial-args deps assembly into
src/main/runtime/initial-args-main-deps.ts(createBuildHandleInitialArgsMainDepsHandler) and rewiredhandleInitialArgssetup insrc/main.ts. - [2026-02-20T05:15:40Z] progress: extracted MPV main-event deps assembly into
src/main/runtime/mpv-main-event-main-deps.ts(createBuildBindMpvMainEventHandlersMainDepsHandler) and rewiredbindMpvClientEventHandlerssetup insrc/main.ts. - [2026-02-20T05:15:40Z] progress:
src/main.tscurrently 2653 LOC after this slice. - [2026-02-20T05:15:40Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/app-lifecycle-main-activate.test.js dist/main/runtime/initial-args-main-deps.test.js dist/main/runtime/app-lifecycle-actions.test.js dist/main/runtime/initial-args-handler.test.js dist/main/runtime/app-runtime-main-deps.test.js dist/main/runtime/mpv-main-event-main-deps.test.js dist/main/runtime/mpv-main-event-bindings.test.js dist/main/runtime/mpv-main-event-actions.test.js dist/main/runtime/mpv-client-event-bindings.test.jspass (27/27). - [2026-02-20T05:31:05Z] progress: extracted subtitle tokenization/mecab-warmup deps assembly into
src/main/runtime/subtitle-tokenization-main-deps.ts(createBuildTokenizerDepsMainHandler,createCreateMecabTokenizerAndCheckMainHandler,createPrewarmSubtitleDictionariesMainHandler) and rewiredtokenizeSubtitle,createMecabTokenizerAndCheck, andprewarmSubtitleDictionariesinsrc/main.ts. - [2026-02-20T05:31:05Z] progress: extracted
cycleSecondarySubModedeps assembly intosrc/main/runtime/secondary-sub-mode-main-deps.ts(createBuildCycleSecondarySubModeMainDepsHandler) and rewiredcycleSecondarySubModeinsrc/main.ts. - [2026-02-20T05:31:05Z] progress: while implementing subtitle-tokenization deps, fixed strict typing to align parser promise shapes (
Promise<void>ready +Promise<boolean>init) and Mecab availability return type. - [2026-02-20T05:31:05Z] progress:
src/main.tscurrently 2664 LOC after this slice. - [2026-02-20T05:31:05Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/subtitle-tokenization-main-deps.test.js dist/main/runtime/secondary-sub-mode-main-deps.test.js dist/main/runtime/startup-warmups.test.jspass (7/7). - [2026-02-20T05:49:13Z] progress: extracted overlay runtime state/action wrappers into
src/main/runtime/overlay-runtime-main-actions.ts(createGetRuntimeOptionsStateHandler,createRestorePreviousSecondarySubVisibilityHandler,createBroadcastRuntimeOptionsChangedHandler,createSendToActiveOverlayWindowHandler,createSetOverlayDebugVisualizationEnabledHandler,createOpenRuntimeOptionsPaletteHandler), and rewired correspondingmain.tsfunctions to thin delegations. - [2026-02-20T05:49:13Z] progress: while adding tests, corrected strict typing to import
OverlayHostedModalfromsrc/main/overlay-runtime.tsand alignedRuntimeOptionStatefixture shape. - [2026-02-20T05:49:13Z] progress:
src/main.tscurrently 2696 LOC after this slice. - [2026-02-20T05:49:13Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/overlay-runtime-main-actions.test.js dist/main/runtime/subtitle-tokenization-main-deps.test.js dist/main/runtime/secondary-sub-mode-main-deps.test.jspass (12/12). - [2026-02-20T05:50:43Z] progress: extracted Jellyfin config/client info wrappers into
src/main/runtime/jellyfin-client-info.ts(createGetResolvedJellyfinConfigHandler,createGetJellyfinClientInfoHandler) and rewiredgetResolvedJellyfinConfig+getJellyfinClientInfoinsrc/main.ts. - [2026-02-20T05:50:43Z] progress: fixed strict typing regressions by loosening helper input types to preserve call-site inference while keeping client-info output normalized to strings.
- [2026-02-20T05:50:43Z] progress:
src/main.tscurrently 2702 LOC after this slice. - [2026-02-20T05:50:43Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/jellyfin-client-info.test.js dist/main/runtime/overlay-runtime-main-actions.test.js dist/main/runtime/subtitle-tokenization-main-deps.test.jspass (14/14). - [2026-02-20T06:52:54Z] progress: extracted startup config handler deps assembly into
src/main/runtime/startup-config-main-deps.tsand rewiredreloadConfigHandler+criticalConfigErrorHandlersetup insrc/main.ts. - [2026-02-20T06:52:54Z] progress: extracted app-ready runner deps assembly into
src/main/runtime/app-ready-main-deps.tsand lifted nestedcreateAppReadyRuntimeRunner(...)input block toappReadyRuntimeRunnerconstant insrc/main.ts. - [2026-02-20T06:52:54Z] progress: extracted app-lifecycle runner deps assembly into
src/main/runtime/startup-lifecycle-main-deps.tsand lifted lifecycle runner wiring toappLifecycleRuntimeRunnerconstant insrc/main.ts. - [2026-02-20T06:52:54Z] progress: extracted startup bootstrap deps assembly into
src/main/runtime/startup-bootstrap-main-deps.tsand rewiredbuildStartupBootstrapRuntimeFactoryDepsHandlerto compose through the new builder. - [2026-02-20T06:52:54Z] progress:
src/main.tscurrently 2723 LOC after this slice. - [2026-02-20T06:52:54Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/startup-bootstrap-main-deps.test.js dist/main/runtime/startup-bootstrap-deps-builder.test.js dist/main/runtime/startup-lifecycle-main-deps.test.js dist/main/runtime/app-ready-main-deps.test.js dist/main/runtime/startup-config-main-deps.test.js dist/core/services/startup-bootstrap.test.js dist/core/services/app-ready.test.jspass (21/21). - [2026-02-20T06:56:20Z] progress: extracted CLI precheck deps assembly into
src/main/runtime/cli-command-prechecks-main-deps.tsand rewiredhandleCliCommandto use a prebuilthandleTexthookerOnlyModeTransitionHandler. - [2026-02-20T06:56:20Z] progress: extracted field-grouping resolver state wrappers into
src/main/runtime/field-grouping-resolver.tsand rewiredgetFieldGroupingResolver+setFieldGroupingResolverinsrc/main.ts. - [2026-02-20T06:56:20Z] progress: extracted
applyJellyfinMpvDefaultsandgetDefaultSocketPathwrappers intosrc/main/runtime/mpv-jellyfin-defaults.ts; rewired bothmain.tshelper functions to thin handler delegates. - [2026-02-20T06:56:20Z] progress:
src/main.tscurrently 2742 LOC after this slice. - [2026-02-20T06:56:20Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/cli-command-prechecks-main-deps.test.js dist/main/runtime/cli-command-prechecks.test.js dist/main/runtime/field-grouping-resolver.test.js dist/main/runtime/mpv-jellyfin-defaults.test.js dist/main/runtime/startup-bootstrap-main-deps.test.jspass (11/11). - [2026-02-20T07:12:59Z] progress: extracted field-grouping overlay deps assembly into
src/main/runtime/field-grouping-overlay-main-deps.tsand rewiredcreateFieldGroupingOverlayRuntimesetup insrc/main.tsto use builder output. - [2026-02-20T07:12:59Z] progress: resolved strict typing mismatch by parameterizing builder choice type and binding it to
KikuFieldGroupingChoiceinmain.ts. - [2026-02-20T07:12:59Z] progress:
src/main.tscurrently 2747 LOC after this slice. - [2026-02-20T07:12:59Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/field-grouping-overlay-main-deps.test.js dist/core/services/field-grouping-overlay.test.js dist/main/runtime/field-grouping-resolver.test.jspass (6/6). - [2026-02-20T07:14:28Z] progress: extracted media runtime deps assembly into
src/main/runtime/media-runtime-main-deps.tsand rewiredcreateMediaRuntimeServicesetup insrc/main.tsthrough the builder. - [2026-02-20T07:14:28Z] progress:
src/main.tscurrently 2750 LOC after this slice. - [2026-02-20T07:14:28Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/media-runtime-main-deps.test.js dist/main/media-runtime.test.js dist/main/runtime/field-grouping-overlay-main-deps.test.jspass (2/2 from selected bundle output). - [2026-02-20T07:16:22Z] progress: extracted overlay visibility runtime deps assembly into
src/main/runtime/overlay-visibility-runtime-main-deps.tsand rewiredcreateOverlayVisibilityRuntimeServicesetup insrc/main.tsthrough the builder. - [2026-02-20T07:16:22Z] progress:
src/main.tscurrently 2753 LOC after this slice. - [2026-02-20T07:16:22Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/overlay-visibility-runtime-main-deps.test.js dist/main/overlay-visibility-runtime.test.js dist/main/runtime/media-runtime-main-deps.test.jspass (2/2 from selected bundle output). - [2026-02-20T07:25:54Z] progress: extracted JLPT/frequency dictionary runtime deps assembly and root-list construction into
src/main/runtime/dictionary-runtime-main-deps.ts; rewiredcreateJlptDictionaryRuntimeService+createFrequencyDictionaryRuntimeServicesetup insrc/main.ts. - [2026-02-20T07:25:54Z] progress: adjusted frequency roots wiring to preserve previous behavior exactly (separate frequency roots builder, no JLPT-root leakage).
- [2026-02-20T07:25:54Z] progress:
src/main.tscurrently 2747 LOC after this slice. - [2026-02-20T07:25:54Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/dictionary-runtime-main-deps.test.js dist/main/frequency-dictionary-runtime.test.js dist/main/jlpt-runtime.test.jspass (4/4 from selected bundle output). - [2026-02-20T07:27:15Z] progress: extracted overlay-shortcuts runtime deps assembly into
src/main/runtime/overlay-shortcuts-runtime-main-deps.tsand rewiredcreateOverlayShortcutsRuntimeServicesetup insrc/main.tsthrough the builder. - [2026-02-20T07:27:15Z] progress:
src/main.tscurrently 2750 LOC after this slice. - [2026-02-20T07:27:15Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/overlay-shortcuts-runtime-main-deps.test.js dist/main/overlay-shortcuts-runtime.test.js dist/main/runtime/overlay-shortcuts-lifecycle.test.jspass (5/5). - [2026-02-20T08:39:19Z] progress: extracted setup-window dependency assembly from
src/main.tsintosrc/main/runtime/anilist-setup-window-main-deps.tsandsrc/main/runtime/jellyfin-setup-window-main-deps.ts; rewiredopenAnilistSetupWindow+openJellyfinSetupWindowto builder-backed handlers. - [2026-02-20T08:39:19Z] progress: added builder mapping tests in
src/main/runtime/anilist-setup-window-main-deps.test.tsandsrc/main/runtime/jellyfin-setup-window-main-deps.test.ts. - [2026-02-20T08:39:19Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/anilist-setup-window-main-deps.test.js dist/main/runtime/jellyfin-setup-window-main-deps.test.js dist/main/runtime/anilist-setup-window.test.js dist/main/runtime/jellyfin-setup-window.test.jspass. - [2026-02-20T08:44:42Z] progress: extracted AniList media-guess/post-watch dependency assemblies into
src/main/runtime/anilist-media-guess-main-deps.ts+src/main/runtime/anilist-post-watch-main-deps.ts; rewiredmain.ts(maybeProbeAnilistDuration,ensureAnilistMediaGuess,processNextAnilistRetryUpdate,maybeRunAnilistPostWatchUpdate) to builder-backed setup. - [2026-02-20T08:44:42Z] progress: extracted Anki/mining action dependency assemblies into
src/main/runtime/anki-actions-main-deps.ts+src/main/runtime/mining-actions-main-deps.ts; rewired corresponding handler creation block inmain.ts. - [2026-02-20T08:44:42Z] progress: added mapping tests for all new builders (
anilist-media-guess-main-deps,anilist-post-watch-main-deps,anki-actions-main-deps,mining-actions-main-deps). - [2026-02-20T08:44:42Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/anilist-media-guess-main-deps.test.js dist/main/runtime/anilist-post-watch-main-deps.test.js dist/main/runtime/anilist-media-guess.test.js dist/main/runtime/anilist-post-watch.test.js dist/main/runtime/anki-actions-main-deps.test.js dist/main/runtime/mining-actions-main-deps.test.js dist/main/runtime/anki-actions.test.js dist/main/runtime/mining-actions.test.jspass. - [2026-02-20T08:52:08Z] progress: extracted overlay visibility/main action and IPC-bridge dependency assembly from
main.tsinto new builders:overlay-visibility-actions-main-deps.ts,overlay-main-actions-main-deps.ts,ipc-bridge-actions-main-deps.ts. - [2026-02-20T08:52:08Z] progress: rewired
main.tshandler setup forset/toggle overlay,appendClipboardVideoToQueue,handleMpvCommandFromIpc, andrunSubsyncManualFromIpcto builder-backed assembly. - [2026-02-20T08:52:08Z] progress: added builder mapping tests:
overlay-visibility-actions-main-deps.test.ts,overlay-main-actions-main-deps.test.ts,ipc-bridge-actions-main-deps.test.ts. - [2026-02-20T08:52:08Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/ipc-bridge-actions-main-deps.test.js dist/main/runtime/overlay-visibility-actions-main-deps.test.js dist/main/runtime/overlay-main-actions-main-deps.test.js dist/main/runtime/ipc-bridge-actions.test.js dist/main/runtime/overlay-visibility-actions.test.js dist/main/runtime/overlay-main-actions.test.jspass. - [2026-02-20T08:54:17Z] progress: extracted numeric shortcut and overlay-shortcuts lifecycle dependency assembly into
numeric-shortcut-session-main-deps.tsandoverlay-shortcuts-lifecycle-main-deps.ts; rewired correspondingmain.tssetup blocks. - [2026-02-20T08:54:17Z] progress: extracted overlay-window-layout dependency assembly into
overlay-window-layout-main-deps.ts; rewired visible/invisible bounds + window level/order setup inmain.ts. - [2026-02-20T08:54:17Z] progress: added mapping tests for all new builders (
numeric-shortcut-session-main-deps,overlay-shortcuts-lifecycle-main-deps,overlay-window-layout-main-deps). - [2026-02-20T08:54:17Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/numeric-shortcut-session-main-deps.test.js dist/main/runtime/overlay-shortcuts-lifecycle-main-deps.test.js dist/main/runtime/overlay-window-layout-main-deps.test.js dist/main/runtime/numeric-shortcut-session-handlers.test.js dist/main/runtime/overlay-shortcuts-lifecycle.test.js dist/main/runtime/overlay-window-layout.test.jspass. - [2026-02-20T08:55:21Z] progress: extracted startup warmup dependency assembly into
src/main/runtime/startup-warmups-main-deps.ts(launchBackgroundWarmupTask,startBackgroundWarmups) and rewired main setup to builder-backed constants. - [2026-02-20T08:55:21Z] progress: added
src/main/runtime/startup-warmups-main-deps.test.tsmapping coverage. - [2026-02-20T08:55:21Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/startup-warmups-main-deps.test.js dist/main/runtime/startup-warmups.test.jspass. - [2026-02-20T08:56:46Z] progress: extracted MPV IPC command dependency assembly into
src/main/runtime/ipc-mpv-command-main-deps.tsand rewiredmain.tsIPC bridge setup to compose throughbuildMpvCommandFromIpcRuntimeMainDepsHandler. - [2026-02-20T08:56:46Z] progress: added
src/main/runtime/ipc-mpv-command-main-deps.test.tsmapping coverage. - [2026-02-20T08:56:46Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/ipc-mpv-command-main-deps.test.js dist/main/runtime/ipc-bridge-actions-main-deps.test.js dist/main/runtime/ipc-bridge-actions.test.jspass. - [2026-02-20T09:00:14Z] progress: post-push slice extracted
playJellyfinItemInMpvdependency assembly intosrc/main/runtime/jellyfin-playback-launch-main-deps.tsand rewiredmain.tsplayback handler construction. - [2026-02-20T09:00:14Z] progress: added
src/main/runtime/jellyfin-playback-launch-main-deps.test.tsmapping coverage. - [2026-02-20T09:00:14Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/jellyfin-playback-launch-main-deps.test.js dist/main/runtime/jellyfin-playback-launch.test.jspass. - [2026-02-20T09:10:53Z] progress: extracted config hot-reload message/watcher dependency assembly into builders in
config-hot-reload-main-deps.ts(createBuildConfigHotReloadMessageMainDepsHandler,createBuildWatchConfigPathMainDepsHandler) and rewiredmain.ts. - [2026-02-20T09:10:53Z] progress: extracted MPV subtitle render metrics dependency assembly into
mpv-subtitle-render-metrics-main-deps.tsand rewiredmain.tsupdate runtime setup. - [2026-02-20T09:10:53Z] progress: added mapping tests
config-hot-reload-main-deps.test.ts(new cases) andmpv-subtitle-render-metrics-main-deps.test.ts. - [2026-02-20T09:10:53Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/config-hot-reload-main-deps.test.js dist/main/runtime/mpv-subtitle-render-metrics-main-deps.test.js dist/main/runtime/mpv-subtitle-render-metrics.test.js dist/main/runtime/config-hot-reload-handlers.test.jspass. - [2026-02-20T09:14:06Z] progress: extracted numeric shortcut runtime option assembly into
src/main/runtime/numeric-shortcut-runtime-main-deps.tsand rewiredcreateNumericShortcutRuntimesetup inmain.ts. - [2026-02-20T09:14:06Z] progress: added
src/main/runtime/numeric-shortcut-runtime-main-deps.test.tsmapping coverage. - [2026-02-20T09:14:06Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +node --test dist/main/runtime/numeric-shortcut-runtime-main-deps.test.js dist/core/services/numeric-shortcut-session.test.jspass. - [2026-02-20T09:16:42Z] progress: extracted immersion tracker startup dependency assembly into
src/main/runtime/immersion-startup-main-deps.tsand rewired app-ready startup wiring inmain.ts. - [2026-02-20T09:16:42Z] progress: extracted config hot-reload watcher/message and MPV subtitle metrics dependency assembly into dedicated builder usage in
main.ts; addedmpv-subtitle-render-metrics-main-deps.ts. - [2026-02-20T09:16:42Z] progress: normalized
handleInitialArgssetup to prebuilt builder-backed handler (buildHandleInitialArgsMainDepsHandler+handleInitialArgsRuntimeHandler) to reduce repeated construction. - [2026-02-20T09:16:42Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + targeted suites pass:immersion-startup*,config-hot-reload-main-deps*,mpv-subtitle-render-metrics*,numeric-shortcut-runtime-main-deps*,initial-args*. - [2026-02-20T09:30:02Z] progress: applied 5-block safe normalization in
main.tsby prebuilding deps handlers for global shortcuts (getConfiguredShortcuts,registerGlobalShortcuts,refreshGlobalAndOverlayShortcuts) and MPV logging/OSD (appendToMpvLog,showMpvOsd). - [2026-02-20T09:30:02Z] progress: earlier in this batch also extracted
jellyfin-playback-launch-main-deps,immersion-startup-main-deps,numeric-shortcut-runtime-main-deps, andmpv-subtitle-render-metrics-main-deps; extendedconfig-hot-reload-main-depswith watcher/message builders. - [2026-02-20T09:30:02Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + targeted suites pass forglobal-shortcuts*,mpv-osd-log*,jellyfin-playback-launch*,immersion-startup*,config-hot-reload-main-deps*,mpv-subtitle-render-metrics*,numeric-shortcut-runtime-main-deps*,initial-args*. - [2026-02-20T09:32:11Z] progress: completed 5-block safe normalization in
main.ts: prebuilt deps handlers for CLI context main deps, MPV main-event bind deps, MPV runtime service factory deps, MeCab initializer deps, and subtitle dictionary prewarm deps. - [2026-02-20T09:32:11Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + targeted suites pass:cli-command-context-main-deps,mpv-main-event-main-deps,mpv-main-event-bindings,mpv-client-runtime-service-main-deps,subtitle-tokenization-main-deps. - [2026-02-20T09:33:19Z] progress: completed another 5-block safe normalization in
main.tsfor lifecycle/startup wiring: prebuilt deps handlers foronWillQuitCleanup,shouldRestoreWindowsOnActivate,restoreWindowsOnActivate,reloadConfig, andcriticalConfigError. - [2026-02-20T09:33:19Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + targeted suites pass forapp-lifecycle-main-cleanup,app-lifecycle-main-activate,startup-config-main-deps, andstartup-config. - [2026-02-20T09:35:02Z] progress: extracted protocol URL registration dependency assembly to
protocol-url-handlers-main-deps.tsand rewired main protocol registration call through builder. - [2026-02-20T09:35:02Z] progress: normalized
cycleSecondarySubModeto use prebuilt deps builder constant (avoids per-call rebuild). - [2026-02-20T09:35:02Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) +protocol-url-handlers*andsecondary-sub-mode-main-depstests pass. - [2026-02-20T09:35:02Z] progress: prebuilt setup-window focus handlers (
maybeFocusExistingAnilistSetupWindow,maybeFocusExistingJellyfinSetupWindow) and injected them into corresponding main deps builders inmain.ts. - [2026-02-20T09:35:02Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + setup-window suites pass (anilist-setup-window*,jellyfin-setup-window*). - [2026-02-20T09:37:12Z] progress: completed one consolidated 5-block normalization batch in
main.tsby prebuilding finalized deps objects before handler creation forgetConfiguredShortcuts,registerGlobalShortcuts,refreshGlobalAndOverlayShortcuts,appendToMpvLog, andshowMpvOsd. - [2026-02-20T09:37:12Z] test:
bun run buildpass (expected macOS helper Swift cache fallback) + targeted suites pass forglobal-shortcuts*andmpv-osd-log*.