Commit Graph
100 Commits
Author SHA1 Message Date
sudacode 2b77ab2406 refactor(launcher): consolidate mpv socket readiness primitive 2026-02-21 21:27:31 -08:00
sudacode a693cc1866 fix(config): resolve launcher config from SubMiner only 2026-02-21 21:27:31 -08:00
sudacode 5cb0ee1591 refactor(anki): extract workflow services from integration facade
Split note-update and field-grouping orchestration out of AnkiIntegration so the facade remains focused on composition and shared policy wiring. This keeps mining behavior stable while creating focused workflow seams with dedicated regression coverage and clearer ownership docs.
2026-02-21 21:27:31 -08:00
sudacode 54109deb94 refactor(config): extract resolve domain modules and seam tests 2026-02-21 21:27:31 -08:00
sudacode 69474c9642 refactor(main): normalize runtime composer contracts 2026-02-21 21:27:31 -08:00
sudacode 5805d774ca test: run default regressions from source and keep dist smoke 2026-02-21 21:27:31 -08:00
sudacode c8c7f46a16 chore(task-85): finalize closure tracking and launcher path enforcement 2026-02-21 21:27:30 -08:00
sudacode f8db9e7119 refactor(main): extract anilist/mpv runtime composers 2026-02-21 21:21:44 -08:00
sudacode 4fc34ec787 refactor(main): add runtime domain registry and fan-in guardrails
Introduce runtime domain barrel exports and registry composition support, and document/check main runtime fan-in workflow with related backlog planning artifacts.
2026-02-21 21:21:44 -08:00
sudacode 23b88bf20e refactor(main): finish TASK-94 composition-root extraction
Move IPC, shortcuts, startup lifecycle, and app-ready assembly behind dedicated runtime composers so main.ts stays focused on boot wiring while preserving behavior and test coverage.
2026-02-21 21:21:44 -08:00
sudacode 8ad8ff1671 refactor(main): extract jellyfin and anilist runtime composers 2026-02-21 21:19:50 -08:00
sudacode b271a3b1a9 refactor(core): decompose remaining oversized hotspots with seam coverage
# Conflicts:
#	src/config/service.ts
2026-02-21 21:18:37 -08:00
sudacode 35580ea3e9 fix(ci): verify launcher wrapper from dist artifact 2026-02-21 19:20:44 -08:00
sudacode ab1d5f19fd chore: commit unstaged workspace changes 2026-02-21 02:32:00 -08:00
sudacode 1c424b4a0b fix(logging): suppress mpv connect-request info log spam 2026-02-20 20:45:33 -08:00
sudacode e1338113b5 update script 2026-02-20 20:43:28 -08:00
sudacode 8ac3d517fe feat(jellyfin): move auth to env and stored session 2026-02-20 20:37:21 -08:00
sudacode d6676f7132 fix(renderer): stabilize preserveLineBreaks whitespace and newline rendering 2026-02-20 20:22:37 -08:00
sudacode 28d2da1e64 chore(task-85): update launcher workflow and backlog tracking 2026-02-20 03:57:20 -08:00
sudacode 06892b4838 refactor: simplify config and anki integration composition 2026-02-20 03:55:29 -08:00
sudacode 12c5d956bc refactor: extract numeric and overlay shortcuts runtime wiring 2026-02-20 03:52:08 -08:00
sudacode eef8a7eb41 refactor: extract mpv osd and secondary-sub runtime wiring 2026-02-20 03:52:08 -08:00
sudacode 2d89dd43f2 refactor: extract global shortcuts runtime wiring 2026-02-20 03:52:08 -08:00
sudacode 2ffd503898 refactor: extract cli command runtime wiring 2026-02-20 03:52:08 -08:00
sudacode 2b70b54faf refactor: extract startup and initial args runtime wiring 2026-02-20 03:52:08 -08:00
sudacode 6634ee7626 refactor: extract overlay bootstrap runtime wiring 2026-02-20 03:52:08 -08:00
sudacode 9b3cb4a42c refactor: extract yomitan settings runtime wiring 2026-02-20 03:52:08 -08:00
sudacode 9db54f8037 refactor: extract overlay window runtime wiring 2026-02-20 03:52:08 -08:00
sudacode e8db67e621 refactor: extract tray runtime handler wiring 2026-02-20 03:52:08 -08:00
sudacode b6b81a72f5 refactor: extract cli command context factory wiring 2026-02-20 03:52:08 -08:00
sudacode f56de54c10 refactor: extract ipc runtime handler wiring 2026-02-20 03:52:08 -08:00
sudacode 5b432fa156 refactor: extract overlay visibility runtime wiring 2026-02-20 03:52:08 -08:00
sudacode 3aeb10ae61 refactor: extract yomitan runtime wiring from main 2026-02-20 03:52:08 -08:00
sudacode 062677dcc5 refactor: prebuild additional lifecycle and mpv runtime deps 2026-02-20 03:52:08 -08:00
sudacode 65878e0d8a refactor: prebuild more shortcut and overlay runtime deps 2026-02-20 03:52:08 -08:00
sudacode 5b84ba5ef8 refactor: prebuild more jellyfin and startup runtime deps 2026-02-20 03:52:08 -08:00
sudacode 40184c67ed refactor: prebuild more overlay and jellyfin runtime deps 2026-02-20 03:52:08 -08:00
sudacode 2be7829aa5 refactor: prebuild more main runtime handler dependencies 2026-02-20 03:52:08 -08:00
sudacode a33d030d34 refactor: prebuild additional main startup dependency bundles 2026-02-20 03:52:07 -08:00
sudacode 6287409c83 refactor: prebuild additional main runtime deps in startup flow 2026-02-20 03:52:07 -08:00
sudacode e1a66800b9 refactor: prebuild anilist protocol and token runtime deps 2026-02-20 03:52:07 -08:00
sudacode e73381aa36 refactor: prebuild global shortcut and mpv log handler deps 2026-02-20 03:52:07 -08:00
sudacode c3afea6d40 refactor: prebuild remaining setup-window focus handlers 2026-02-20 03:52:07 -08:00
sudacode 86e0527630 refactor: extract protocol url handler dependency builders 2026-02-20 03:52:07 -08:00
sudacode 98902b6b0e refactor: normalize additional startup and lifecycle wiring 2026-02-20 03:52:07 -08:00
sudacode 4010fc1b04 refactor: normalize additional main dependency construction 2026-02-20 03:52:07 -08:00
sudacode c6fa197d0d refactor: normalize remaining main runtime dependency setup 2026-02-20 03:52:07 -08:00
sudacode 197636aabe update readme/docs 2026-02-20 03:39:09 -08:00
sudacode 46a2ac5dc7 feat(jellyfin): store access token in encrypted local store 2026-02-20 03:26:37 -08:00
sudacode a4532a5fa0 build(ts): enable noUncheckedIndexedAccess and isolatedModules 2026-02-20 01:50:09 -08:00
sudacode 06e8223d63 chore: contents 2026-02-20 01:34:57 -08:00
sudacode ad2652b21a ci: bundle config example in release assets 2026-02-20 01:34:57 -08:00
sudacode a3569afdcf feat: bundle M PLUS 1 as default overlay font
- Add M PLUS 1 variable weight font (100-900) to src/renderer/fonts/
- Add @font-face declaration in style.css
- Update default fontFamily for primary and secondary subtitles
- Add macOS (Hiragino Sans) and Windows (Yu Gothic) fallbacks
- Update build script to copy fonts dir to dist/renderer/
2026-02-20 01:31:26 -08:00
sudacode 18648cb6fc refactor: extract additional main dependency builders 2026-02-20 01:02:40 -08:00
sudacode 5476d44005 refactor: extract additional main runtime dependency builders 2026-02-20 00:10:36 -08:00
sudacode df380ed1ca refactor: extract runtime dependency builders from main 2026-02-19 23:38:23 -08:00
sudacode 0d7b65ec88 refactor: extract main runtime dependency builders 2026-02-19 23:11:20 -08:00
sudacode 8c2d82e361 feat(subtitles): add line-break display toggle and narrow-space normalization 2026-02-19 22:50:27 -08:00
sudacode bc75a0cfbd fix: update default subtitle background color 2026-02-19 21:46:25 -08:00
sudacode 4193a6ce8e refactor: split main runtime handlers into focused modules 2026-02-19 21:27:42 -08:00
sudacode 45c326db6d refactor: extract main runtime lifecycle helper builders 2026-02-19 19:57:18 -08:00
sudacode c9605345bb update docs and config 2026-02-19 19:10:02 -08:00
sudacode aaa19a33c5 refactor: split main runtime wrappers into focused modules 2026-02-19 19:08:53 -08:00
sudacode 1efc0f8650 fix(tokenizer): restore n+1 highlighting with mecab pos enrichment 2026-02-19 19:03:50 -08:00
sudacode 7795cc3d69 fix(subtitle-ws): send tokenized payloads to texthooker 2026-02-19 17:21:26 -08:00
sudacode d5d71816ac refactor: split main runtime flows into focused modules 2026-02-19 16:57:06 -08:00
sudacode 162be118e1 refactor(main): modularize runtime and harden anilist setup flow 2026-02-19 16:04:59 -08:00
sudacode 58f28b7b55 refactor(config): unify config path resolution across app and launcher
Share config discovery logic between main and launcher so XDG/home and SubMiner/subminer precedence stay consistent. Add regression tests for resolution order and keep config path/show behavior stable.
2026-02-19 01:06:26 -08:00
sudacode 9384d67b8e chore(workflow): sync backlog state and subagent coordination
Capture backlog task lifecycle updates, archive TASK-34, and add planning artifacts for recent config work. Update docs sweep scripts and AGENTS guidance to use sharded docs/subagents coordination metadata.
2026-02-19 00:49:23 -08:00
sudacode 9e6d039a32 fix(anki): fix Lapis sentence-card fields to defaults
Remove configurable isLapis sentence/audio field overrides so sentence cards always map to Sentence and SentenceAudio. Update types and docs to reflect the simplified config surface.
2026-02-19 00:48:02 -08:00
sudacode 07cedabfe3 fix(config): improve startup validation and config error reporting 2026-02-19 00:47:14 -08:00
sudacode 2c2f342854 fix(tray): add macOS template tray icon assets 2026-02-19 00:02:51 -08:00
sudacode e73a380f38 build: switch Makefile texthooker-ui steps to bun 2026-02-18 23:27:28 -08:00
sudacode 1c189974fc update texthooker 2026-02-18 23:10:15 -08:00
sudacode 209ab73a31 fix(renderer): add recovery boundary and normalize macOS tray icon 2026-02-18 22:59:15 -08:00
sudacode d1aeb3b754 Fix mpv tlang and profile parsing 2026-02-18 19:11:19 -08:00
sudacode ebaed49f76 feat: improve background startup and launcher control
Detach --background launches from terminals with quieter runtime output, make wrapper/plugin overlay start explicit, and allow trailing commas in JSONC configs for safer hot-reload edits. Includes pending Anki/docs/backlog updates in this unreleased batch.
2026-02-18 02:28:53 -08:00
sudacode 4703b995da feat(config): hot-reload safe config updates and document behavior 2026-02-18 02:28:53 -08:00
sudacode fd49e73762 Add MPV overlay queue controls 2026-02-18 01:55:01 -08:00
sudacode 3803d4d47b Merge pull request #10 from ksyasuda/fix/bun-tooling-migration
fix: migrate tooling to bun and accept file path targets
2026-02-18 00:32:22 -08:00
sudacode 25fddce372 fix(build): remove python launcher dep and tighten target resolution 2026-02-17 23:30:24 -08:00
sudacode f20d019c11 pretty 2026-02-17 22:54:09 -08:00
sudacode ffeef9c136 update ci jobs 2026-02-17 22:51:52 -08:00
sudacode 6da8ddda3f update 2026-02-17 22:51:52 -08:00
sudacode 846b075206 fix: migrate tooling to bun and accept file path targets 2026-02-17 22:51:52 -08:00
sudacode a531527e1f chore(backlog): sync task metadata and finalize jellyfin task states 2026-02-17 20:34:45 -08:00
sudacode 7c1d81ea80 udpate ci and add docs sweep scripts 2026-02-17 19:14:43 -08:00
sudacode 9b0fdab840 Merge pull request #9 from ksyasuda/refactor/launcher-modules-split
refactor(core): normalize core service naming
2026-02-17 19:04:39 -08:00
sudacode 817a949f99 chore(scripts): align tooling with runtime/service updates 2026-02-17 19:00:29 -08:00
sudacode 1233e3630f refactor(core): normalize service naming across app runtime 2026-02-17 19:00:27 -08:00
sudacode e38a1c945e feat(jellyfin): add remote playback and config plumbing 2026-02-17 19:00:18 -08:00
sudacode a6a28f52f3 docs: update immersion and Jellyfin docs/backlog notes 2026-02-17 18:58:38 -08:00
sudacode e7a522a485 refactor(launcher): complete split into modular launcher/ directory
- Split 4,028-line monolithic subminer script into 10 focused modules
- launcher/types.ts: shared types and constants
- launcher/log.ts: logging infrastructure
- launcher/util.ts: pure utilities and child process runner
- launcher/config.ts: config loading and arg parsing
- launcher/jimaku.ts: Jimaku API client and media parsing
- launcher/picker.ts: rofi/fzf menu UI
- launcher/mpv.ts: mpv process management and IPC
- launcher/youtube.ts: YouTube subtitle generation pipeline
- launcher/jellyfin.ts: Jellyfin API and browsing
- launcher/main.ts: orchestration entrypoint
- Add build-launcher Makefile target using bun build
- subminer is now a build artifact produced by make build-launcher
- install-linux and install-macos depend on build-launcher
2026-02-17 09:16:52 -08:00
sudacode ba94a33b46 refactor(launcher): extract mpv, youtube, and jellyfin modules
- launcher/mpv.ts: state object, mpv IPC, process management, socket helpers
- launcher/youtube.ts: YouTube subtitle generation pipeline and helpers
- launcher/jellyfin.ts: Jellyfin API client, icon caching, play menu
- runAppCommandWithInherit and related functions placed in mpv.ts
- buildAppEnv deduplicated into single helper in mpv.ts
2026-02-17 09:16:52 -08:00
sudacode b4df3f8295 refactor(launcher): extract config, jimaku, and picker modules
- launcher/config.ts: config loading, arg parsing, plugin runtime config
- launcher/jimaku.ts: Jimaku API client, media parsing, subtitle helpers
- launcher/picker.ts: rofi/fzf menu UI, video collection, Jellyfin pickers
- JellyfinSessionConfig moved to types.ts to avoid circular deps
- picker functions accept ensureIcon callback to decouple from jellyfin
2026-02-17 09:16:52 -08:00
sudacode 518015f534 refactor(launcher): extract types, logging, and utilities
- launcher/types.ts: shared types, interfaces, and constants
- launcher/log.ts: logging infrastructure (COLORS, log, fail, etc.)
- launcher/util.ts: pure utilities, lang helpers, and child process runner
- runExternalCommand accepts childTracker param instead of referencing state
- inferWhisperLanguage placed in util.ts to avoid circular deps
2026-02-17 09:16:52 -08:00
sudacode 37cc3a6b01 refactor(core): normalize core service naming
Standardize core service module and export names to reduce naming ambiguity and make imports predictable across runtime, tests, scripts, and docs.
2026-02-17 09:16:50 -08:00
sudacode 25faf3ef3e feat(anilist): add CLI and IPC management controls 2026-02-17 04:04:05 -08:00
sudacode a359e91b14 refactor(core): normalize core service naming
Standardize core service module and export names to reduce naming ambiguity and make imports predictable across runtime, tests, scripts, and docs.
2026-02-17 04:03:37 -08:00
sudacode 02034e6dc7 Merge pull request #8 from ksyasuda/feature/add-sqlite-session-tracking
Add SQLite session tracking with docs updates
2026-02-17 03:27:57 -08:00