mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-04-01 06:12:07 -07:00
- Thread `openPlaylistBrowser` action into `IpcRuntimeBootstrapInput` - Pass `playlistBrowserMainDeps` through bootstrap into `createIpcRuntime` - Add playlist-browser mock deps to ipc-runtime tests - Bump subminer-yomitan submodule
1.9 KiB
1.9 KiB
id, title, status, assignee, created_date, updated_date, labels, dependencies, references, parent_task_id, priority
| id | title | status | assignee | created_date | updated_date | labels | dependencies | references | parent_task_id | priority | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TASK-238.8 | Refactor src/main.ts composition root into domain runtimes | In Progress | 2026-03-31 06:28 | 2026-04-01 07:07 |
|
|
TASK-238 | high |
Description
Refactor src/main.ts so it becomes a thin composition root and the domain-specific runtime wiring moves into short wrapper modules under src/main/. Preserve all current behavior, IPC contracts, and config/schema semantics while reducing the entrypoint to boot services, grouped runtime instantiation, startup execution, and process-level quit handling.
Acceptance Criteria
- #1
src/main.tsis bootstrap/composition only: platform preflight, boot services, runtime creation, startup execution, and top-level quit/signal handling. - #2
src/main.tsno longer importssrc/main/runtime/*-main-deps.tsdirectly. - #3
src/main.tshas no local names likebuild*MainDepsHandler,*MainDeps, or trivial*Handlerpass-through wrappers. - #4 New wrapper files stay under ~500 LOC each; if one exceeds that, split before merge.
- #5 Cross-domain coordination stays in
main.ts; wrapper modules stay acyclic and communicate via injected callbacks. - #6 No user-facing behavior, config fields, or IPC channel names change.
Implementation Notes
CI follow-up: typecheck failed after the runtime split because playlist-browser IPC deps were not threaded through the new bootstrap/composer surfaces. Wiring the missing open action and registration deps now.