2.3 KiB
id, title, status, assignee, created_date, updated_date, labels, milestone, dependencies, references, priority
| id | title | status | assignee | created_date | updated_date | labels | milestone | dependencies | references | priority | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TASK-9 | Remove trivial wrapper functions from main.ts | Done | 2026-02-11 08:21 | 2026-02-15 07:00 |
|
Codebase Clarity & Composability |
|
|
low |
Description
main.ts contains many trivial single-line wrapper functions that add indirection without value:
function getOverlayWindows(): BrowserWindow[] {
return overlayManager.getOverlayWindows();
}
function updateOverlayBounds(geometry: WindowGeometry): void {
updateOverlayBoundsService(geometry, () => getOverlayWindows());
}
function ensureOverlayWindowLevel(window: BrowserWindow): void {
ensureOverlayWindowLevelService(window);
}
Similarly, config accessor wrappers like getJimakuLanguagePreference(), getJimakuMaxEntryResults(), resolveJimakuApiKey() are pure boilerplate.
After TASK-7 (AppState container), many of these can be eliminated by having services access the state container directly, or by using the service functions directly at call sites without local wrappers.
Acceptance Criteria
- #1 Trivial pass-through wrappers eliminated (call service/manager directly)
- #2 Config accessor wrappers replaced with direct calls or a config accessor helper
- #3 main.ts line count reduced
- #4 No functional changes
Implementation Notes
Priority changed from medium to low: this work is largely subsumed by TASK-27.2 (split main.ts). When main.ts is decomposed into composition-root modules, trivial wrappers will naturally be eliminated or inlined. Recommend folding remaining wrapper cleanup into TASK-27.2 rather than tracking separately. Keep this ticket as a checklist reference but don't execute independently.
Final Summary
Subsumed by TASK-27.2 (main.ts split). Trivial wrappers were eliminated or inlined as composition-root modules were extracted. main.ts reduced from ~2000+ LOC to 1384 with state routed through appState container. Standalone wrapper removal pass no longer needed.