Compare commits

..

18 Commits

Author SHA1 Message Date
ba9bae63e4 test: address latest review feedback 2026-03-22 20:28:45 -07:00
415c758840 test: force x11 backend in launcher ci harness 2026-03-22 20:19:06 -07:00
ff72976bae test: stub launcher youtube deps in failing case 2026-03-22 20:17:07 -07:00
0def04b09c test: isolate launcher youtube flow deps 2026-03-22 20:14:53 -07:00
6bf148514e test: stub launcher youtube deps in CI 2026-03-22 20:12:59 -07:00
07b91f8704 style: format stats library files 2026-03-22 20:10:23 -07:00
d8a7ae77b0 fix: address latest review feedback 2026-03-22 20:09:16 -07:00
809b57af44 style: format stats library tab 2026-03-22 19:40:28 -07:00
ef716b82c7 fix: persist canonical title from youtube metadata 2026-03-22 19:40:12 -07:00
d65575c80d fix: address CodeRabbit review feedback 2026-03-22 19:37:49 -07:00
8da3a26855 fix(ci): add changelog fragment for immersion changes 2026-03-22 19:07:07 -07:00
8928bfdf7e chore: add shared log-file source for diagnostics 2026-03-22 18:38:58 -07:00
16f7b2507b feat: update subtitle sidebar overlay behavior 2026-03-22 18:38:56 -07:00
7d8d2ae7a7 refactor: unify cli and runtime wiring for startup and youtube flow 2026-03-22 18:38:54 -07:00
3fb33af116 docs: update docs for youtube subtitle and mining flow 2026-03-22 18:38:51 -07:00
8ddace5536 fix: unwrap mpv youtube streams for anki media mining 2026-03-22 18:34:38 -07:00
e7242d006f fix: align youtube playback with shared overlay startup 2026-03-22 18:34:25 -07:00
7666a094f4 fix: harden preload argv parsing for popup windows 2026-03-22 18:34:16 -07:00
318 changed files with 1623 additions and 8836 deletions

View File

@@ -1,58 +1,14 @@
# Changelog # Changelog
## v0.9.3 (2026-03-25) ## v0.9.0 (2026-03-22)
### Changed ### Changed
- Launcher: Moved YouTube primary subtitle language defaults to `youtube.primarySubLanguages`. - Subtitle Sidebar: Added subtitle sidebar state and behavior updates, including startup-auto-open controls and resume positioning improvements.
- Launcher: Removed the placeholder YouTube subtitle retime step and now uses downloaded primary subtitle tracks directly, so there is no fake path rewrite before playback/sidebar loading. - Subtitle Sidebar: Fixed subtitle prefetch and embedded overlay passthrough sync between sidebar and overlay subtitle rendering.
- YouTube: Removed the `src/core/services/youtube/retime` helper and its tests after retiring the internal retime strategy. - Launcher: Added an app-owned YouTube subtitle picker flow that boots mpv paused, opens an overlay track picker, and downloads selected subtitles into external files.
- Docs: Clarified optional `alass` / `ffsubsync` subtitle-sync requirements and setup steps, including fallback behavior when sync tools are absent. - Launcher: Added explicit `download` and `generate` YouTube subtitle modes with `download` as the default path.
- Launcher: Removed the old `youtubeSubgen.primarySubLanguages` config path from the generated config and docs. - Launcher: Disabled mpv native YouTube subtitle auto-loading for the app-owned flow so external subtitle files stay authoritative.
## v0.9.2 (2026-03-25)
### Fixed
- Overlay: Fixed overlay pointer tracking so Windows click-through toggles immediately when the cursor enters or leaves subtitle regions, without waiting for a later hover resync.
- Overlay: Fixed Windows overlay window tracking on scaled displays by converting native tracked window bounds to Electron DIP coordinates before applying overlay bounds.
- Launcher: Fixed Windows direct `--youtube-play` startup so MPV boots reliably, stays paused until the app-owned subtitle flow is ready, and reuses an already-running SubMiner instance when available.
- Launcher: Fixed standalone Windows `--youtube-play` sessions so closing MPV fully exits SubMiner instead of leaving hidden overlay windows or a background process behind.
- Overlay: Fixed `subminer <youtube-url>` on Linux so the YouTube playback flow waits for Yomitan to load before creating the overlay window, avoiding the broken lookup popup state that previously required a manual overlay refresh.
## v0.9.1 (2026-03-24)
### Changed
- Release: Reduced packaged release size by excluding duplicate `extraResources` payload and pruning docs, tests, sourcemaps, and other source-only files from Electron bundles.
### Fixed
- Overlay: Restored controller navigation and lookup/mining controls while the subtitle sidebar is open, while keeping true modal dialogs blocking controller actions.
- Tokenizer: Fixed subtitle annotation clearing so explanatory contrast endings like `んですけど` are excluded consistently across the shared tokenizer filter and annotation stage.
## v0.9.0 (2026-03-23)
### Added
- Docs: Added a new WebSocket / Texthooker API and integration guide covering WebSocket payloads, custom client patterns, mpv plugin automation, and webhook-style relay examples. Linked from configuration and mining workflow docs for easier discovery.
### Changed
- Launcher: Added an app-owned YouTube subtitle flow that pauses mpv, uses absPlayer-style YouTube timedtext parsing/conversion to download subtitle tracks, and injects them as external files before playback resumes.
- Launcher: Changed YouTube subtitle startup to auto-load the best-available primary and secondary subtitle tracks at launch instead of forcing the picker modal first. Secondary subtitle failures no longer block playback resume.
- Launcher: Added `Ctrl+Alt+C` as the default keybinding to manually open the YouTube subtitle picker during active YouTube playback.
- Launcher: Added yt-dlp metadata probing so YouTube playback and immersion tracking record canonical video title and channel metadata.
- Launcher: Stopped forcing `--ytdl-raw-options=` before user-provided mpv options so existing YouTube cookie integrations in user `--args` are no longer clobbered.
- Launcher: Disabled mpv native YouTube subtitle auto-loading for the app-owned flow so injected external subtitle files remain authoritative.
- Launcher: Added OSD status messages for YouTube playback startup, subtitle acquisition, and subtitle loading so the flow stays visible before and during the picker. - Launcher: Added OSD status messages for YouTube playback startup, subtitle acquisition, and subtitle loading so the flow stays visible before and during the picker.
- Subtitle Sidebar: Added startup-auto-open controls and resume positioning improvements so the sidebar jumps directly to the first resolved active cue.
- Subtitle Sidebar: Improved subtitle prefetch and embedded overlay passthrough sync so sidebar and overlay subtitle states stay consistent across media transitions.
- Subtitle Sidebar: Updated scroll handling, embedded layout styling, and active-cue visual behavior.
- Stats: Stats Library tab now displays YouTube video title, channel name, and channel thumbnail for YouTube media entries, with retry logic to fill in metadata that arrives after initial load.
### Fixed
- Launcher: Fixed Anki media mining for mpv YouTube streams by unwrapping the stream URL so audio and screenshot capture work correctly for YouTube playback sessions.
- Immersion: Fixed YouTube media path handling in the immersion runtime and tracking so YouTube sessions record correct media references, AniList guessing skips YouTube URLs, and post-watch state transitions do not fire for YouTube media.
- Launcher: Fixed startup-launched YouTube playback so primary subtitle overlay updates continue after auto-load completes.
- Launcher: Fixed auto-loaded YouTube primary subtitles so parsed cues appear in the subtitle sidebar without needing a manual picker retry.
- Launcher: Fixed the YouTube picker to guard against duplicate subtitle submissions and tightened YouTube URL detection so follow-up runtime flows only treat real YouTube hosts as YouTube playback.
- Launcher: Fixed primary subtitle failure notifications being shown while app-owned YouTube subtitle probing and downloads are still in flight.
- Launcher: Preserved existing authoritative YouTube subtitle tracks when available; downloaded tracks are used only to fill missing sides, and native mpv secondary subtitle rendering is hidden so the overlay remains the sole secondary display.
## v0.8.0 (2026-03-22) ## v0.8.0 (2026-03-22)

View File

@@ -66,10 +66,6 @@ Local stats dashboard — watch time, anime library, vocabulary growth, mining t
### Integrations ### Integrations
<table> <table>
<tr>
<td><b>YouTube</b></td>
<td>Auto-loaded yt-dlp subtitle tracks at startup with a manual overlay picker on demand (<code>Ctrl+Alt+C</code>)</td>
</tr>
<tr> <tr>
<td><b>AniList</b></td> <td><b>AniList</b></td>
<td>Automatic episode tracking and progress sync</td> <td>Automatic episode tracking and progress sync</td>
@@ -84,7 +80,7 @@ Local stats dashboard — watch time, anime library, vocabulary growth, mining t
</tr> </tr>
<tr> <tr>
<td><b>alass / ffsubsync</b></td> <td><b>alass / ffsubsync</b></td>
<td>Automatic subtitle retiming — requires <code>alass</code> or <code>ffsubsync</code> on your <code>PATH</code> (optional; subtitle syncing is disabled without them)</td> <td>Automatic subtitle retiming</td>
</tr> </tr>
<tr> <tr>
<td><b>WebSocket</b></td> <td><b>WebSocket</b></td>
@@ -105,7 +101,7 @@ Local stats dashboard — watch time, anime library, vocabulary growth, mining t
| | Required | Optional | | | Required | Optional |
| -------------- | --------------------------------------- | -------------------------------------- | | -------------- | --------------------------------------- | -------------------------------------- |
| **Player** | [`mpv`](https://mpv.io) with IPC socket | — | | **Player** | [`mpv`](https://mpv.io) with IPC socket | — |
| **Processing** | `ffmpeg`, `mecab` + `mecab-ipadic` | `guessit` (AniSkip), `alass` / `ffsubsync` (subtitle sync) | | **Processing** | `ffmpeg`, `mecab` + `mecab-ipadic` | `guessit` (AniSkip) |
| **Media** | — | `yt-dlp`, `chafa`, `ffmpegthumbnailer` | | **Media** | — | `yt-dlp`, `chafa`, `ffmpegthumbnailer` |
| **Selection** | — | `fzf` / `rofi` | | **Selection** | — | `fzf` / `rofi` |
@@ -125,8 +121,6 @@ Local stats dashboard — watch time, anime library, vocabulary growth, mining t
paru -S --needed mpv ffmpeg mecab-git mecab-ipadic paru -S --needed mpv ffmpeg mecab-git mecab-ipadic
# Optional # Optional
paru -S --needed yt-dlp fzf rofi chafa ffmpegthumbnailer xdotool xorg-xwininfo paru -S --needed yt-dlp fzf rofi chafa ffmpegthumbnailer xdotool xorg-xwininfo
# Optional: subtitle sync (install at least one for subtitle syncing to work)
paru -S --needed alass python-ffsubsync
# X11 / XWAYLAND # X11 / XWAYLAND
paru -S --needed xdotool xorg-xwininfo paru -S --needed xdotool xorg-xwininfo
``` ```
@@ -140,9 +134,6 @@ paru -S --needed xdotool xorg-xwininfo
brew install mpv ffmpeg mecab mecab-ipadic brew install mpv ffmpeg mecab mecab-ipadic
# Optional # Optional
brew install yt-dlp fzf rofi chafa ffmpegthumbnailer brew install yt-dlp fzf rofi chafa ffmpegthumbnailer
# Optional: subtitle sync (install at least one for subtitle syncing to work)
brew install alass
pip install ffsubsync
``` ```
Grant Accessibility permission to SubMiner in **System Settings > Privacy & Security > Accessibility**. Grant Accessibility permission to SubMiner in **System Settings > Privacy & Security > Accessibility**.
@@ -227,7 +218,6 @@ subminer video.mkv # play video with overlay
subminer --start video.mkv # explicit overlay start subminer --start video.mkv # explicit overlay start
subminer stats # open immersion dashboard subminer stats # open immersion dashboard
subminer stats -b # stats daemon in background subminer stats -b # stats daemon in background
subminer stats -s # stop background stats daemon
``` ```
--- ---

View File

@@ -1,11 +1,11 @@
--- ---
id: TASK-143 id: TASK-143
title: Keep character dictionary auto-sync non-blocking during startup title: Keep character dictionary auto-sync non-blocking during startup
status: Done status: In Progress
assignee: assignee:
- codex - codex
created_date: '2026-03-09 01:45' created_date: '2026-03-09 01:45'
updated_date: '2026-03-23 03:22' updated_date: '2026-03-20 09:22'
labels: labels:
- dictionary - dictionary
- startup - startup
@@ -18,7 +18,7 @@ references:
- >- - >-
/home/sudacode/projects/japanese/SubMiner/src/main/runtime/current-media-tokenization-gate.ts /home/sudacode/projects/japanese/SubMiner/src/main/runtime/current-media-tokenization-gate.ts
priority: high priority: high
ordinal: 144500 ordinal: 38500
--- ---
## Description ## Description

View File

@@ -5,7 +5,7 @@ status: Done
assignee: assignee:
- '@codex' - '@codex'
created_date: '2026-03-19 17:46' created_date: '2026-03-19 17:46'
updated_date: '2026-03-23 03:22' updated_date: '2026-03-19 17:54'
labels: labels:
- stats - stats
- immersion-tracking - immersion-tracking
@@ -19,7 +19,6 @@ references:
- src/core/services/stats-server.ts - src/core/services/stats-server.ts
parent_task_id: TASK-177 parent_task_id: TASK-177
priority: medium priority: medium
ordinal: 132500
--- ---
## Description ## Description

View File

@@ -5,7 +5,7 @@ status: Done
assignee: assignee:
- '@codex' - '@codex'
created_date: '2026-03-19 19:38' created_date: '2026-03-19 19:38'
updated_date: '2026-03-23 03:22' updated_date: '2026-03-19 19:40'
labels: labels:
- stats - stats
- immersion-tracking - immersion-tracking
@@ -17,7 +17,6 @@ references:
- stats/src/lib/dashboard-data.ts - stats/src/lib/dashboard-data.ts
parent_task_id: TASK-177 parent_task_id: TASK-177
priority: medium priority: medium
ordinal: 130500
--- ---
## Description ## Description

View File

@@ -5,7 +5,7 @@ status: Done
assignee: assignee:
- '@codex' - '@codex'
created_date: '2026-03-19 20:15' created_date: '2026-03-19 20:15'
updated_date: '2026-03-23 03:22' updated_date: '2026-03-19 20:17'
labels: labels:
- launcher - launcher
- stats - stats
@@ -19,7 +19,6 @@ references:
- src/main/runtime/stats-cli-command.test.ts - src/main/runtime/stats-cli-command.test.ts
parent_task_id: TASK-177 parent_task_id: TASK-177
priority: medium priority: medium
ordinal: 129500
--- ---
## Description ## Description

View File

@@ -5,7 +5,7 @@ status: Done
assignee: assignee:
- codex - codex
created_date: '2026-03-19 20:31' created_date: '2026-03-19 20:31'
updated_date: '2026-03-23 03:22' updated_date: '2026-03-19 20:52'
labels: labels:
- bug - bug
- stats - stats
@@ -17,7 +17,6 @@ references:
- >- - >-
/Users/sudacode/projects/japanese/SubMiner/stats/src/lib/session-detail.test.tsx /Users/sudacode/projects/japanese/SubMiner/stats/src/lib/session-detail.test.tsx
parent_task_id: TASK-182 parent_task_id: TASK-182
ordinal: 128500
--- ---
## Description ## Description

View File

@@ -5,7 +5,7 @@ status: Done
assignee: assignee:
- codex - codex
created_date: '2026-03-18 00:29' created_date: '2026-03-18 00:29'
updated_date: '2026-03-23 03:22' updated_date: '2026-03-18 00:55'
labels: labels:
- stats - stats
- performance - performance
@@ -22,7 +22,6 @@ references:
- stats/src/types/stats.ts - stats/src/types/stats.ts
- stats/src/lib/dashboard-data.ts - stats/src/lib/dashboard-data.ts
priority: medium priority: medium
ordinal: 138500
--- ---
## Description ## Description

View File

@@ -5,7 +5,7 @@ status: Done
assignee: assignee:
- codex - codex
created_date: '2026-03-17 23:15' created_date: '2026-03-17 23:15'
updated_date: '2026-03-23 03:22' updated_date: '2026-03-17 23:18'
labels: labels:
- pr-review - pr-review
- stats - stats
@@ -16,7 +16,6 @@ references:
- src/core/services/immersion-tracker-service.ts - src/core/services/immersion-tracker-service.ts
- src/core/services/immersion-tracker-service.test.ts - src/core/services/immersion-tracker-service.test.ts
priority: medium priority: medium
ordinal: 139500
--- ---
## Description ## Description

View File

@@ -0,0 +1,76 @@
---
id: TASK-192
title: 'Assess remaining PR #19 review batch'
status: Done
assignee:
- codex
created_date: '2026-03-17 23:24'
updated_date: '2026-03-17 23:42'
labels:
- pr-review
- stats
- docs
milestone: m-1
dependencies: []
references:
- docs/superpowers/plans/2026-03-12-immersion-stats-page.md
- src/core/services/immersion-tracker/__tests__/query.test.ts
- src/core/services/ipc.ts
- src/core/services/stats-server.ts
- src/main.ts
- src/renderer/handlers/keyboard.ts
- stats/src
priority: medium
---
## Description
<!-- SECTION:DESCRIPTION:BEGIN -->
Validate the remaining PR #19 automated review findings against the current branch, implement only the technically correct fixes, and document which comments are stale, already addressed, or not warranted.
<!-- SECTION:DESCRIPTION:END -->
## Acceptance Criteria
<!-- AC:BEGIN -->
- [x] #1 Each remaining review comment is classified as actionable, already fixed, stale, or not warranted
- [x] #2 Confirmed bugs or correctness issues are fixed with focused regression coverage where it fits
- [x] #3 Final notes record which comments were intentionally not applied and why
<!-- AC:END -->
## Implementation Plan
<!-- SECTION:PLAN:BEGIN -->
1. Inspect the referenced files in batches and compare each comment against current branch behavior.
2. Separate correctness/security regressions from stylistic nitpicks and already-fixed items.
3. Add tests first for confirmed behavior bugs where practical, apply the smallest safe fixes, and rerun targeted verification.
<!-- SECTION:PLAN:END -->
## Implementation Notes
<!-- SECTION:NOTES:BEGIN -->
Swept the pasted PR #19 review batch against the current branch.
Classification:
- Already fixed on current branch: `src/core/services/immersion-tracker/__tests__/query.test.ts` cleanup rethrow, `src/core/services/ipc.ts` limit validation, `src/core/services/stats-server.ts` max-limit parsing and CORS removal, `src/main.ts` quit-path TDZ issue, `src/renderer/handlers/keyboard.ts` stats-toggle shortcut ordering/config usage, `stats/src/components/vocabulary/WordList.tsx`, `stats/src/hooks/useSessions.ts`, `stats/src/hooks/useTrends.ts` stale-error reset, `src/core/services/__tests__/stats-server.test.ts` kanji endpoint/readability notes, `src/core/services/stats-window.ts`, `stats/src/App.tsx`, `stats/src/components/layout/TabBar.tsx`, `stats/src/components/overview/QuickStats.tsx`, `stats/src/components/overview/WatchTimeChart.tsx`, `stats/src/components/sessions/SessionDetail.tsx`, `stats/src/components/sessions/SessionRow.tsx`, `stats/src/components/trends/DateRangeSelector.tsx`, `stats/src/components/vocabulary/KanjiBreakdown.tsx`, `stats/src/components/vocabulary/VocabularyTab.tsx`, `stats/src/hooks/useVocabulary.ts`, `stats/src/lib/api-client.ts`, `stats/src/types/stats.ts`.
- Stale / obsolete against current architecture: `docs/superpowers/plans/2026-03-12-immersion-stats-page.md` path does not exist on this branch; `stats/src/components/trends/TrendsTab.tsx` / monthly-range comments describe older client-side aggregation code that is no longer present because trends now come from `getTrendsDashboard`.
- Not warranted as written: `stats/src/lib/formatters.ts` no longer emits negative `Xd ago`; current code short-circuits future timestamps to `just now`, so the reported bug condition is gone even though the suggested wording differs.
- Actionable and fixed now: `src/core/services/ipc.ts` no-tracker `statsGetOverview` fallback omitted required hint fields (`totalLookupCount`, `totalLookupHits`, `newWordsToday`, `newWordsThisWeek`). Added the missing fields in the fallback object and updated IPC tests to assert the full shape.
Verification:
- `bun test src/core/services/ipc.test.ts`
- `bun test src/core/services/ipc.test.ts --test-name-pattern "empty stats overview shape without a tracker|validates and clamps stats request limits"`
- `bash .agents/skills/subminer-change-verification/scripts/classify_subminer_diff.sh src/core/services/ipc.ts src/core/services/ipc.test.ts`
Repo verifier note:
- `bash .agents/skills/subminer-change-verification/scripts/verify_subminer_change.sh --lane core src/core/services/ipc.ts src/core/services/ipc.test.ts`
- That verifier run captured a temporary `bun run typecheck` failure in `src/anki-integration.test.ts` and `src/core/services/__tests__/stats-server.test.ts`, but a fresh rerun after the follow-up validation no longer reproduces those diagnostics.
- Fresh verification: `bun run typecheck` passes locally.
- artifact dir from the earlier failed verifier snapshot: `.tmp/skill-verification/subminer-verify-20260317-234027-i6QJ3n`
<!-- SECTION:NOTES:END -->
## Final Summary
<!-- SECTION:FINAL_SUMMARY:BEGIN -->
The larger pasted PR #19 review batch was not mostly new work on the current branch. After verifying each item against the live code, almost all were already fixed or stale. One additional item was still actionable: the no-tracker fallback returned by `statsGetOverview` in `src/core/services/ipc.ts` omitted required hint fields, which made the fallback shape inconsistent with the normal overview payload. That fallback is now fixed and covered by IPC tests.
Count-wise: the earlier open CodeRabbit service comments contributed 2 actionable fixes, and this larger pasted batch contributed 1 additional actionable fix on top of those.
<!-- SECTION:FINAL_SUMMARY:END -->

View File

@@ -5,7 +5,7 @@ status: Done
assignee: assignee:
- codex - codex
created_date: '2026-03-20 00:12' created_date: '2026-03-20 00:12'
updated_date: '2026-03-23 03:22' updated_date: '2026-03-20 00:14'
labels: labels:
- stats - stats
- immersion-tracker - immersion-tracker
@@ -17,7 +17,6 @@ references:
- src/core/services/immersion-tracker/query.ts - src/core/services/immersion-tracker/query.ts
- src/core/services/immersion-tracker-service.test.ts - src/core/services/immersion-tracker-service.test.ts
priority: medium priority: medium
ordinal: 127500
--- ---
## Description ## Description

View File

@@ -4,7 +4,6 @@ title: App-owned YouTube subtitle picker flow
status: Done status: Done
assignee: [] assignee: []
created_date: '2026-03-18 07:52' created_date: '2026-03-18 07:52'
updated_date: '2026-03-23 03:22'
labels: [] labels: []
dependencies: [] dependencies: []
references: references:
@@ -14,7 +13,6 @@ references:
documentation: documentation:
- /home/sudacode/projects/japanese/SubMiner/youtube.md - /home/sudacode/projects/japanese/SubMiner/youtube.md
priority: medium priority: medium
ordinal: 137500
--- ---
## Description ## Description

View File

@@ -4,16 +4,13 @@ title: Fix subtitle prefetch cache-key mismatch and active-cue window
status: Done status: Done
assignee: [] assignee: []
created_date: '2026-03-18 16:05' created_date: '2026-03-18 16:05'
updated_date: '2026-03-23 03:22'
labels: [] labels: []
dependencies: [] dependencies: []
references: references:
- >- - /home/sudacode/projects/japanese/SubMiner/src/core/services/subtitle-processing-controller.ts
/home/sudacode/projects/japanese/SubMiner/src/core/services/subtitle-processing-controller.ts - /home/sudacode/projects/japanese/SubMiner/src/core/services/subtitle-prefetch.ts
- >- documentation: []
/home/sudacode/projects/japanese/SubMiner/src/core/services/subtitle-prefetch.ts
priority: high priority: high
ordinal: 136500
--- ---
## Description ## Description

View File

@@ -4,19 +4,15 @@ title: Eliminate per-line plain subtitle flash on prefetch cache hit
status: Done status: Done
assignee: [] assignee: []
created_date: '2026-03-18 16:28' created_date: '2026-03-18 16:28'
updated_date: '2026-03-23 03:22'
labels: [] labels: []
dependencies: dependencies:
- TASK-196 - TASK-196
references: references:
- >- - /home/sudacode/projects/japanese/SubMiner/src/core/services/subtitle-processing-controller.ts
/home/sudacode/projects/japanese/SubMiner/src/core/services/subtitle-processing-controller.ts - /home/sudacode/projects/japanese/SubMiner/src/main/runtime/mpv-main-event-actions.ts
- >- - /home/sudacode/projects/japanese/SubMiner/src/main/runtime/mpv-main-event-main-deps.ts
/home/sudacode/projects/japanese/SubMiner/src/main/runtime/mpv-main-event-actions.ts documentation: []
- >-
/home/sudacode/projects/japanese/SubMiner/src/main/runtime/mpv-main-event-main-deps.ts
priority: high priority: high
ordinal: 135500
--- ---
## Description ## Description

View File

@@ -4,7 +4,6 @@ title: Forward launcher log level into mpv plugin script opts
status: Done status: Done
assignee: [] assignee: []
created_date: '2026-03-18 21:16' created_date: '2026-03-18 21:16'
updated_date: '2026-03-23 03:22'
labels: [] labels: []
dependencies: dependencies:
- TASK-198 - TASK-198
@@ -13,8 +12,8 @@ references:
- /home/sudacode/projects/japanese/SubMiner/launcher/mpv.ts - /home/sudacode/projects/japanese/SubMiner/launcher/mpv.ts
- /home/sudacode/projects/japanese/SubMiner/launcher/main.test.ts - /home/sudacode/projects/japanese/SubMiner/launcher/main.test.ts
- /home/sudacode/projects/japanese/SubMiner/launcher/aniskip-metadata.test.ts - /home/sudacode/projects/japanese/SubMiner/launcher/aniskip-metadata.test.ts
documentation: []
priority: medium priority: medium
ordinal: 134500
--- ---
## Description ## Description

View File

@@ -5,7 +5,7 @@ status: Done
assignee: assignee:
- '@codex' - '@codex'
created_date: '2026-03-19 07:18' created_date: '2026-03-19 07:18'
updated_date: '2026-03-23 03:22' updated_date: '2026-03-19 07:28'
labels: labels:
- pr-review - pr-review
- anki-integration - anki-integration
@@ -19,7 +19,6 @@ references:
- src/anki-integration/runtime.ts - src/anki-integration/runtime.ts
- src/anki-integration/known-word-cache.ts - src/anki-integration/known-word-cache.ts
priority: medium priority: medium
ordinal: 133500
--- ---
## Description ## Description

Some files were not shown because too many files have changed in this diff Show More