Commit Graph

328 Commits

Author SHA1 Message Date
18648cb6fc refactor: extract additional main dependency builders 2026-02-20 01:02:40 -08:00
5476d44005 refactor: extract additional main runtime dependency builders 2026-02-20 00:10:36 -08:00
df380ed1ca refactor: extract runtime dependency builders from main 2026-02-19 23:38:23 -08:00
0d7b65ec88 refactor: extract main runtime dependency builders 2026-02-19 23:11:20 -08:00
8c2d82e361 feat(subtitles): add line-break display toggle and narrow-space normalization 2026-02-19 22:50:27 -08:00
bc75a0cfbd fix: update default subtitle background color 2026-02-19 21:46:25 -08:00
4193a6ce8e refactor: split main runtime handlers into focused modules 2026-02-19 21:27:42 -08:00
45c326db6d refactor: extract main runtime lifecycle helper builders 2026-02-19 19:57:18 -08:00
c9605345bb update docs and config 2026-02-19 19:10:02 -08:00
aaa19a33c5 refactor: split main runtime wrappers into focused modules 2026-02-19 19:08:53 -08:00
1efc0f8650 fix(tokenizer): restore n+1 highlighting with mecab pos enrichment 2026-02-19 19:03:50 -08:00
7795cc3d69 fix(subtitle-ws): send tokenized payloads to texthooker 2026-02-19 17:21:26 -08:00
d5d71816ac refactor: split main runtime flows into focused modules 2026-02-19 16:57:06 -08:00
162be118e1 refactor(main): modularize runtime and harden anilist setup flow 2026-02-19 16:04:59 -08:00
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
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
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
07cedabfe3 fix(config): improve startup validation and config error reporting 2026-02-19 00:47:14 -08:00
2c2f342854 fix(tray): add macOS template tray icon assets 2026-02-19 00:02:51 -08:00
e73a380f38 build: switch Makefile texthooker-ui steps to bun 2026-02-18 23:27:28 -08:00
1c189974fc update texthooker 2026-02-18 23:10:15 -08:00
209ab73a31 fix(renderer): add recovery boundary and normalize macOS tray icon 2026-02-18 22:59:15 -08:00
d1aeb3b754 Fix mpv tlang and profile parsing 2026-02-18 19:11:19 -08:00
kyasuda
f299f2a19e chore: switch texthooker-ui workflow to pnpm and add backlog tasks 2026-02-18 18:05:42 -08:00
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
4703b995da feat(config): hot-reload safe config updates and document behavior 2026-02-18 02:28:53 -08:00
fd49e73762 Add MPV overlay queue controls 2026-02-18 01:55:01 -08:00
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
25fddce372 fix(build): remove python launcher dep and tighten target resolution 2026-02-17 23:30:24 -08:00
f20d019c11 pretty 2026-02-17 22:54:09 -08:00
ffeef9c136 update ci jobs 2026-02-17 22:51:52 -08:00
6da8ddda3f update 2026-02-17 22:51:52 -08:00
846b075206 fix: migrate tooling to bun and accept file path targets 2026-02-17 22:51:52 -08:00
a531527e1f chore(backlog): sync task metadata and finalize jellyfin task states 2026-02-17 20:34:45 -08:00
7c1d81ea80 udpate ci and add docs sweep scripts 2026-02-17 19:14:43 -08:00
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
817a949f99 chore(scripts): align tooling with runtime/service updates 2026-02-17 19:00:29 -08:00
1233e3630f refactor(core): normalize service naming across app runtime 2026-02-17 19:00:27 -08:00
e38a1c945e feat(jellyfin): add remote playback and config plumbing 2026-02-17 19:00:18 -08:00
a6a28f52f3 docs: update immersion and Jellyfin docs/backlog notes 2026-02-17 18:58:38 -08:00
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
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
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
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
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
25faf3ef3e feat(anilist): add CLI and IPC management controls 2026-02-17 04:04:05 -08:00
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
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
30c363375a fix: reject extra positional args after -- in launcher 2026-02-17 03:19:09 -08:00
804755bd3d Fix failing immersion-tracker tests 2026-02-17 02:30:09 -08:00