mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-27 18:22:41 -08:00
refactor: prebuild more jellyfin and startup 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:47:23Z` |
|
| `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:48:39Z` |
|
||||||
| `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:48:39Z] progress: completed another 2-slice safe batch in `src/main.ts` (10 normalized sites) by prebuilding finalized deps for Jellyfin CLI/session handlers and startup warmup/overlay-bounds handlers.
|
||||||
|
- [2026-02-20T09:48:39Z] test: `bun run build` pass (expected macOS helper Swift cache fallback) + targeted suites pass for `jellyfin-cli-*`, `jellyfin-remote-session-lifecycle`, `startup-warmups*`, and `overlay-window-layout*` (29/29).
|
||||||
|
- [2026-02-20T09:48:39Z] scope: commit will include `src/main.ts` and subagent bookkeeping only; unrelated tracked/untracked files remain untouched.
|
||||||
- [2026-02-20T09:47:23Z] progress: completed another 2-slice safe batch in `src/main.ts` (10 normalized sites) by prebuilding finalized deps for overlay/jellyfin-config handlers and Jellyfin MPV launch/preload/playback handlers.
|
- [2026-02-20T09:47:23Z] 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] 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:47:23Z] scope: commit will include only `src/main.ts` plus subagent bookkeeping updates; unrelated working tree noise remains excluded.
|
||||||
|
|||||||
40
src/main.ts
40
src/main.ts
@@ -1417,8 +1417,10 @@ const buildHandleJellyfinAuthCommandsMainDepsHandler =
|
|||||||
clearStoredToken: () => jellyfinTokenStore.clearToken(),
|
clearStoredToken: () => jellyfinTokenStore.clearToken(),
|
||||||
logInfo: (message) => logger.info(message),
|
logInfo: (message) => logger.info(message),
|
||||||
});
|
});
|
||||||
|
const handleJellyfinAuthCommandsMainDeps =
|
||||||
|
buildHandleJellyfinAuthCommandsMainDepsHandler();
|
||||||
const handleJellyfinAuthCommands = createHandleJellyfinAuthCommands(
|
const handleJellyfinAuthCommands = createHandleJellyfinAuthCommands(
|
||||||
buildHandleJellyfinAuthCommandsMainDepsHandler(),
|
handleJellyfinAuthCommandsMainDeps,
|
||||||
);
|
);
|
||||||
|
|
||||||
const buildHandleJellyfinListCommandsMainDepsHandler =
|
const buildHandleJellyfinListCommandsMainDepsHandler =
|
||||||
@@ -1430,8 +1432,10 @@ const buildHandleJellyfinListCommandsMainDepsHandler =
|
|||||||
listJellyfinSubtitleTracksRuntime(session, clientInfo, itemId),
|
listJellyfinSubtitleTracksRuntime(session, clientInfo, itemId),
|
||||||
logInfo: (message) => logger.info(message),
|
logInfo: (message) => logger.info(message),
|
||||||
});
|
});
|
||||||
|
const handleJellyfinListCommandsMainDeps =
|
||||||
|
buildHandleJellyfinListCommandsMainDepsHandler();
|
||||||
const handleJellyfinListCommands = createHandleJellyfinListCommands(
|
const handleJellyfinListCommands = createHandleJellyfinListCommands(
|
||||||
buildHandleJellyfinListCommandsMainDepsHandler(),
|
handleJellyfinListCommandsMainDeps,
|
||||||
);
|
);
|
||||||
|
|
||||||
const buildHandleJellyfinPlayCommandMainDepsHandler = createBuildHandleJellyfinPlayCommandMainDepsHandler(
|
const buildHandleJellyfinPlayCommandMainDepsHandler = createBuildHandleJellyfinPlayCommandMainDepsHandler(
|
||||||
@@ -1441,8 +1445,10 @@ const buildHandleJellyfinPlayCommandMainDepsHandler = createBuildHandleJellyfinP
|
|||||||
logWarn: (message) => logger.warn(message),
|
logWarn: (message) => logger.warn(message),
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
const handleJellyfinPlayCommandMainDeps =
|
||||||
|
buildHandleJellyfinPlayCommandMainDepsHandler();
|
||||||
const handleJellyfinPlayCommand = createHandleJellyfinPlayCommand(
|
const handleJellyfinPlayCommand = createHandleJellyfinPlayCommand(
|
||||||
buildHandleJellyfinPlayCommandMainDepsHandler(),
|
handleJellyfinPlayCommandMainDeps,
|
||||||
);
|
);
|
||||||
|
|
||||||
const buildHandleJellyfinRemoteAnnounceCommandMainDepsHandler =
|
const buildHandleJellyfinRemoteAnnounceCommandMainDepsHandler =
|
||||||
@@ -1452,8 +1458,10 @@ const buildHandleJellyfinRemoteAnnounceCommandMainDepsHandler =
|
|||||||
logInfo: (message) => logger.info(message),
|
logInfo: (message) => logger.info(message),
|
||||||
logWarn: (message) => logger.warn(message),
|
logWarn: (message) => logger.warn(message),
|
||||||
});
|
});
|
||||||
|
const handleJellyfinRemoteAnnounceCommandMainDeps =
|
||||||
|
buildHandleJellyfinRemoteAnnounceCommandMainDepsHandler();
|
||||||
const handleJellyfinRemoteAnnounceCommand = createHandleJellyfinRemoteAnnounceCommand(
|
const handleJellyfinRemoteAnnounceCommand = createHandleJellyfinRemoteAnnounceCommand(
|
||||||
buildHandleJellyfinRemoteAnnounceCommandMainDepsHandler(),
|
handleJellyfinRemoteAnnounceCommandMainDeps,
|
||||||
);
|
);
|
||||||
|
|
||||||
const buildStartJellyfinRemoteSessionMainDepsHandler =
|
const buildStartJellyfinRemoteSessionMainDepsHandler =
|
||||||
@@ -1473,8 +1481,10 @@ const buildStartJellyfinRemoteSessionMainDepsHandler =
|
|||||||
logInfo: (message) => logger.info(message),
|
logInfo: (message) => logger.info(message),
|
||||||
logWarn: (message, details) => logger.warn(message, details),
|
logWarn: (message, details) => logger.warn(message, details),
|
||||||
});
|
});
|
||||||
|
const startJellyfinRemoteSessionMainDeps =
|
||||||
|
buildStartJellyfinRemoteSessionMainDepsHandler();
|
||||||
const startJellyfinRemoteSession = createStartJellyfinRemoteSessionHandler(
|
const startJellyfinRemoteSession = createStartJellyfinRemoteSessionHandler(
|
||||||
buildStartJellyfinRemoteSessionMainDepsHandler(),
|
startJellyfinRemoteSessionMainDeps,
|
||||||
);
|
);
|
||||||
|
|
||||||
const buildStopJellyfinRemoteSessionMainDepsHandler =
|
const buildStopJellyfinRemoteSessionMainDepsHandler =
|
||||||
@@ -2436,8 +2446,10 @@ const buildLaunchBackgroundWarmupTaskMainDepsHandler =
|
|||||||
logDebug: (message) => logger.debug(message),
|
logDebug: (message) => logger.debug(message),
|
||||||
logWarn: (message) => logger.warn(message),
|
logWarn: (message) => logger.warn(message),
|
||||||
});
|
});
|
||||||
|
const launchBackgroundWarmupTaskMainDeps =
|
||||||
|
buildLaunchBackgroundWarmupTaskMainDepsHandler();
|
||||||
const launchBackgroundWarmupTask = createLaunchBackgroundWarmupTaskHandler(
|
const launchBackgroundWarmupTask = createLaunchBackgroundWarmupTaskHandler(
|
||||||
buildLaunchBackgroundWarmupTaskMainDepsHandler(),
|
launchBackgroundWarmupTaskMainDeps,
|
||||||
);
|
);
|
||||||
|
|
||||||
const buildStartBackgroundWarmupsMainDepsHandler = createBuildStartBackgroundWarmupsMainDepsHandler(
|
const buildStartBackgroundWarmupsMainDepsHandler = createBuildStartBackgroundWarmupsMainDepsHandler(
|
||||||
@@ -2455,32 +2467,40 @@ const buildStartBackgroundWarmupsMainDepsHandler = createBuildStartBackgroundWar
|
|||||||
startJellyfinRemoteSession: () => startJellyfinRemoteSession(),
|
startJellyfinRemoteSession: () => startJellyfinRemoteSession(),
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
const startBackgroundWarmupsMainDeps =
|
||||||
|
buildStartBackgroundWarmupsMainDepsHandler();
|
||||||
const startBackgroundWarmups = createStartBackgroundWarmupsHandler(
|
const startBackgroundWarmups = createStartBackgroundWarmupsHandler(
|
||||||
buildStartBackgroundWarmupsMainDepsHandler(),
|
startBackgroundWarmupsMainDeps,
|
||||||
);
|
);
|
||||||
|
|
||||||
const buildUpdateVisibleOverlayBoundsMainDepsHandler =
|
const buildUpdateVisibleOverlayBoundsMainDepsHandler =
|
||||||
createBuildUpdateVisibleOverlayBoundsMainDepsHandler({
|
createBuildUpdateVisibleOverlayBoundsMainDepsHandler({
|
||||||
setOverlayWindowBounds: (layer, geometry) => overlayManager.setOverlayWindowBounds(layer, geometry),
|
setOverlayWindowBounds: (layer, geometry) => overlayManager.setOverlayWindowBounds(layer, geometry),
|
||||||
});
|
});
|
||||||
|
const updateVisibleOverlayBoundsMainDeps =
|
||||||
|
buildUpdateVisibleOverlayBoundsMainDepsHandler();
|
||||||
const updateVisibleOverlayBounds = createUpdateVisibleOverlayBoundsHandler(
|
const updateVisibleOverlayBounds = createUpdateVisibleOverlayBoundsHandler(
|
||||||
buildUpdateVisibleOverlayBoundsMainDepsHandler(),
|
updateVisibleOverlayBoundsMainDeps,
|
||||||
);
|
);
|
||||||
|
|
||||||
const buildUpdateInvisibleOverlayBoundsMainDepsHandler =
|
const buildUpdateInvisibleOverlayBoundsMainDepsHandler =
|
||||||
createBuildUpdateInvisibleOverlayBoundsMainDepsHandler({
|
createBuildUpdateInvisibleOverlayBoundsMainDepsHandler({
|
||||||
setOverlayWindowBounds: (layer, geometry) => overlayManager.setOverlayWindowBounds(layer, geometry),
|
setOverlayWindowBounds: (layer, geometry) => overlayManager.setOverlayWindowBounds(layer, geometry),
|
||||||
});
|
});
|
||||||
|
const updateInvisibleOverlayBoundsMainDeps =
|
||||||
|
buildUpdateInvisibleOverlayBoundsMainDepsHandler();
|
||||||
const updateInvisibleOverlayBounds = createUpdateInvisibleOverlayBoundsHandler(
|
const updateInvisibleOverlayBounds = createUpdateInvisibleOverlayBoundsHandler(
|
||||||
buildUpdateInvisibleOverlayBoundsMainDepsHandler(),
|
updateInvisibleOverlayBoundsMainDeps,
|
||||||
);
|
);
|
||||||
|
|
||||||
const buildEnsureOverlayWindowLevelMainDepsHandler =
|
const buildEnsureOverlayWindowLevelMainDepsHandler =
|
||||||
createBuildEnsureOverlayWindowLevelMainDepsHandler({
|
createBuildEnsureOverlayWindowLevelMainDepsHandler({
|
||||||
ensureOverlayWindowLevelCore: (window) => ensureOverlayWindowLevelCore(window as BrowserWindow),
|
ensureOverlayWindowLevelCore: (window) => ensureOverlayWindowLevelCore(window as BrowserWindow),
|
||||||
});
|
});
|
||||||
|
const ensureOverlayWindowLevelMainDeps =
|
||||||
|
buildEnsureOverlayWindowLevelMainDepsHandler();
|
||||||
const ensureOverlayWindowLevel = createEnsureOverlayWindowLevelHandler(
|
const ensureOverlayWindowLevel = createEnsureOverlayWindowLevelHandler(
|
||||||
buildEnsureOverlayWindowLevelMainDepsHandler(),
|
ensureOverlayWindowLevelMainDeps,
|
||||||
);
|
);
|
||||||
|
|
||||||
const buildEnforceOverlayLayerOrderMainDepsHandler =
|
const buildEnforceOverlayLayerOrderMainDepsHandler =
|
||||||
|
|||||||
Reference in New Issue
Block a user