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