mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-27 18:22:41 -08:00
424 lines
94 KiB
Markdown
424 lines
94 KiB
Markdown
# 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-20T09:41:54Z] progress: completed another 5-block safe normalization in `src/main.ts` by prebuilding finalized deps objects for `notifyAnilistSetup`, `consumeAnilistSetupTokenFromUrl`, `handleAnilistSetupProtocolUrl`, `registerSubminerProtocolClient`, and `refreshAnilistClientSecretState`.
|
|
- [2026-02-20T09:41:54Z] test: `bun run build` pass (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 unrelated `vendor/texthooker-ui` and 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.ts` and rewired `getFieldGroupingResolver`/`setFieldGroupingResolver` handler construction in `src/main.ts`.
|
|
- [2026-02-20T08:34:16Z] progress: extracted Yomitan extension loader deps assembly into `src/main/runtime/yomitan-extension-loader-main-deps.ts` and rewired `loadYomitanExtension`/`ensureYomitanExtensionLoaded` handler construction in `src/main.ts`.
|
|
- [2026-02-20T08:34:16Z] progress: added parity tests in `src/main/runtime/field-grouping-resolver-main-deps.test.ts` and `src/main/runtime/yomitan-extension-loader-main-deps.test.ts`; `src/main.ts` now 2993 LOC.
|
|
- [2026-02-20T08:34:16Z] test: `bun run build` pass (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.js` pass (7/7).
|
|
- [2026-02-20T08:31:52Z] progress: extracted AniList media-state deps assembly into `src/main/runtime/anilist-media-state-main-deps.ts` and rewired media-key/media-guess state handlers in `src/main.ts`.
|
|
- [2026-02-20T08:31:52Z] progress: extracted subtitle-position deps assembly into `src/main/runtime/subtitle-position-main-deps.ts` and rewired load/save subtitle position handlers in `src/main.ts`.
|
|
- [2026-02-20T08:31:52Z] progress: extracted AniList token-refresh deps assembly into `src/main/runtime/anilist-token-refresh-main-deps.ts` and rewired `refreshAnilistClientSecretState` handler construction in `src/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`, and `src/main/runtime/anilist-token-refresh-main-deps.test.ts`; `src/main.ts` now 2968 LOC.
|
|
- [2026-02-20T08:31:52Z] test: `bun run build` pass (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.js` pass (12/12).
|
|
- [2026-02-20T08:12:54Z] progress: extracted Jellyfin subtitle-preload deps assembly into `src/main/runtime/jellyfin-subtitle-preload-main-deps.ts` and rewired `preloadJellyfinExternalSubtitles` construction in `src/main.ts`.
|
|
- [2026-02-20T08:12:54Z] progress: added parity tests in `src/main/runtime/jellyfin-subtitle-preload-main-deps.test.ts`; `src/main.ts` now 2926 LOC.
|
|
- [2026-02-20T08:12:54Z] test: `bun run build` pass (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.js` pass (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.ts` and rewired those constructor sites in `src/main.ts`.
|
|
- [2026-02-20T08:11:29Z] progress: added parity tests in `src/main/runtime/jellyfin-remote-session-main-deps.test.ts`; `src/main.ts` now 2921 LOC.
|
|
- [2026-02-20T08:11:29Z] test: `bun run build` pass (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.js` pass (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 rewired `runJellyfinCommand` construction in `src/main.ts`.
|
|
- [2026-02-20T08:00:02Z] progress: added parity tests in `src/main/runtime/jellyfin-command-dispatch-main-deps.test.ts`; `src/main.ts` now 2909 LOC.
|
|
- [2026-02-20T08:00:02Z] test: `bun run build` pass (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.js` pass (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 in `src/main.ts`.
|
|
- [2026-02-20T07:58:40Z] progress: added parity tests in `src/main/runtime/jellyfin-cli-main-deps.test.ts`; `src/main.ts` now 2905 LOC.
|
|
- [2026-02-20T07:58:40Z] test: `bun run build` pass (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.js` pass (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 in `src/main.ts`.
|
|
- [2026-02-20T07:57:16Z] progress: added parity tests in `src/main/runtime/anilist-setup-protocol-main-deps.test.ts`; `src/main.ts` now 2882 LOC.
|
|
- [2026-02-20T07:57:16Z] test: `bun run build` pass (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.js` pass (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 in `src/main.ts`.
|
|
- [2026-02-20T07:52:56Z] progress: added parity tests in `src/main/runtime/jellyfin-client-info-main-deps.test.ts`; `src/main.ts` now 2859 LOC.
|
|
- [2026-02-20T07:52:56Z] test: `bun run build` pass (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.js` pass (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 in `src/main.ts`.
|
|
- [2026-02-20T07:51:58Z] progress: added parity tests in `src/main/runtime/mpv-jellyfin-defaults-main-deps.test.ts`; `src/main.ts` now 2848 LOC.
|
|
- [2026-02-20T07:51:58Z] test: `bun run build` pass (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.js` pass (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 in `src/main.ts`.
|
|
- [2026-02-20T07:46:45Z] progress: added parity tests in `src/main/runtime/jellyfin-remote-connection-main-deps.test.ts`; `src/main.ts` now 2837 LOC.
|
|
- [2026-02-20T07:46:45Z] test: `bun run build` pass (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.js` pass (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 in `src/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.ts` now 2821 LOC.
|
|
- [2026-02-20T07:44:09Z] test: `bun run build` pass (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.js` pass (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 in `src/main.ts`.
|
|
- [2026-02-20T07:42:00Z] progress: added parity tests in `src/main/runtime/overlay-bootstrap-main-deps.test.ts`; `src/main.ts` now 2794 LOC.
|
|
- [2026-02-20T07:42:00Z] test: `bun run build` pass (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.js` pass (8/8).
|
|
- [2026-02-20T07:40:24Z] progress: after push of commit `561f7b3`, extracted bootstrap runtime deps assembly into `src/main/runtime/runtime-bootstrap-main-deps.ts` (immersion media, AniList state, config-derived, subsync builders) and rewired those constructor sites in `src/main.ts`.
|
|
- [2026-02-20T07:40:24Z] test: `bun run build` pass (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.js` pass (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 rewired `subtitleProcessingController` construction in `src/main.ts`.
|
|
- [2026-02-20T07:35:01Z] progress: added parity tests in `src/main/runtime/subtitle-processing-main-deps.test.ts`; `src/main.ts` now 2775 LOC.
|
|
- [2026-02-20T07:35:01Z] test: `bun run build` pass (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.js` pass (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 in `src/main.ts` to builder-based deps.
|
|
- [2026-02-20T07:33:56Z] progress: added parity tests in `src/main/runtime/jellyfin-remote-main-deps.test.ts`; `src/main.ts` now 2770 LOC.
|
|
- [2026-02-20T07:33:56Z] test: `bun run build` pass (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.js` pass (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 rewired `configHotReloadRuntime` construction in `src/main.ts` to builder-based deps.
|
|
- [2026-02-20T07:31:59Z] progress: preserved runtime parity by keeping debounce/watch-path behavior and `createConfigHotReloadAppliedHandler` side-effects unchanged while moving inline glue code out of `src/main.ts`.
|
|
- [2026-02-20T07:31:59Z] test: `bun run build` pass (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.js` pass (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 rewired `handleCliCommand` to 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 rewired `initializeOverlayRuntime` `buildOptions`; extracted Yomitan extension load wrappers into `src/main/runtime/yomitan-extension-loader.ts` (`createLoadYomitanExtensionHandler`, `createEnsureYomitanExtensionLoadedHandler`) and rewired `loadYomitanExtension` + `ensureYomitanExtensionLoaded`.
|
|
- [2026-02-20T03:27:35Z] test: `bun run build` pass (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.js` pass (116/116).
|
|
- [2026-02-20T03:19:44Z] progress: extracted tray wrappers into `src/main/runtime/tray-main-actions.ts` (`createResolveTrayIconPathHandler`, `createBuildTrayMenuTemplateHandler`) and rewired `resolveTrayIconPath` + `buildTrayMenu`.
|
|
- [2026-02-20T03:19:44Z] test: `bun run build` pass (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.js` pass (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 rewired `createOverlayWindow`, `createMainWindow`, `createInvisibleWindow`.
|
|
- [2026-02-20T03:17:35Z] test: `bun run build` pass (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.js` pass (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 rewired `setOverlayVisible`, `toggleOverlay`, `handleOverlayModalClosed`, `appendClipboardVideoToQueue`.
|
|
- [2026-02-20T03:14:23Z] test: `bun run build` pass (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.js` pass (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 corresponding `main.ts` functions.
|
|
- [2026-02-20T03:11:11Z] test: `bun run build` pass (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.js` pass (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 rewired `handleMultiCopyDigit`, `copyCurrentSubtitle`, `handleMineSentenceDigit`.
|
|
- [2026-02-20T02:56:34Z] test: `bun run build` pass (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.js` pass (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 rewired `main.ts` handlers.
|
|
- [2026-02-20T02:55:17Z] test: `bun run build` pass (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.js` pass (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 rewired `registerOverlayShortcuts`/`unregisterOverlayShortcuts`/`syncOverlayShortcuts`/`refreshOverlayShortcuts`.
|
|
- [2026-02-20T02:52:42Z] test: `bun run build` pass (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.js` pass (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 in `main.ts`.
|
|
- [2026-02-20T02:51:23Z] test: `bun run build` pass (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.js` pass (84/84).
|
|
- [2026-02-20T02:50:30Z] progress: extracted MPV OSD + log helpers into `src/main/runtime/mpv-osd-log.ts` (`createAppendToMpvLogHandler`, `createShowMpvOsdHandler`) and rewired `showMpvOsd` + `appendToMpvLog`.
|
|
- [2026-02-20T02:50:30Z] test: `bun run build` pass (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.js` pass (82/82).
|
|
- [2026-02-20T02:49:09Z] progress: extracted global shortcut helpers into `src/main/runtime/global-shortcuts.ts` (`createGetConfiguredShortcutsHandler`, `createRegisterGlobalShortcutsHandler`, `createRefreshGlobalAndOverlayShortcutsHandler`); rewired `getConfiguredShortcuts`, `registerGlobalShortcuts`, and `refreshGlobalAndOverlayShortcuts` in `main.ts`.
|
|
- [2026-02-20T02:49:09Z] test: `bun run build` pass (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.js` pass (79/79).
|
|
- [2026-02-20T02:45:53Z] progress: extracted Yomitan settings window opener wrapper into `src/main/runtime/yomitan-settings-opener.ts` (`createOpenYomitanSettingsHandler`); rewired `openYomitanSettings` in `main.ts`.
|
|
- [2026-02-20T02:45:53Z] test: `bun run build` pass (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.js` pass (76/76).
|
|
- [2026-02-20T02:44:31Z] progress: extracted overlay runtime bootstrap wrapper into `src/main/runtime/overlay-runtime-bootstrap.ts` (`createInitializeOverlayRuntimeHandler`) and rewired `initializeOverlayRuntime` orchestration; plus tray lifecycle extraction into `src/main/runtime/tray-lifecycle.ts` (`createEnsureTrayHandler`, `createDestroyTrayHandler`).
|
|
- [2026-02-20T02:44:31Z] test: `bun run build` pass (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.js` pass (74/74).
|
|
- [2026-02-20T02:41:26Z] progress: extracted tray lifecycle orchestration into `src/main/runtime/tray-lifecycle.ts` (`createEnsureTrayHandler`, `createDestroyTrayHandler`); rewired `ensureTray`/`destroyTray` in `main.ts` with existing behavior preserved.
|
|
- [2026-02-20T02:41:26Z] test: `bun run build` pass (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.js` pass (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`); rewired `resolveTrayIconPath` and `buildTrayMenu` in `main.ts`.
|
|
- [2026-02-20T02:33:47Z] test: `bun run build` pass (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.js` pass (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 corresponding `main.ts` helpers.
|
|
- [2026-02-20T02:08:55Z] test: `bun run build` pass (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.js` pass (66/66).
|
|
- [2026-02-20T01:16:52Z] progress: extracted startup warmup orchestration into `src/main/runtime/startup-warmups.ts` (`createLaunchBackgroundWarmupTaskHandler`, `createStartBackgroundWarmupsHandler`); rewired `launchBackgroundWarmupTask` + `startBackgroundWarmups` in `main.ts`.
|
|
- [2026-02-20T01:16:52Z] test: `bun run build` pass (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.js` pass (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`); rewired `updateMpvSubtitleRenderMetrics` through a stable runtime handler.
|
|
- [2026-02-20T01:15:36Z] test: `bun run build` pass (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.js` pass (59/59).
|
|
- [2026-02-20T01:07:32Z] progress: extracted MPV runtime service construction/wiring from `createMpvClientRuntimeService` into `src/main/runtime/mpv-client-runtime-service.ts` (`createMpvClientRuntimeServiceFactory`); rewired `main.ts` to use factory with explicit options bundle.
|
|
- [2026-02-20T01:07:32Z] test: `bun run build` pass (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.js` pass (57/57).
|
|
- [2026-02-20T01:05:38Z] progress: extracted MPV client event binding orchestration from `bindMpvClientEventHandlers` into `src/main/runtime/mpv-client-event-bindings.ts` (`createBindMpvClientEventHandlers`, `createHandleMpvConnectionChangeHandler`, `createHandleMpvSubtitleTimingHandler`); rewired `main.ts` binding setup.
|
|
- [2026-02-20T01:05:38Z] test: `bun run build` pass (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.js` pass (56/56).
|
|
- [2026-02-20T00:59:30Z] progress: extracted CLI command context composition from `handleCliCommand` into `src/main/runtime/cli-command-context.ts`; rewired `main.ts` to build `cliContext` via factory before `handleCliCommandRuntimeServiceWithContext`.
|
|
- [2026-02-20T00:59:30Z] test: `bun run build` pass (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.js` pass (53/53).
|
|
- [2026-02-20T00:47:26Z] progress: extracted CLI runtime prechecks + initial arg orchestration into `src/main/runtime/cli-command-prechecks.ts` and `src/main/runtime/initial-args-handler.ts`; rewired `handleCliCommand` texthooker-only transition and `handleInitialArgs`.
|
|
- [2026-02-20T00:47:26Z] test: `bun run build` pass (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.js` pass (50/50).
|
|
- [2026-02-20T00:45:18Z] progress: extracted setup-window lifecycle/focus bookkeeping helpers into runtime modules (`createMaybeFocusExistingAnilistSetupWindowHandler`, `createHandleAnilistSetupWindowClosedHandler`, `createHandleAnilistSetupWindowOpenedHandler`, `createMaybeFocusExistingJellyfinSetupWindowHandler`, `createHandleJellyfinSetupWindowClosedHandler`, `createHandleJellyfinSetupWindowOpenedHandler`); rewired `openAnilistSetupWindow` + `openJellyfinSetupWindow`.
|
|
- [2026-02-20T00:45:18Z] test: `bun run build` pass (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.js` pass (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`); rewired `did-fail-load` and `did-finish-load` hooks in `openAnilistSetupWindow`.
|
|
- [2026-02-20T00:41:54Z] test: `bun run build` pass (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.js` pass (37/37).
|
|
- [2026-02-20T00:40:53Z] progress: extracted AniList setup URL event handlers from `openAnilistSetupWindow` into `src/main/runtime/anilist-setup-window.ts` (`createAnilistSetupWindowOpenHandler`, `createAnilistSetupWillNavigateHandler`, `createAnilistSetupWillRedirectHandler`, `createAnilistSetupDidNavigateHandler`); rewired `main.ts` callbacks.
|
|
- [2026-02-20T00:40:53Z] test: `bun run build` pass (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.js` pass (34/34).
|
|
- [2026-02-20T00:35:26Z] progress: extracted Jellyfin setup window navigation interception into `createHandleJellyfinSetupNavigationHandler` in `src/main/runtime/jellyfin-setup-window.ts`; rewired `openJellyfinSetupWindow` `will-navigate` branch in `src/main.ts`.
|
|
- [2026-02-20T00:35:26Z] test: `bun run build` pass (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.js` pass (26/26).
|
|
- [2026-02-20T00:34:12Z] progress: extracted Jellyfin remote lifecycle orchestration from `src/main.ts` into `src/main/runtime/jellyfin-remote-session-lifecycle.ts` (`createStartJellyfinRemoteSessionHandler`, `createStopJellyfinRemoteSessionHandler`); rewired start/stop call sites and callbacks; `src/main.ts` now 2731 LOC.
|
|
- [2026-02-20T00:34:12Z] test: `bun run build` pass (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.js` pass (20/20).
|
|
- [2026-02-20T00:32:07Z] progress: extracted remaining `runJellyfinCommand` action branches into `src/main/runtime/jellyfin-cli-play.ts` and `src/main/runtime/jellyfin-cli-remote-announce.ts`; rewired main command router; `src/main.ts` now 2773 LOC.
|
|
- [2026-02-20T00:32:07Z] test: `bun run build` pass (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.js` pass (16/16).
|
|
- [2026-02-20T00:29:07Z] progress: extracted Jellyfin CLI listing branches (`--jellyfin-libraries`, `--jellyfin-items`, `--jellyfin-subtitles`) from `runJellyfinCommand` into `src/main/runtime/jellyfin-cli-list.ts`; rewired through `createHandleJellyfinListCommands`; `src/main.ts` now 2820 LOC.
|
|
- [2026-02-20T00:29:07Z] test: `bun run build` pass (expected macOS helper Swift cache fallback) + `node --test dist/main/runtime/jellyfin-cli-list.test.js dist/main/runtime/jellyfin-cli-auth.test.js` pass (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 into `src/main/runtime/subtitle-position.ts`, and app protocol URL event wiring into `src/main/runtime/protocol-url-handlers.ts`; rewired `main.ts`; `src/main.ts` now 2853 LOC.
|
|
- [2026-02-20T00:19:13Z] test: `bun run build` pass (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.js` pass (52/52).
|
|
- [2026-02-20T00:12:40Z] progress: extracted AniList token/media resolution helpers from `src/main.ts` into `src/main/runtime/anilist-token-refresh.ts` and `src/main/runtime/anilist-media-guess.ts`; rewired `refreshAnilistClientSecretState`, `maybeProbeAnilistDuration`, and `ensureAnilistMediaGuess`; `src/main.ts` now 2892 LOC.
|
|
- [2026-02-20T00:12:40Z] test: `bun run build` pass (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.js` pass (45/45).
|
|
- [2026-02-20T00:08:57Z] progress: extracted Jellyfin setup window form/submission logic from `src/main.ts` into `src/main/runtime/jellyfin-setup-window.ts` (`buildJellyfinSetupFormHtml`, `parseJellyfinSetupSubmissionUrl`, `createHandleJellyfinSetupSubmissionHandler`); kept window lifecycle in main.
|
|
- [2026-02-20T00:08:57Z] test: `bun run build` pass (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.js` pass (39/39).
|
|
- [2026-02-20T00:00:55Z] progress: extracted AniList setup/protocol handlers (`notifyAnilistSetup`, `consumeAnilistSetupTokenFromUrl`, `handleAnilistSetupProtocolUrl`, `registerSubminerProtocolClient`) from `src/main.ts` into `src/main/runtime/anilist-setup-protocol.ts`; rewired protocol registration and callback wiring; `src/main.ts` now 2988 LOC.
|
|
- [2026-02-20T00:00:55Z] test: `bun run build` pass (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.js` pass (35/35).
|
|
- [2026-02-19T23:58:32Z] progress: extracted Jellyfin MPV connection/bootstrap handlers (`waitForMpvConnected`, `launchMpvIdleForJellyfinPlayback`, `ensureMpvConnectedForJellyfinPlayback`) from `src/main.ts` into `src/main/runtime/jellyfin-remote-connection.ts`; rewired call sites; `src/main.ts` now 2996 LOC.
|
|
- [2026-02-19T23:58:32Z] test: `bun run build` pass (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.js` pass (31/31).
|
|
- [2026-02-19T23:50:09Z] progress: extracted Jellyfin remote playback reporting logic (`secondsToJellyfinTicks`, `reportJellyfinRemoteProgress`, `reportJellyfinRemoteStopped`) from `src/main.ts` into `src/main/runtime/jellyfin-remote-playback.ts`; rewired main runtime handlers.
|
|
- [2026-02-19T23:50:09Z] test: `bun run build` pass (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.js` pass (28/28).
|
|
- [2026-02-19T23:48:01Z] progress: extracted Jellyfin remote command/session parsing handlers from `src/main.ts` into `src/main/runtime/jellyfin-remote-commands.ts` (`getConfiguredJellyfinSession`, `handleJellyfinRemotePlay`, `handleJellyfinRemotePlaystate`, `handleJellyfinRemoteGeneralCommand` factories); rewired `src/main.ts` to use handler factories.
|
|
- [2026-02-19T23:48:01Z] test: `bun run build` pass (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.js` pass (24/24).
|
|
- [2026-02-19T23:40:59Z] progress: extracted config hot-reload apply/message callbacks from `src/main.ts` into `src/main/runtime/config-hot-reload-handlers.ts`; `src/main.ts` now 3096 LOC (down from 3116 at session start).
|
|
- [2026-02-19T23:40:59Z] test: `bun run build` pass (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.js` pass (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.md` as source of truth.
|
|
|
|
## Files Touched
|
|
|
|
- `docs/subagents/INDEX.md`
|
|
- `docs/subagents/agents/codex-task85-20260219T233711Z-46hc.md`
|
|
- `src/main.ts`
|
|
- `src/main/runtime/config-hot-reload-handlers.ts`
|
|
- `src/main/runtime/config-hot-reload-handlers.test.ts`
|
|
- `src/main/runtime/jellyfin-remote-commands.ts`
|
|
- `src/main/runtime/jellyfin-remote-commands.test.ts`
|
|
- `src/main/runtime/jellyfin-remote-playback.ts`
|
|
- `src/main/runtime/jellyfin-remote-playback.test.ts`
|
|
- `src/main/runtime/jellyfin-remote-connection.ts`
|
|
- `src/main/runtime/jellyfin-remote-connection.test.ts`
|
|
- `src/main/runtime/anilist-setup-protocol.ts`
|
|
- `src/main/runtime/anilist-setup-protocol.test.ts`
|
|
- `src/main/runtime/jellyfin-setup-window.ts`
|
|
- `src/main/runtime/jellyfin-setup-window.test.ts`
|
|
- `src/main/runtime/initial-args-handler.ts`
|
|
- `src/main/runtime/initial-args-handler.test.ts`
|
|
- `src/main/runtime/cli-command-prechecks.ts`
|
|
- `src/main/runtime/cli-command-prechecks.test.ts`
|
|
- `src/main/runtime/cli-command-context.ts`
|
|
- `src/main/runtime/cli-command-context.test.ts`
|
|
- `src/main/runtime/mpv-client-event-bindings.ts`
|
|
- `src/main/runtime/mpv-client-event-bindings.test.ts`
|
|
- `src/main/runtime/mpv-client-runtime-service.ts`
|
|
- `src/main/runtime/mpv-client-runtime-service.test.ts`
|
|
- `src/main/runtime/mpv-subtitle-render-metrics.ts`
|
|
- `src/main/runtime/mpv-subtitle-render-metrics.test.ts`
|
|
- `src/main/runtime/startup-warmups.ts`
|
|
- `src/main/runtime/startup-warmups.test.ts`
|
|
- `src/main/runtime/overlay-window-layout.ts`
|
|
- `src/main/runtime/overlay-window-layout.test.ts`
|
|
- `src/main/runtime/tray-runtime.ts`
|
|
- `src/main/runtime/tray-runtime.test.ts`
|
|
- `src/main/runtime/tray-lifecycle.ts`
|
|
- `src/main/runtime/tray-lifecycle.test.ts`
|
|
- `src/main/runtime/overlay-runtime-bootstrap.ts`
|
|
- `src/main/runtime/overlay-runtime-bootstrap.test.ts`
|
|
- `src/main/runtime/yomitan-settings-opener.ts`
|
|
- `src/main/runtime/yomitan-settings-opener.test.ts`
|
|
- `src/main/runtime/global-shortcuts.ts`
|
|
- `src/main/runtime/global-shortcuts.test.ts`
|
|
- `src/main/runtime/mpv-osd-log.ts`
|
|
- `src/main/runtime/mpv-osd-log.test.ts`
|
|
- `src/main/runtime/numeric-shortcut-session-handlers.ts`
|
|
- `src/main/runtime/numeric-shortcut-session-handlers.test.ts`
|
|
- `src/main/runtime/overlay-shortcuts-lifecycle.ts`
|
|
- `src/main/runtime/overlay-shortcuts-lifecycle.test.ts`
|
|
- `src/main/runtime/anki-actions.ts`
|
|
- `src/main/runtime/anki-actions.test.ts`
|
|
- `src/main/runtime/mining-actions.ts`
|
|
- `src/main/runtime/mining-actions.test.ts`
|
|
- `src/main/runtime/overlay-visibility-actions.ts`
|
|
- `src/main/runtime/overlay-visibility-actions.test.ts`
|
|
- `src/main/runtime/overlay-main-actions.ts`
|
|
- `src/main/runtime/overlay-main-actions.test.ts`
|
|
- `src/main/runtime/ipc-bridge-actions.ts`
|
|
- `src/main/runtime/ipc-bridge-actions.test.ts`
|
|
- `src/main/runtime/overlay-window-factory.ts`
|
|
- `src/main/runtime/overlay-window-factory.test.ts`
|
|
- `src/main/runtime/tray-main-actions.ts`
|
|
- `src/main/runtime/tray-main-actions.test.ts`
|
|
- `src/main/runtime/yomitan-extension-loader.ts`
|
|
- `src/main/runtime/yomitan-extension-loader.test.ts`
|
|
- `src/main/runtime/overlay-runtime-options.ts`
|
|
- `src/main/runtime/overlay-runtime-options.test.ts`
|
|
- `src/main/runtime/cli-command-context-deps.ts`
|
|
- `src/main/runtime/cli-command-context-deps.test.ts`
|
|
- `src/main/runtime/anilist-token-refresh.ts`
|
|
- `src/main/runtime/anilist-token-refresh.test.ts`
|
|
- `src/main/runtime/anilist-media-guess.ts`
|
|
- `src/main/runtime/anilist-media-guess.test.ts`
|
|
- `src/main/runtime/anilist-post-watch.ts`
|
|
- `src/main/runtime/anilist-post-watch.test.ts`
|
|
- `src/main/runtime/subtitle-position.ts`
|
|
- `src/main/runtime/subtitle-position.test.ts`
|
|
- `src/main/runtime/protocol-url-handlers.ts`
|
|
- `src/main/runtime/protocol-url-handlers.test.ts`
|
|
- `src/main/runtime/jellyfin-cli-auth.ts`
|
|
- `src/main/runtime/jellyfin-cli-auth.test.ts`
|
|
- `src/main/runtime/jellyfin-cli-list.ts`
|
|
- `src/main/runtime/jellyfin-cli-list.test.ts`
|
|
- `src/main/runtime/jellyfin-cli-play.ts`
|
|
- `src/main/runtime/jellyfin-cli-play.test.ts`
|
|
- `src/main/runtime/jellyfin-cli-remote-announce.ts`
|
|
- `src/main/runtime/jellyfin-cli-remote-announce.test.ts`
|
|
- `src/main/runtime/jellyfin-remote-session-lifecycle.ts`
|
|
- `src/main/runtime/jellyfin-remote-session-lifecycle.test.ts`
|
|
- `src/main/runtime/anilist-setup-window.ts`
|
|
- `src/main/runtime/anilist-setup-window.test.ts`
|
|
- `src/main/runtime/jellyfin-setup-window.ts`
|
|
- `src/main/runtime/jellyfin-setup-window.test.ts`
|
|
- `src/main/runtime/app-runtime-main-deps.ts`
|
|
- `src/main/runtime/app-runtime-main-deps.test.ts`
|
|
- `src/main/runtime/global-shortcuts-main-deps.ts`
|
|
- `src/main/runtime/global-shortcuts-main-deps.test.ts`
|
|
- `src/main/runtime/mpv-osd-log-main-deps.ts`
|
|
- `src/main/runtime/mpv-osd-log-main-deps.test.ts`
|
|
- `src/main/runtime/app-lifecycle-main-activate.ts`
|
|
- `src/main/runtime/app-lifecycle-main-activate.test.ts`
|
|
- `src/main/runtime/initial-args-main-deps.ts`
|
|
- `src/main/runtime/initial-args-main-deps.test.ts`
|
|
- `src/main/runtime/mpv-main-event-main-deps.ts`
|
|
- `src/main/runtime/mpv-main-event-main-deps.test.ts`
|
|
- `src/main/runtime/subtitle-tokenization-main-deps.ts`
|
|
- `src/main/runtime/subtitle-tokenization-main-deps.test.ts`
|
|
- `src/main/runtime/secondary-sub-mode-main-deps.ts`
|
|
- `src/main/runtime/secondary-sub-mode-main-deps.test.ts`
|
|
- `src/main/runtime/overlay-runtime-main-actions.ts`
|
|
- `src/main/runtime/overlay-runtime-main-actions.test.ts`
|
|
- `src/main/runtime/jellyfin-client-info.ts`
|
|
- `src/main/runtime/jellyfin-client-info.test.ts`
|
|
- `src/main/runtime/startup-config-main-deps.ts`
|
|
- `src/main/runtime/startup-config-main-deps.test.ts`
|
|
- `src/main/runtime/app-ready-main-deps.ts`
|
|
- `src/main/runtime/app-ready-main-deps.test.ts`
|
|
- `src/main/runtime/startup-lifecycle-main-deps.ts`
|
|
- `src/main/runtime/startup-lifecycle-main-deps.test.ts`
|
|
- `src/main/runtime/startup-bootstrap-main-deps.ts`
|
|
- `src/main/runtime/startup-bootstrap-main-deps.test.ts`
|
|
- `src/main/runtime/cli-command-prechecks-main-deps.ts`
|
|
- `src/main/runtime/cli-command-prechecks-main-deps.test.ts`
|
|
- `src/main/runtime/field-grouping-resolver.ts`
|
|
- `src/main/runtime/field-grouping-resolver.test.ts`
|
|
- `src/main/runtime/mpv-jellyfin-defaults.ts`
|
|
- `src/main/runtime/mpv-jellyfin-defaults.test.ts`
|
|
- `src/main/runtime/field-grouping-overlay-main-deps.ts`
|
|
- `src/main/runtime/field-grouping-overlay-main-deps.test.ts`
|
|
- `src/main/runtime/media-runtime-main-deps.ts`
|
|
- `src/main/runtime/media-runtime-main-deps.test.ts`
|
|
- `src/main/runtime/overlay-visibility-runtime-main-deps.ts`
|
|
- `src/main/runtime/overlay-visibility-runtime-main-deps.test.ts`
|
|
- `src/main/runtime/dictionary-runtime-main-deps.ts`
|
|
- `src/main/runtime/dictionary-runtime-main-deps.test.ts`
|
|
- `src/main/runtime/overlay-shortcuts-runtime-main-deps.ts`
|
|
- `src/main/runtime/overlay-shortcuts-runtime-main-deps.test.ts`
|
|
|
|
## Open Questions / Blockers
|
|
|
|
- none
|
|
|
|
## Next Step
|
|
|
|
- extract next `src/main.ts` runtime-deps assembly cluster (global shortcuts and/or MPV OSD bindings) into focused `*-main-deps` helper(s) with parity tests.
|
|
- [2026-02-20T04:04:21Z] progress: extracted MPV main event action callbacks into `src/main/runtime/mpv-main-event-actions.ts` and rewired `bindMpvClientEventHandlers` to delegate through focused handlers.
|
|
- [2026-02-20T04:04:21Z] test: `bun run build` pass (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.js` pass (14/14).
|
|
- [2026-02-20T04:06:41Z] progress: extracted Jellyfin setup-window orchestration into `createOpenJellyfinSetupWindowHandler` in `src/main/runtime/jellyfin-setup-window.ts`; rewired `openJellyfinSetupWindow` in `src/main.ts` to thin wrapper.
|
|
- [2026-02-20T04:06:41Z] test: `bun run build` pass (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.js` pass (23/23).
|
|
- [2026-02-20T04:09:21Z] progress: extracted AniList setup-window orchestration into `createOpenAnilistSetupWindowHandler` in `src/main/runtime/anilist-setup-window.ts`; rewired `openAnilistSetupWindow` in `src/main.ts` to thin wrapper.
|
|
- [2026-02-20T04:09:21Z] progress: `src/main.ts` reduced to 2883 LOC after this slice.
|
|
- [2026-02-20T04:09:21Z] test: `bun run build` pass (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.js` pass (39/39).
|
|
- [2026-02-20T04:11:27Z] progress: extracted Jellyfin external subtitle preload/track-picking from `playJellyfinItemInMpv` into new `src/main/runtime/jellyfin-subtitle-preload.ts` (`createPreloadJellyfinExternalSubtitlesHandler`) and rewired `main.ts`.
|
|
- [2026-02-20T04:11:27Z] progress: `src/main.ts` reduced to 2785 LOC after subtitle-preload extraction.
|
|
- [2026-02-20T04:11:27Z] test: `bun run build` pass (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.js` pass (41/41).
|
|
- [2026-02-20T04:17:41Z] progress: extracted `playJellyfinItemInMpv` orchestration into `src/main/runtime/jellyfin-playback-launch.ts` (`createPlayJellyfinItemInMpvHandler`) + tests; rewired `main.ts` playback handler wiring.
|
|
- [2026-02-20T04:17:41Z] progress: extracted `runJellyfinCommand` command routing into `src/main/runtime/jellyfin-command-dispatch.ts` (`createRunJellyfinCommandHandler`) + tests; rewired `main.ts` dispatcher wiring.
|
|
- [2026-02-20T04:17:41Z] progress: `src/main.ts` reduced to 2696 LOC after Jellyfin playback/dispatch extraction.
|
|
- [2026-02-20T04:17:41Z] test: `bun run build` pass (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.js` pass (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 `bindMpvClientEventHandlers` into `src/main/runtime/mpv-main-event-bindings.ts` (`createBindMpvMainEventHandlersHandler`) + tests; rewired `main.ts` to dependency-only binder setup.
|
|
- [2026-02-20T04:32:30Z] progress: `src/main.ts` reduced to 2665 LOC.
|
|
- [2026-02-20T04:32:30Z] test: `bun run build` pass (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.js` pass (23/23).
|
|
- [2026-02-20T04:33:17Z] progress: extracted main MPV event binding orchestration from `src/main.ts` into `src/main/runtime/mpv-main-event-bindings.ts` (`createBindMpvMainEventHandlersHandler`) with unit tests in `src/main/runtime/mpv-main-event-bindings.test.ts`; rewired `main.ts` bind setup to dependency map.
|
|
- [2026-02-20T04:33:17Z] test: `bun run build` pass (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.js` pass (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; rewired `onWillQuitCleanupHandler` wiring in `src/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; rewired `buildInitializeOverlayRuntimeOptionsHandler` wiring in `src/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; rewired `buildCliCommandContextDepsHandler` wiring in `src/main.ts`.
|
|
- [2026-02-20T05:00:15Z] progress: `src/main.ts` reduced to 2617 LOC.
|
|
- [2026-02-20T05:00:15Z] test: `bun run build` pass (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.js` pass (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; rewired `createMpvClientRuntimeService` in `src/main.ts` to use builder before `createMpvClientRuntimeServiceFactory`.
|
|
- [2026-02-20T05:01:42Z] progress: `src/main.ts` currently 2618 LOC.
|
|
- [2026-02-20T05:01:42Z] test: `bun run build` pass (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.js` pass (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; rewired `createOverlayWindowHandler`, `createMainWindowHandler`, and `createInvisibleWindowHandler` wiring in `src/main.ts`.
|
|
- [2026-02-20T05:06:04Z] test: `bun run build` pass (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.js` pass (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`); rewired `ensureTray`, `destroyTray`, `initializeOverlayRuntime`, and `openYomitanSettings` to thin handlers in `src/main.ts`.
|
|
- [2026-02-20T05:10:14Z] progress: `src/main.ts` currently 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 build` pass (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.js` pass (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 in `src/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 rewired `appendToMpvLogHandler` + `showMpvOsdHandler` setup in `src/main.ts`.
|
|
- [2026-02-20T05:12:29Z] progress: `src/main.ts` currently 2672 LOC after this slice (net increase from imports and explicit deps builders).
|
|
- [2026-02-20T05:12:29Z] test: initial `bun run build` failed with type mismatch in `global-shortcuts-main-deps` (`unknown` options type); fixed by tightening to `RegisterGlobalShortcutsServiceOptions`.
|
|
- [2026-02-20T05:12:29Z] test: `bun run build` pass (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.js` pass (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 rewired `shouldRestoreWindowsOnActivateHandler` + `restoreWindowsOnActivateHandler` setup in `src/main.ts`.
|
|
- [2026-02-20T05:15:40Z] progress: extracted initial-args deps assembly into `src/main/runtime/initial-args-main-deps.ts` (`createBuildHandleInitialArgsMainDepsHandler`) and rewired `handleInitialArgs` setup in `src/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 rewired `bindMpvClientEventHandlers` setup in `src/main.ts`.
|
|
- [2026-02-20T05:15:40Z] progress: `src/main.ts` currently 2653 LOC after this slice.
|
|
- [2026-02-20T05:15:40Z] test: `bun run build` pass (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.js` pass (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 rewired `tokenizeSubtitle`, `createMecabTokenizerAndCheck`, and `prewarmSubtitleDictionaries` in `src/main.ts`.
|
|
- [2026-02-20T05:31:05Z] progress: extracted `cycleSecondarySubMode` deps assembly into `src/main/runtime/secondary-sub-mode-main-deps.ts` (`createBuildCycleSecondarySubModeMainDepsHandler`) and rewired `cycleSecondarySubMode` in `src/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.ts` currently 2664 LOC after this slice.
|
|
- [2026-02-20T05:31:05Z] test: `bun run build` pass (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.js` pass (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 corresponding `main.ts` functions to thin delegations.
|
|
- [2026-02-20T05:49:13Z] progress: while adding tests, corrected strict typing to import `OverlayHostedModal` from `src/main/overlay-runtime.ts` and aligned `RuntimeOptionState` fixture shape.
|
|
- [2026-02-20T05:49:13Z] progress: `src/main.ts` currently 2696 LOC after this slice.
|
|
- [2026-02-20T05:49:13Z] test: `bun run build` pass (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.js` pass (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 rewired `getResolvedJellyfinConfig` + `getJellyfinClientInfo` in `src/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.ts` currently 2702 LOC after this slice.
|
|
- [2026-02-20T05:50:43Z] test: `bun run build` pass (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.js` pass (14/14).
|
|
- [2026-02-20T06:52:54Z] progress: extracted startup config handler deps assembly into `src/main/runtime/startup-config-main-deps.ts` and rewired `reloadConfigHandler` + `criticalConfigErrorHandler` setup in `src/main.ts`.
|
|
- [2026-02-20T06:52:54Z] progress: extracted app-ready runner deps assembly into `src/main/runtime/app-ready-main-deps.ts` and lifted nested `createAppReadyRuntimeRunner(...)` input block to `appReadyRuntimeRunner` constant in `src/main.ts`.
|
|
- [2026-02-20T06:52:54Z] progress: extracted app-lifecycle runner deps assembly into `src/main/runtime/startup-lifecycle-main-deps.ts` and lifted lifecycle runner wiring to `appLifecycleRuntimeRunner` constant in `src/main.ts`.
|
|
- [2026-02-20T06:52:54Z] progress: extracted startup bootstrap deps assembly into `src/main/runtime/startup-bootstrap-main-deps.ts` and rewired `buildStartupBootstrapRuntimeFactoryDepsHandler` to compose through the new builder.
|
|
- [2026-02-20T06:52:54Z] progress: `src/main.ts` currently 2723 LOC after this slice.
|
|
- [2026-02-20T06:52:54Z] test: `bun run build` pass (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.js` pass (21/21).
|
|
- [2026-02-20T06:56:20Z] progress: extracted CLI precheck deps assembly into `src/main/runtime/cli-command-prechecks-main-deps.ts` and rewired `handleCliCommand` to use a prebuilt `handleTexthookerOnlyModeTransitionHandler`.
|
|
- [2026-02-20T06:56:20Z] progress: extracted field-grouping resolver state wrappers into `src/main/runtime/field-grouping-resolver.ts` and rewired `getFieldGroupingResolver` + `setFieldGroupingResolver` in `src/main.ts`.
|
|
- [2026-02-20T06:56:20Z] progress: extracted `applyJellyfinMpvDefaults` and `getDefaultSocketPath` wrappers into `src/main/runtime/mpv-jellyfin-defaults.ts`; rewired both `main.ts` helper functions to thin handler delegates.
|
|
- [2026-02-20T06:56:20Z] progress: `src/main.ts` currently 2742 LOC after this slice.
|
|
- [2026-02-20T06:56:20Z] test: `bun run build` pass (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.js` pass (11/11).
|
|
- [2026-02-20T07:12:59Z] progress: extracted field-grouping overlay deps assembly into `src/main/runtime/field-grouping-overlay-main-deps.ts` and rewired `createFieldGroupingOverlayRuntime` setup in `src/main.ts` to use builder output.
|
|
- [2026-02-20T07:12:59Z] progress: resolved strict typing mismatch by parameterizing builder choice type and binding it to `KikuFieldGroupingChoice` in `main.ts`.
|
|
- [2026-02-20T07:12:59Z] progress: `src/main.ts` currently 2747 LOC after this slice.
|
|
- [2026-02-20T07:12:59Z] test: `bun run build` pass (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.js` pass (6/6).
|
|
- [2026-02-20T07:14:28Z] progress: extracted media runtime deps assembly into `src/main/runtime/media-runtime-main-deps.ts` and rewired `createMediaRuntimeService` setup in `src/main.ts` through the builder.
|
|
- [2026-02-20T07:14:28Z] progress: `src/main.ts` currently 2750 LOC after this slice.
|
|
- [2026-02-20T07:14:28Z] test: `bun run build` pass (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.js` pass (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.ts` and rewired `createOverlayVisibilityRuntimeService` setup in `src/main.ts` through the builder.
|
|
- [2026-02-20T07:16:22Z] progress: `src/main.ts` currently 2753 LOC after this slice.
|
|
- [2026-02-20T07:16:22Z] test: `bun run build` pass (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.js` pass (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`; rewired `createJlptDictionaryRuntimeService` + `createFrequencyDictionaryRuntimeService` setup in `src/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.ts` currently 2747 LOC after this slice.
|
|
- [2026-02-20T07:25:54Z] test: `bun run build` pass (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.js` pass (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.ts` and rewired `createOverlayShortcutsRuntimeService` setup in `src/main.ts` through the builder.
|
|
- [2026-02-20T07:27:15Z] progress: `src/main.ts` currently 2750 LOC after this slice.
|
|
- [2026-02-20T07:27:15Z] test: `bun run build` pass (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.js` pass (5/5).
|
|
- [2026-02-20T08:39:19Z] progress: extracted setup-window dependency assembly from `src/main.ts` into `src/main/runtime/anilist-setup-window-main-deps.ts` and `src/main/runtime/jellyfin-setup-window-main-deps.ts`; rewired `openAnilistSetupWindow` + `openJellyfinSetupWindow` to builder-backed handlers.
|
|
- [2026-02-20T08:39:19Z] progress: added builder mapping tests in `src/main/runtime/anilist-setup-window-main-deps.test.ts` and `src/main/runtime/jellyfin-setup-window-main-deps.test.ts`.
|
|
- [2026-02-20T08:39:19Z] test: `bun run build` pass (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.js` pass.
|
|
- [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`; rewired `main.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 in `main.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 build` pass (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.js` pass.
|
|
- [2026-02-20T08:52:08Z] progress: extracted overlay visibility/main action and IPC-bridge dependency assembly from `main.ts` into 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.ts` handler setup for `set/toggle overlay`, `appendClipboardVideoToQueue`, `handleMpvCommandFromIpc`, and `runSubsyncManualFromIpc` to 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 build` pass (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.js` pass.
|
|
- [2026-02-20T08:54:17Z] progress: extracted numeric shortcut and overlay-shortcuts lifecycle dependency assembly into `numeric-shortcut-session-main-deps.ts` and `overlay-shortcuts-lifecycle-main-deps.ts`; rewired corresponding `main.ts` setup 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 in `main.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 build` pass (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.js` pass.
|
|
- [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.ts` mapping coverage.
|
|
- [2026-02-20T08:55:21Z] test: `bun run build` pass (expected macOS helper Swift cache fallback) + `node --test dist/main/runtime/startup-warmups-main-deps.test.js dist/main/runtime/startup-warmups.test.js` pass.
|
|
- [2026-02-20T08:56:46Z] progress: extracted MPV IPC command dependency assembly into `src/main/runtime/ipc-mpv-command-main-deps.ts` and rewired `main.ts` IPC bridge setup to compose through `buildMpvCommandFromIpcRuntimeMainDepsHandler`.
|
|
- [2026-02-20T08:56:46Z] progress: added `src/main/runtime/ipc-mpv-command-main-deps.test.ts` mapping coverage.
|
|
- [2026-02-20T08:56:46Z] test: `bun run build` pass (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.js` pass.
|
|
- [2026-02-20T09:00:14Z] progress: post-push slice extracted `playJellyfinItemInMpv` dependency assembly into `src/main/runtime/jellyfin-playback-launch-main-deps.ts` and rewired `main.ts` playback handler construction.
|
|
- [2026-02-20T09:00:14Z] progress: added `src/main/runtime/jellyfin-playback-launch-main-deps.test.ts` mapping coverage.
|
|
- [2026-02-20T09:00:14Z] test: `bun run build` pass (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.js` pass.
|
|
- [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 rewired `main.ts`.
|
|
- [2026-02-20T09:10:53Z] progress: extracted MPV subtitle render metrics dependency assembly into `mpv-subtitle-render-metrics-main-deps.ts` and rewired `main.ts` update runtime setup.
|
|
- [2026-02-20T09:10:53Z] progress: added mapping tests `config-hot-reload-main-deps.test.ts` (new cases) and `mpv-subtitle-render-metrics-main-deps.test.ts`.
|
|
- [2026-02-20T09:10:53Z] test: `bun run build` pass (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.js` pass.
|
|
- [2026-02-20T09:14:06Z] progress: extracted numeric shortcut runtime option assembly into `src/main/runtime/numeric-shortcut-runtime-main-deps.ts` and rewired `createNumericShortcutRuntime` setup in `main.ts`.
|
|
- [2026-02-20T09:14:06Z] progress: added `src/main/runtime/numeric-shortcut-runtime-main-deps.test.ts` mapping coverage.
|
|
- [2026-02-20T09:14:06Z] test: `bun run build` pass (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.js` pass.
|
|
- [2026-02-20T09:16:42Z] progress: extracted immersion tracker startup dependency assembly into `src/main/runtime/immersion-startup-main-deps.ts` and rewired app-ready startup wiring in `main.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`; added `mpv-subtitle-render-metrics-main-deps.ts`.
|
|
- [2026-02-20T09:16:42Z] progress: normalized `handleInitialArgs` setup to prebuilt builder-backed handler (`buildHandleInitialArgsMainDepsHandler` + `handleInitialArgsRuntimeHandler`) to reduce repeated construction.
|
|
- [2026-02-20T09:16:42Z] test: `bun run build` pass (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.ts` by 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`, and `mpv-subtitle-render-metrics-main-deps`; extended `config-hot-reload-main-deps` with watcher/message builders.
|
|
- [2026-02-20T09:30:02Z] test: `bun run build` pass (expected macOS helper Swift cache fallback) + targeted suites pass for `global-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 build` pass (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.ts` for lifecycle/startup wiring: prebuilt deps handlers for `onWillQuitCleanup`, `shouldRestoreWindowsOnActivate`, `restoreWindowsOnActivate`, `reloadConfig`, and `criticalConfigError`.
|
|
- [2026-02-20T09:33:19Z] test: `bun run build` pass (expected macOS helper Swift cache fallback) + targeted suites pass for `app-lifecycle-main-cleanup`, `app-lifecycle-main-activate`, `startup-config-main-deps`, and `startup-config`.
|
|
- [2026-02-20T09:35:02Z] progress: extracted protocol URL registration dependency assembly to `protocol-url-handlers-main-deps.ts` and rewired main protocol registration call through builder.
|
|
- [2026-02-20T09:35:02Z] progress: normalized `cycleSecondarySubMode` to use prebuilt deps builder constant (avoids per-call rebuild).
|
|
- [2026-02-20T09:35:02Z] test: `bun run build` pass (expected macOS helper Swift cache fallback) + `protocol-url-handlers*` and `secondary-sub-mode-main-deps` tests pass.
|
|
- [2026-02-20T09:35:02Z] progress: prebuilt setup-window focus handlers (`maybeFocusExistingAnilistSetupWindow`, `maybeFocusExistingJellyfinSetupWindow`) and injected them into corresponding main deps builders in `main.ts`.
|
|
- [2026-02-20T09:35:02Z] test: `bun run build` pass (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.ts` by prebuilding finalized deps objects before handler creation for `getConfiguredShortcuts`, `registerGlobalShortcuts`, `refreshGlobalAndOverlayShortcuts`, `appendToMpvLog`, and `showMpvOsd`.
|
|
- [2026-02-20T09:37:12Z] test: `bun run build` pass (expected macOS helper Swift cache fallback) + targeted suites pass for `global-shortcuts*` and `mpv-osd-log*`.
|