diff --git a/docs/subagents/agents/codex-task85-20260219T233711Z-46hc.md b/docs/subagents/agents/codex-task85-20260219T233711Z-46hc.md index d42ed3a..3193688 100644 --- a/docs/subagents/agents/codex-task85-20260219T233711Z-46hc.md +++ b/docs/subagents/agents/codex-task85-20260219T233711Z-46hc.md @@ -409,3 +409,5 @@ - [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`. diff --git a/src/main.ts b/src/main.ts index 5e0269b..7281262 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1909,8 +1909,7 @@ registerProtocolUrlHandlers({ }, }); -const onWillQuitCleanupHandler = createOnWillQuitCleanupHandler( - createBuildOnWillQuitCleanupDepsHandler({ +const buildOnWillQuitCleanupDepsHandler = createBuildOnWillQuitCleanupDepsHandler({ destroyTray: () => destroyTray(), stopConfigHotReload: () => configHotReloadRuntime.stop(), restorePreviousSecondarySubVisibility: () => restorePreviousSecondarySubVisibility(), @@ -1944,17 +1943,19 @@ const onWillQuitCleanupHandler = createOnWillQuitCleanupHandler( appState.jellyfinSetupWindow = null; }, stopJellyfinRemoteSession: () => stopJellyfinRemoteSession(), - })(), -); + }); +const onWillQuitCleanupHandler = createOnWillQuitCleanupHandler(buildOnWillQuitCleanupDepsHandler()); -const shouldRestoreWindowsOnActivateHandler = createShouldRestoreWindowsOnActivateHandler( +const buildShouldRestoreWindowsOnActivateMainDepsHandler = createBuildShouldRestoreWindowsOnActivateMainDepsHandler({ isOverlayRuntimeInitialized: () => appState.overlayRuntimeInitialized, getAllWindowCount: () => BrowserWindow.getAllWindows().length, - })(), + }); +const shouldRestoreWindowsOnActivateHandler = createShouldRestoreWindowsOnActivateHandler( + buildShouldRestoreWindowsOnActivateMainDepsHandler(), ); -const restoreWindowsOnActivateHandler = createRestoreWindowsOnActivateHandler( +const buildRestoreWindowsOnActivateMainDepsHandler = createBuildRestoreWindowsOnActivateMainDepsHandler({ createMainWindow: () => { createMainWindow(); @@ -1968,11 +1969,12 @@ const restoreWindowsOnActivateHandler = createRestoreWindowsOnActivateHandler( updateInvisibleOverlayVisibility: () => { overlayVisibilityRuntime.updateInvisibleOverlayVisibility(); }, - })(), + }); +const restoreWindowsOnActivateHandler = createRestoreWindowsOnActivateHandler( + buildRestoreWindowsOnActivateMainDepsHandler(), ); -const reloadConfigHandler = createReloadConfigHandler( - createBuildReloadConfigMainDepsHandler({ +const buildReloadConfigMainDepsHandler = createBuildReloadConfigMainDepsHandler({ reloadConfigStrict: () => configService.reloadConfigStrict(), logInfo: (message) => appLogger.logInfo(message), logWarning: (message) => appLogger.logWarning(message), @@ -1984,18 +1986,19 @@ const reloadConfigHandler = createReloadConfigHandler( showErrorBox: (title, details) => dialog.showErrorBox(title, details), quit: () => app.quit(), }, - })(), -); + }); +const reloadConfigHandler = createReloadConfigHandler(buildReloadConfigMainDepsHandler()); -const criticalConfigErrorHandler = createCriticalConfigErrorHandler( - createBuildCriticalConfigErrorMainDepsHandler({ +const buildCriticalConfigErrorMainDepsHandler = createBuildCriticalConfigErrorMainDepsHandler({ getConfigPath: () => configService.getConfigPath(), failHandlers: { logError: (message) => logger.error(message), showErrorBox: (title, message) => dialog.showErrorBox(title, message), quit: () => app.quit(), }, - })(), + }); +const criticalConfigErrorHandler = createCriticalConfigErrorHandler( + buildCriticalConfigErrorMainDepsHandler(), ); const buildAppReadyRuntimeMainDepsHandler = createBuildAppReadyRuntimeMainDepsHandler({