mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-27 18:22:41 -08:00
refactor: prebuild more overlay and jellyfin runtime deps
This commit is contained in:
@@ -6,7 +6,7 @@ Read first. Keep concise.
|
|||||||
| ------------ | -------------- | ---------------------------------------------------- | --------- | ------------------------------------- | ---------------------- |
|
| ------------ | -------------- | ---------------------------------------------------- | --------- | ------------------------------------- | ---------------------- |
|
||||||
| `codex-generate-minecard-image-20260220T112900Z-vsxr` | `codex-generate-minecard-image` | `Generate media fallbacks (GIF) from assets/minecard.webm and wire README/docs fallback markup` | `done` | `docs/subagents/agents/codex-generate-minecard-image-20260220T112900Z-vsxr.md` | `2026-02-20T11:35:30Z` |
|
| `codex-generate-minecard-image-20260220T112900Z-vsxr` | `codex-generate-minecard-image` | `Generate media fallbacks (GIF) from assets/minecard.webm and wire README/docs fallback markup` | `done` | `docs/subagents/agents/codex-generate-minecard-image-20260220T112900Z-vsxr.md` | `2026-02-20T11:35:30Z` |
|
||||||
| `codex-main` | `planner-exec` | `Fix frequency/N+1 regression in plugin --start flow` | `in_progress` | `docs/subagents/agents/codex-main.md` | `2026-02-19T19:36:46Z` |
|
| `codex-main` | `planner-exec` | `Fix frequency/N+1 regression in plugin --start flow` | `in_progress` | `docs/subagents/agents/codex-main.md` | `2026-02-19T19:36:46Z` |
|
||||||
| `codex-task85-20260219T233711Z-46hc` | `codex-task85` | `Resume TASK-85 maintainability refactor from latest handoff point` | `in_progress` | `docs/subagents/agents/codex-task85-20260219T233711Z-46hc.md` | `2026-02-20T09:46:08Z` |
|
| `codex-task85-20260219T233711Z-46hc` | `codex-task85` | `Resume TASK-85 maintainability refactor from latest handoff point` | `in_progress` | `docs/subagents/agents/codex-task85-20260219T233711Z-46hc.md` | `2026-02-20T09:47:23Z` |
|
||||||
| `codex-config-validation-20260219T172015Z-iiyf` | `codex-config-validation` | `Find root cause of config validation error for ~/.config/SubMiner/config.jsonc` | `completed` | `docs/subagents/agents/codex-config-validation-20260219T172015Z-iiyf.md` | `2026-02-19T17:26:17Z` |
|
| `codex-config-validation-20260219T172015Z-iiyf` | `codex-config-validation` | `Find root cause of config validation error for ~/.config/SubMiner/config.jsonc` | `completed` | `docs/subagents/agents/codex-config-validation-20260219T172015Z-iiyf.md` | `2026-02-19T17:26:17Z` |
|
||||||
| `codex-task85-20260219T233711Z-46hc` | `codex-task85` | `Resume TASK-85 maintainability refactor from latest handoff point` | `in_progress` | `docs/subagents/agents/codex-task85-20260219T233711Z-46hc.md` | `2026-02-20T02:56:34Z` |
|
| `codex-task85-20260219T233711Z-46hc` | `codex-task85` | `Resume TASK-85 maintainability refactor from latest handoff point` | `in_progress` | `docs/subagents/agents/codex-task85-20260219T233711Z-46hc.md` | `2026-02-20T02:56:34Z` |
|
||||||
| `codex-anilist-deeplink-20260219T233926Z` | `anilist-deeplink` | `Fix external subminer:// AniList callback handling from browser` | `done` | `docs/subagents/agents/codex-anilist-deeplink-20260219T233926Z.md` | `2026-02-19T23:59:21Z` |
|
| `codex-anilist-deeplink-20260219T233926Z` | `anilist-deeplink` | `Fix external subminer:// AniList callback handling from browser` | `done` | `docs/subagents/agents/codex-anilist-deeplink-20260219T233926Z.md` | `2026-02-19T23:59:21Z` |
|
||||||
|
|||||||
@@ -9,6 +9,9 @@
|
|||||||
|
|
||||||
## Current Work (newest first)
|
## Current Work (newest first)
|
||||||
|
|
||||||
|
- [2026-02-20T09:47:23Z] progress: completed another 2-slice safe batch in `src/main.ts` (10 normalized sites) by prebuilding finalized deps for overlay/jellyfin-config handlers and Jellyfin MPV launch/preload/playback handlers.
|
||||||
|
- [2026-02-20T09:47:23Z] test: `bun run build` pass (expected macOS helper Swift cache fallback) + targeted suites pass for `overlay-runtime-options*`, `jellyfin-client-info*`, `jellyfin-remote-connection*`, `jellyfin-subtitle-preload*`, and `jellyfin-playback-launch*` (20/20).
|
||||||
|
- [2026-02-20T09:47:23Z] scope: commit will include only `src/main.ts` plus subagent bookkeeping updates; unrelated working tree noise remains excluded.
|
||||||
- [2026-02-20T09:46:08Z] progress: completed 2 more safe slices (10 normalized handler sites) in `src/main.ts` by prebuilding finalized deps for Jellyfin remote command/progress handlers plus field-grouping/runtime-options handlers.
|
- [2026-02-20T09:46:08Z] progress: completed 2 more safe slices (10 normalized handler sites) in `src/main.ts` by prebuilding finalized deps for Jellyfin remote command/progress handlers plus field-grouping/runtime-options handlers.
|
||||||
- [2026-02-20T09:46:08Z] test: `bun run build` pass (expected macOS helper Swift cache fallback) + targeted suites pass for `jellyfin-remote-*`, `field-grouping-resolver*`, `overlay-runtime-options*`, and `secondary-sub-mode-main-deps` (26/26).
|
- [2026-02-20T09:46:08Z] test: `bun run build` pass (expected macOS helper Swift cache fallback) + targeted suites pass for `jellyfin-remote-*`, `field-grouping-resolver*`, `overlay-runtime-options*`, and `secondary-sub-mode-main-deps` (26/26).
|
||||||
- [2026-02-20T09:46:08Z] scope: staging only `src/main.ts` + subagent index/agent files; leaving unrelated tracked/untracked artifacts untouched.
|
- [2026-02-20T09:46:08Z] scope: staging only `src/main.ts` + subagent index/agent files; leaving unrelated tracked/untracked artifacts untouched.
|
||||||
|
|||||||
38
src/main.ts
38
src/main.ts
@@ -1203,8 +1203,10 @@ const buildSendToActiveOverlayWindowMainDepsHandler =
|
|||||||
sendToActiveOverlayWindowRuntime: (channel, payload, runtimeOptions) =>
|
sendToActiveOverlayWindowRuntime: (channel, payload, runtimeOptions) =>
|
||||||
overlayModalRuntime.sendToActiveOverlayWindow(channel, payload, runtimeOptions),
|
overlayModalRuntime.sendToActiveOverlayWindow(channel, payload, runtimeOptions),
|
||||||
});
|
});
|
||||||
|
const sendToActiveOverlayWindowMainDeps =
|
||||||
|
buildSendToActiveOverlayWindowMainDepsHandler();
|
||||||
const sendToActiveOverlayWindowHandler = createSendToActiveOverlayWindowHandler(
|
const sendToActiveOverlayWindowHandler = createSendToActiveOverlayWindowHandler(
|
||||||
buildSendToActiveOverlayWindowMainDepsHandler(),
|
sendToActiveOverlayWindowMainDeps,
|
||||||
);
|
);
|
||||||
|
|
||||||
function sendToActiveOverlayWindow(
|
function sendToActiveOverlayWindow(
|
||||||
@@ -1224,8 +1226,10 @@ const buildSetOverlayDebugVisualizationEnabledMainDepsHandler =
|
|||||||
},
|
},
|
||||||
broadcastToOverlayWindows: (channel, ...args) => broadcastToOverlayWindows(channel, ...args),
|
broadcastToOverlayWindows: (channel, ...args) => broadcastToOverlayWindows(channel, ...args),
|
||||||
});
|
});
|
||||||
|
const setOverlayDebugVisualizationEnabledMainDeps =
|
||||||
|
buildSetOverlayDebugVisualizationEnabledMainDepsHandler();
|
||||||
const setOverlayDebugVisualizationEnabledHandler = createSetOverlayDebugVisualizationEnabledHandler(
|
const setOverlayDebugVisualizationEnabledHandler = createSetOverlayDebugVisualizationEnabledHandler(
|
||||||
buildSetOverlayDebugVisualizationEnabledMainDepsHandler(),
|
setOverlayDebugVisualizationEnabledMainDeps,
|
||||||
);
|
);
|
||||||
|
|
||||||
function setOverlayDebugVisualizationEnabled(enabled: boolean): void {
|
function setOverlayDebugVisualizationEnabled(enabled: boolean): void {
|
||||||
@@ -1236,8 +1240,10 @@ const buildOpenRuntimeOptionsPaletteMainDepsHandler =
|
|||||||
createBuildOpenRuntimeOptionsPaletteMainDepsHandler({
|
createBuildOpenRuntimeOptionsPaletteMainDepsHandler({
|
||||||
openRuntimeOptionsPaletteRuntime: () => overlayModalRuntime.openRuntimeOptionsPalette(),
|
openRuntimeOptionsPaletteRuntime: () => overlayModalRuntime.openRuntimeOptionsPalette(),
|
||||||
});
|
});
|
||||||
|
const openRuntimeOptionsPaletteMainDeps =
|
||||||
|
buildOpenRuntimeOptionsPaletteMainDepsHandler();
|
||||||
const openRuntimeOptionsPaletteHandler = createOpenRuntimeOptionsPaletteHandler(
|
const openRuntimeOptionsPaletteHandler = createOpenRuntimeOptionsPaletteHandler(
|
||||||
buildOpenRuntimeOptionsPaletteMainDepsHandler(),
|
openRuntimeOptionsPaletteMainDeps,
|
||||||
);
|
);
|
||||||
|
|
||||||
function openRuntimeOptionsPalette(): void {
|
function openRuntimeOptionsPalette(): void {
|
||||||
@@ -1253,8 +1259,10 @@ const buildGetResolvedJellyfinConfigMainDepsHandler =
|
|||||||
getResolvedConfig: () => getResolvedConfig(),
|
getResolvedConfig: () => getResolvedConfig(),
|
||||||
loadStoredToken: () => jellyfinTokenStore.loadToken(),
|
loadStoredToken: () => jellyfinTokenStore.loadToken(),
|
||||||
});
|
});
|
||||||
|
const getResolvedJellyfinConfigMainDeps =
|
||||||
|
buildGetResolvedJellyfinConfigMainDepsHandler();
|
||||||
const getResolvedJellyfinConfigHandler = createGetResolvedJellyfinConfigHandler(
|
const getResolvedJellyfinConfigHandler = createGetResolvedJellyfinConfigHandler(
|
||||||
buildGetResolvedJellyfinConfigMainDepsHandler(),
|
getResolvedJellyfinConfigMainDeps,
|
||||||
);
|
);
|
||||||
|
|
||||||
function getResolvedJellyfinConfig() {
|
function getResolvedJellyfinConfig() {
|
||||||
@@ -1265,8 +1273,10 @@ const buildGetJellyfinClientInfoMainDepsHandler = createBuildGetJellyfinClientIn
|
|||||||
getResolvedJellyfinConfig: () => getResolvedJellyfinConfig(),
|
getResolvedJellyfinConfig: () => getResolvedJellyfinConfig(),
|
||||||
getDefaultJellyfinConfig: () => DEFAULT_CONFIG.jellyfin,
|
getDefaultJellyfinConfig: () => DEFAULT_CONFIG.jellyfin,
|
||||||
});
|
});
|
||||||
|
const getJellyfinClientInfoMainDeps =
|
||||||
|
buildGetJellyfinClientInfoMainDepsHandler();
|
||||||
const getJellyfinClientInfoHandler = createGetJellyfinClientInfoHandler(
|
const getJellyfinClientInfoHandler = createGetJellyfinClientInfoHandler(
|
||||||
buildGetJellyfinClientInfoMainDepsHandler(),
|
getJellyfinClientInfoMainDeps,
|
||||||
);
|
);
|
||||||
|
|
||||||
function getJellyfinClientInfo(config = getResolvedJellyfinConfig()) {
|
function getJellyfinClientInfo(config = getResolvedJellyfinConfig()) {
|
||||||
@@ -1278,8 +1288,9 @@ const buildWaitForMpvConnectedMainDepsHandler = createBuildWaitForMpvConnectedMa
|
|||||||
now: () => Date.now(),
|
now: () => Date.now(),
|
||||||
sleep: (delayMs) => new Promise((resolve) => setTimeout(resolve, delayMs)),
|
sleep: (delayMs) => new Promise((resolve) => setTimeout(resolve, delayMs)),
|
||||||
});
|
});
|
||||||
|
const waitForMpvConnectedMainDeps = buildWaitForMpvConnectedMainDepsHandler();
|
||||||
const waitForMpvConnected = createWaitForMpvConnectedHandler(
|
const waitForMpvConnected = createWaitForMpvConnectedHandler(
|
||||||
buildWaitForMpvConnectedMainDepsHandler(),
|
waitForMpvConnectedMainDeps,
|
||||||
);
|
);
|
||||||
|
|
||||||
const buildLaunchMpvIdleForJellyfinPlaybackMainDepsHandler =
|
const buildLaunchMpvIdleForJellyfinPlaybackMainDepsHandler =
|
||||||
@@ -1300,8 +1311,10 @@ const buildLaunchMpvIdleForJellyfinPlaybackMainDepsHandler =
|
|||||||
logWarn: (message, error) => logger.warn(message, error),
|
logWarn: (message, error) => logger.warn(message, error),
|
||||||
logInfo: (message) => logger.info(message),
|
logInfo: (message) => logger.info(message),
|
||||||
});
|
});
|
||||||
|
const launchMpvIdleForJellyfinPlaybackMainDeps =
|
||||||
|
buildLaunchMpvIdleForJellyfinPlaybackMainDepsHandler();
|
||||||
const launchMpvIdleForJellyfinPlayback = createLaunchMpvIdleForJellyfinPlaybackHandler(
|
const launchMpvIdleForJellyfinPlayback = createLaunchMpvIdleForJellyfinPlaybackHandler(
|
||||||
buildLaunchMpvIdleForJellyfinPlaybackMainDepsHandler(),
|
launchMpvIdleForJellyfinPlaybackMainDeps,
|
||||||
);
|
);
|
||||||
|
|
||||||
const buildEnsureMpvConnectedForJellyfinPlaybackMainDepsHandler =
|
const buildEnsureMpvConnectedForJellyfinPlaybackMainDepsHandler =
|
||||||
@@ -1320,8 +1333,10 @@ const buildEnsureMpvConnectedForJellyfinPlaybackMainDepsHandler =
|
|||||||
connectTimeoutMs: JELLYFIN_MPV_CONNECT_TIMEOUT_MS,
|
connectTimeoutMs: JELLYFIN_MPV_CONNECT_TIMEOUT_MS,
|
||||||
autoLaunchTimeoutMs: JELLYFIN_MPV_AUTO_LAUNCH_TIMEOUT_MS,
|
autoLaunchTimeoutMs: JELLYFIN_MPV_AUTO_LAUNCH_TIMEOUT_MS,
|
||||||
});
|
});
|
||||||
|
const ensureMpvConnectedForJellyfinPlaybackMainDeps =
|
||||||
|
buildEnsureMpvConnectedForJellyfinPlaybackMainDepsHandler();
|
||||||
const ensureMpvConnectedForJellyfinPlayback = createEnsureMpvConnectedForJellyfinPlaybackHandler(
|
const ensureMpvConnectedForJellyfinPlayback = createEnsureMpvConnectedForJellyfinPlaybackHandler(
|
||||||
buildEnsureMpvConnectedForJellyfinPlaybackMainDepsHandler(),
|
ensureMpvConnectedForJellyfinPlaybackMainDeps,
|
||||||
);
|
);
|
||||||
|
|
||||||
const buildPreloadJellyfinExternalSubtitlesMainDepsHandler =
|
const buildPreloadJellyfinExternalSubtitlesMainDepsHandler =
|
||||||
@@ -1337,8 +1352,10 @@ const buildPreloadJellyfinExternalSubtitlesMainDepsHandler =
|
|||||||
logger.debug(message, error);
|
logger.debug(message, error);
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
const preloadJellyfinExternalSubtitlesMainDeps =
|
||||||
|
buildPreloadJellyfinExternalSubtitlesMainDepsHandler();
|
||||||
const preloadJellyfinExternalSubtitles = createPreloadJellyfinExternalSubtitlesHandler(
|
const preloadJellyfinExternalSubtitles = createPreloadJellyfinExternalSubtitlesHandler(
|
||||||
buildPreloadJellyfinExternalSubtitlesMainDepsHandler(),
|
preloadJellyfinExternalSubtitlesMainDeps,
|
||||||
);
|
);
|
||||||
|
|
||||||
const buildPlayJellyfinItemInMpvMainDepsHandler = createBuildPlayJellyfinItemInMpvMainDepsHandler({
|
const buildPlayJellyfinItemInMpvMainDepsHandler = createBuildPlayJellyfinItemInMpvMainDepsHandler({
|
||||||
@@ -1384,8 +1401,9 @@ const buildPlayJellyfinItemInMpvMainDepsHandler = createBuildPlayJellyfinItemInM
|
|||||||
showMpvOsd(text);
|
showMpvOsd(text);
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
const playJellyfinItemInMpvMainDeps = buildPlayJellyfinItemInMpvMainDepsHandler();
|
||||||
const playJellyfinItemInMpv = createPlayJellyfinItemInMpvHandler(
|
const playJellyfinItemInMpv = createPlayJellyfinItemInMpvHandler(
|
||||||
buildPlayJellyfinItemInMpvMainDepsHandler(),
|
playJellyfinItemInMpvMainDeps,
|
||||||
);
|
);
|
||||||
|
|
||||||
const buildHandleJellyfinAuthCommandsMainDepsHandler =
|
const buildHandleJellyfinAuthCommandsMainDepsHandler =
|
||||||
|
|||||||
Reference in New Issue
Block a user