Commit Graph
100 Commits
Author SHA1 Message Date
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
sudacode 30c363375a fix: reject extra positional args after -- in launcher 2026-02-17 03:19:09 -08:00
sudacode 804755bd3d Fix failing immersion-tracker tests 2026-02-17 02:30:09 -08:00
sudacode 78715e801c ci: run pull request checks on Node 22 2026-02-17 02:16:28 -08:00
sudacode 75d5389036 test: fix telemetry fixture column count in rollup test 2026-02-17 01:41:24 -08:00
sudacode 79bf5ebefb test: add immersion tracking startup safety and sqlite tests 2026-02-17 01:27:41 -08:00
sudacode 4d28efabd0 Fix child-process arg warning 2026-02-17 01:26:59 -08:00
sudacode 1cd1cdb11d refactor(cli): remove deprecated verbose logging flags 2026-02-17 00:57:44 -08:00
sudacode 23b78e6c9b Update docs and gitignore changes 2026-02-17 00:57:44 -08:00
sudacode 48f93f4344 Fix SUBMINER_APPIMAGE_PATH resolution on non-macOS 2026-02-17 00:57:44 -08:00
sudacode a499554848 Merge pull request #7 from ksyasuda/feature/add-anilist-tracking
Add AniList Tracking
2026-02-17 00:08:33 -08:00
sudacode 7610bba16e Handle AniList update errors and expand setup docs 2026-02-17 00:00:30 -08:00
sudacode 5602d751eb Update AniList docs 2026-02-16 23:03:51 -08:00
sudacode 1d7406f3d4 Fix anilist updater import 2026-02-16 02:19:02 -08:00
sudacode 107971f151 Fix AniList URL guard 2026-02-16 01:56:21 -08:00
sudacode e142d2dc3b Merge pull request #6 from ksyasuda/feature/session-help-modal
Add help modal
2026-02-16 00:32:27 -08:00
sudacode f448106f92 Prevent session help modal focus thr 2026-02-16 00:08:52 -08:00
sudacode faf82fa3ed udpate readme and bmp deps 2026-02-15 23:51:34 -08:00
sudacode 2622949ac7 Merge pull request #5 from ksyasuda/feature/frequency-based-highlighting
Add vendor frequency defaults with override support
2026-02-15 23:47:28 -08:00
sudacode af17f54ecd Disable frequency dictionary by default 2026-02-15 23:46:22 -08:00
sudacode b6975eae07 Enable frequency dictionary by default and keep bundled fallback 2026-02-15 23:42:00 -08:00
sudacode 1ab7e6e1da Normalize shortcut spaces before fil 2026-02-15 23:41:57 -08:00
sudacode f21fc95d17 Address Claude review feedback 2026-02-15 23:36:06 -08:00
sudacode a38b4d8583 Merge pull request #4 from ksyasuda/dependabot/npm_and_yarn/esbuild-0.25.0
chore(deps-dev): bump esbuild from 0.21.5 to 0.25.0
2026-02-15 22:49:25 -08:00
sudacode 8e9d392b21 Mark TASK-25 as done 2026-02-15 22:48:56 -08:00
sudacode 01a48f4714 Add vendor dict fallback logic 2026-02-15 22:45:03 -08:00
sudacode dae1f817e0 refactor: extract main runtime helper groups
- Extract remaining runtime helper clusters from main.ts into dedicated modules for readability:\n  - src/main/jlpt-runtime.ts\n  - src/main/media-runtime.ts\n  - src/main/overlay-visibility-runtime.ts\n- Wire main.ts to use the new runtime services and remove duplicated in-file helpers.\n- Preserve existing behavior via full typecheck + test:fast verification.\n- Finalize and archive TASK-56 backlog entry; update TASK-54 with completion metadata and summary.
2026-02-15 21:18:20 -08:00
sudacode bec69d1b71 Refactor startup/logging service wiring and related test/config updates 2026-02-15 21:02:54 -08:00
sudacode c6ac962f7a Fix test assertions for logger format and Yomitan target marking 2026-02-15 21:00:28 -08:00
sudacode 2211c086c0 refactor: consolidate JLPT token filter utilities 2026-02-15 21:00:00 -08:00
sudacode e14dad410e update backlog 2026-02-15 19:18:07 -08:00
sudacode 8c8f828b59 fix(mpv): gate socket logs by debug level
- Gate MPV socket reconnect-attempt, close, and error logs behind SUBMINER_LOG_LEVEL=debug.\n- Preserve MPV reconnect behavior and success-path logging unaffected.\n- Update TASK-33 metadata/status with implementation summary.
2026-02-15 19:15:12 -08:00
sudacode 667bde944c Add configurable minimum sentence length for N+1 targets 2026-02-15 18:34:10 -08:00
sudacode f1b5082801 Update task metadata/docs and JLPT tokenizer work 2026-02-15 18:18:08 -08:00
sudacode 1ca9cbc20d Complete TASK-12 bundling and tokenizer test type fixes 2026-02-15 18:16:46 -08:00
sudacode 47aeabbc58 remove claude code review workflow 2026-02-15 17:48:32 -08:00
sudacode 3e445aee9e chore: archive refactor milestones and remove structural quality-gates task
- Remove structural quality gates task and references from task-27 roadmap.
- Remove structural-gates-adjacent work from scripts/positioning cleanup context, including check-main-lines adjustments.
- Archive completed backlog tasks 11 and 27.7 by moving them to completed directory.
- Finish task-27.5 module split by moving/anonymizing anki-integration and renderer positioning files into their dedicated directories and updating paths.
2026-02-15 17:48:08 -08:00
sudacode 42b5b6ef89 Fix mpv protocol/transport typing and test regressions 2026-02-15 17:48:08 -08:00
sudacode 396fde3011 Merge pull request #2 from ksyasuda/add-jlpt-tagging
Add opt-in JLPT tagging flow
2026-02-15 17:30:22 -08:00
sudacode 20f5de1cf7 update docs and config 2026-02-15 17:29:27 -08:00
sudacode 8ebf6f02ec remove github pages ci job (cloudflage pages) 2026-02-15 17:11:54 -08:00
sudacode 2a2eee825c Fix tokenizer and jlpt issues 2026-02-15 17:06:27 -08:00
sudacode af1200b8d7 Merge pull request #3 from ksyasuda/add-claude-github-actions-1771202469311
Add Claude Code GitHub Workflow
2026-02-15 16:41:32 -08:00
sudacode 0674daf9c4 "Claude Code Review workflow" 2026-02-15 16:41:11 -08:00
sudacode f492622a8b Add opt-in JLPT tagging flow 2026-02-15 16:28:00 -08:00
sudacode ca2b7bb2fe Merge pull request #1 from ksyasuda/refactor
refactor runtime deps wiring and docs/config updates
2026-02-15 02:38:18 -08:00
sudacode 3a27c026b6 feat: integrate n+1 target highlighting
- Merge feature branch changes for n+1 target-only highlight flow

- Extend merged token model and token-merger to mark exactly-one unknown targets

- Thread n+1 candidate metadata through tokenizer and config systems

- Update subtitle renderer/state to route configured colors and new token class

- Resolve merge conflicts in core service tests, including subtitle and subsync behavior
2026-02-15 02:36:48 -08:00
sudacode 88099e2ffa Add N1 word highlighting flow and mpv/overlay service updates 2026-02-15 02:30:14 -08:00
sudacode a8682c33f2 update docs 2026-02-15 02:29:41 -08:00
sudacode d8cf83d517 fix 2026-02-15 00:13:34 -08:00
sudacode 6332fc4800 docs: update architecture docs to reflect TASK-27 refactoring
- Document src/main/ composition modules (startup, app-lifecycle, state, etc.)
- Add new services to service layer list (app-ready, mpv-transport, etc.)
- Update flow diagrams to show new composition module structure
- Update contributor notes in development.md
2026-02-15 00:12:33 -08:00
sudacode a1f196ee52 feat: add manual known-word cache refresh path
- Add CLI command flag  with non-GUI dispatch flow and OSD error handling.

- Add runtime integration call and IPC hook so manual refresh works from command runner without app startup.

- Add public AnkiIntegration manual refresh API with force refresh semantics and guard reuse.

- Preserve default n+1 behavior by fixing config validation for malformed  values and adding tests.
2026-02-15 00:03:38 -08:00
sudacode fb20e1ca25 chore: ignore worktrees directory 2026-02-14 23:29:55 -08:00
sudacode 51829159f2 update tasks 2026-02-14 23:21:57 -08:00
sudacode 162223943d refactor: split startup lifecycle and Anki service architecture 2026-02-14 22:31:53 -08:00
sudacode 41f7d754cd docs(task-27.2): record ipc dependency-mapping progress 2026-02-14 16:43:23 -08:00
sudacode f9ef8b31b1 refactor(main): move IPC runtime deps build to shared dependency mapper 2026-02-14 16:43:17 -08:00
sudacode 64dd5ecc3d feat: finish TASK-27.4 mpv-service protocol transport split 2026-02-14 16:42:14 -08:00
sudacode 824443d93b refactor: extract overlay shortcuts runtime for task 27.2 2026-02-14 15:58:50 -08:00
sudacode 1fb8e2e168 refactor mpv state mapping into mpv-state helper 2026-02-14 15:19:37 -08:00
sudacode 1e20704d39 test add mpv audio track-list updates stream index 2026-02-14 15:19:23 -08:00
sudacode bf1a866f2f refactor mpv reconnect scheduling into transport layer 2026-02-14 15:13:07 -08:00
sudacode c432f35a91 test add mpv client reconnect timer clear regression 2026-02-14 15:12:22 -08:00
sudacode 354a1a5796 test add mpv protocol pause-on-sub-end regression 2026-02-14 15:08:30 -08:00
sudacode 5a610d9d02 refactor state and overlay runtime helpers 2026-02-14 15:06:20 -08:00
sudacode 585fea972c refactor(main): extract IPC registration wiring into main/ipc-runtime module 2026-02-14 13:48:05 -08:00
sudacode 84c2bbcc0d refactor(main): move mpv IPC command composition into helper module 2026-02-14 13:46:17 -08:00
sudacode 65d9f5d54d chore(main): extract app lifecycle/startup builders into main modules 2026-02-14 13:45:25 -08:00
sudacode 910cf2dca4 Track mpv overlays by configured socket window only 2026-02-14 13:44:10 -08:00