mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-27 18:22:41 -08:00
36 KiB
36 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-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/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.ts
Open Questions / Blockers
- none
Next Step
- extract next
src/main.tsoverlay visibility state wrappers (setVisibleOverlayVisible,setInvisibleOverlayVisible,toggleVisibleOverlay,toggleInvisibleOverlay) into runtime helper + tests.