mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-03-27 06:12:05 -07:00
- Track follow-up cleanup work in Backlog.md - Replace Date.now usage with shared nowMs helper - Add launcher args/parser and core regression tests
2.9 KiB
2.9 KiB
id, title, status, assignee, created_date, labels, milestone, dependencies, references, parent_task_id, priority
| id | title | status | assignee | created_date | labels | milestone | dependencies | references | parent_task_id | priority | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TASK-238.6 | Extract remaining inline runtime logic and composer gaps from src/main.ts | To Do | 2026-03-27 00:00 |
|
m-0 |
|
|
TASK-238 | high |
Description
src/main.ts still mixes two concerns: pure dependency wiring and inline runtime logic. The earlier composer extractions reduce the wiring burden, but the file still owns several substantial behavior blocks and a few large inline dependency groupings. This task tracks the next maintainability pass: move the remaining runtime logic into the appropriate domain modules, add missing composer wrappers for the biggest grouped handler blocks, and reassess whether a boot-phase split is still necessary after the entrypoint becomes mostly wiring.
Acceptance Criteria
- #1
runYoutubePlaybackFlow,maybeSignalPluginAutoplayReady,refreshSubtitlePrefetchFromActiveTrack,publishDiscordPresence, andhandleModalInputStateChangeno longer live as substantial inline logic insrc/main.ts. - #2 The large subtitle/prefetch, stats startup, and overlay visibility dependency groupings are wrapped behind named composer helpers instead of remaining inline in
src/main.ts. - #3
src/main.tsreads primarily as a boot and lifecycle coordinator, with domain behavior concentrated in named runtime modules. - #4 Focused tests cover the extracted behavior or the new composer surfaces.
- #5 The task records whether the remaining size still justifies a boot-phase split or whether that follow-up can wait.
Implementation Plan
Recommended sequence:
- Let the current composer and
setup-window-factorywork land first so this slice starts from a stable wiring baseline. - Extract the five inline runtime functions into their natural domain modules or direct equivalents.
- Add or extend composer helpers for subtitle/prefetch, stats startup, and overlay visibility handler grouping.
- Re-scan
src/main.tsafter the extraction and decide whether a boot-phase split is still the right next task. - Verify the extracted behavior with focused tests first, then run the relevant broader runtime gate if the slice crosses startup boundaries.
Guardrails:
- Keep the work behavior-preserving.
- Prefer moving logic to existing runtime surfaces over creating new giant helper files.
- Do not expand into unrelated
src/main.tscleanup that is already tracked by other TASK-238 slices.