Commit Graph

181 Commits

Author SHA1 Message Date
c43941fc7e refactor: normalize import extensions in query modules 2026-03-28 12:06:12 -07:00
99b30c4cf0 test: add behavioral assertions to composer tests
Upgrade 8 composer test files from shape-only typeof checks to behavioral
assertions that invoke returned handlers and verify injected dependencies are
actually called, following the mpv-runtime-composer pattern.
2026-03-28 11:22:58 -07:00
4779ac85dc test: extract mpv composer test fixture factory to reduce duplication 2026-03-28 11:17:14 -07:00
5359e47610 chore: consolidate duplicate import paths in main.ts 2026-03-28 11:12:59 -07:00
916dd5d37d refactor: inline subtitle-prefetch-runtime-composer
The composer was a pure pass-through that destructured an object and
reassembled it with the same fields. Inlined at the call site.
2026-03-28 11:11:49 -07:00
1a448cf7d9 fix: tighten type safety in boot services
- Add AppLifecycleShape and OverlayModalInputStateShape constraints
  so TAppLifecycleApp and TOverlayModalInputState generics are bounded
- Remove unsafe `as { handleModalInputStateChange? }` cast — now
  directly callable via the constraint
- Use `satisfies AppLifecycleShape` for structural validation on the
  appLifecycleApp object literal
- Document Electron App.on incompatibility with simple signatures
2026-03-28 11:10:51 -07:00
86b50dcb70 refactor: deduplicate ensureDir into shared/fs-utils
5 copies of mkdir-p-if-not-exists consolidated into one shared module
with ensureDir (directory path) and ensureDirForFile (file path) variants.
2026-03-28 10:42:21 -07:00
ab315c737f fix: replace any types in boot services with proper signatures 2026-03-28 10:34:36 -07:00
8784a1072a chore: remove unused token/queue file path constants from main.ts 2026-03-28 10:33:13 -07:00
312cba6955 refactor: inline identity composers (stats-startup, overlay-window)
composeStatsStartupRuntime was a no-op that returned its input.
composeOverlayWindowHandlers was a 1-line delegation.
Both removed in favor of direct usage.
2026-03-28 10:33:09 -07:00
c6d349886e refactor: parameterize duplicated getAffected*Ids query helpers
Four structurally identical functions collapsed into two parameterized
helpers while preserving the existing public API.
2026-03-28 10:31:06 -07:00
17e715b2bf refactor: consolidate 3 near-identical setup window factories
Extract shared createSetupWindowHandler with a config parameter.
Public API unchanged.
2026-03-28 10:30:35 -07:00
549ff66d09 refactor: remove boot re-export alias layer
main.ts now imports directly from the runtime/composers and runtime/domains
modules, eliminating the intermediate boot/ indirection.
2026-03-28 10:26:56 -07:00
5141a936d8 refactor: remove unused createMainBootRuntimes/Handlers aggregate functions
These functions were never called by production code — main.ts imports
the individual composeBoot* re-exports directly.
2026-03-28 10:23:28 -07:00
b92f253458 fix: use variadic array type for MockDate constructor args
TS2367: fixed-length tuple made args.length === 0 unreachable.
2026-03-28 10:21:47 -07:00
efcacded66 Factor out mock date helper in tracker tests
- reuse a shared `withMockDate` helper for date-sensitive query tests
- make monthly rollup assertions key off `videoId` instead of row order
2026-03-28 00:26:19 -07:00
615625d215 fix: use explicit super args for MockDate constructors 2026-03-28 00:09:25 -07:00
90a9147363 fix: remove strict spread usage in Date mocks 2026-03-28 00:08:13 -07:00
8f6877db12 fix: resolve CI type failures in boot and immersion query tests 2026-03-28 00:07:11 -07:00
8e5cb5f885 Fix verification and immersion-tracker grouping
- isolate verifier artifacts and lease handling
- switch weekly/monthly tracker cutoffs to calendar boundaries
- tighten boot lifecycle and zip writer tests
2026-03-28 00:01:17 -07:00
1408ad652a fix(ci): normalize Windows shortcut paths for cross-platform tests 2026-03-28 00:00:49 -07:00
d5b746bd1d Restrict docs analytics and build coverage input
- limit Plausible init to docs.subminer.moe
- build Yomitan before src coverage lane
2026-03-27 23:52:07 -07:00
6139d14cd1 Switch plausible endpoint and harden coverage lane parsing
- update docs-site tracking to use the Plausible capture endpoint
- tighten coverage lane argument and LCOV parsing checks
- make script entrypoint use CommonJS main guard
2026-03-27 23:41:23 -07:00
9caf25bedb test: stabilize bun coverage reporting 2026-03-27 23:37:29 -07:00
23b2360ac4 refactor: split main boot phases 2026-03-27 23:37:29 -07:00
742a0dabe5 chore(backlog): update task notes and changelog fragment 2026-03-27 23:37:29 -07:00
4c03e34caf refactor(main): extract remaining inline runtime logic from main 2026-03-27 23:37:29 -07:00
4d95de51a0 fix: address CodeRabbit review feedback 2026-03-27 03:05:32 -07:00
ed32f985c6 test: increase launcher test timeout for CI stability 2026-03-27 02:24:56 -07:00
854179b9c1 Add backlog tasks and launcher time helper tests
- Track follow-up cleanup work in Backlog.md
- Replace Date.now usage with shared nowMs helper
- Add launcher args/parser and core regression tests
2026-03-27 02:01:36 -07:00
a3ddfa0641 refactor: compose startup and setup window wiring 2026-03-27 01:14:58 -07:00
49a582b4fc refactor: migrate shared type imports 2026-03-27 00:33:52 -07:00
a92631bf52 chore: update backlog task records 2026-03-27 00:33:48 -07:00
ac857e932e refactor: split immersion tracker query modules 2026-03-27 00:33:43 -07:00
8c633f7e48 fix: add stats server node fallback 2026-03-27 00:28:05 -07:00
d2cfa1b871 feat: add repo-local subminer workflow plugin 2026-03-27 00:27:13 -07:00
3fe63a6afa refactor: use bun serve for stats server 2026-03-26 23:18:43 -07:00
5dd8bb7fbf refactor: split shared type entrypoints 2026-03-26 23:17:04 -07:00
5b06579e65 refactor: split character dictionary runtime modules 2026-03-26 23:16:47 -07:00
416942ff2d chore(backlog): add mining workflow milestone and tasks 2026-03-26 22:32:11 -07:00
2d4f2d1139 refactor: remove legacy YouTube entrypoint 2026-03-26 19:23:13 -07:00
77e632276b refactor: remove legacy YouTube launcher modules 2026-03-26 19:23:09 -07:00
4c95b57885 chore: prepare v0.9.3 release v0.9.3 2026-03-25 23:58:31 -07:00
242402b253 refactor: move youtube primary subtitle config to youtube 2026-03-25 23:53:56 -07:00
61d15f9431 docs: apply M PLUS 1 and Manrope font defaults for docs content 2026-03-25 23:52:29 -07:00
508864bcbb chore(backlog): complete backlog cleanup 2026-03-25 22:42:21 -07:00
23c54bb01e chore: prepare v0.9.2 release v0.9.2 2026-03-25 22:37:59 -07:00
ec667c64e8 fix: cancel stale autoplay fallback retries 2026-03-25 22:18:26 -07:00
39b2ccad8e fix: address latest coderabbit review 2026-03-25 22:18:26 -07:00
23815945bf chore: remove stale release notes artifact 2026-03-25 22:18:26 -07:00