mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-27 18:22:41 -08:00
chore(backlog): sync task metadata and finalize jellyfin task states
This commit is contained in:
@@ -4,12 +4,12 @@ title: Refactor runtime services per plan.md
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-10 18:46'
|
created_date: '2026-02-10 18:46'
|
||||||
updated_date: '2026-02-11 03:35'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies: []
|
dependencies: []
|
||||||
references:
|
references:
|
||||||
- plan.md
|
- plan.md
|
||||||
ordinal: 1000
|
ordinal: 2000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ status: Done
|
|||||||
assignee:
|
assignee:
|
||||||
- codex
|
- codex
|
||||||
created_date: '2026-02-10 18:46'
|
created_date: '2026-02-10 18:46'
|
||||||
updated_date: '2026-02-11 03:35'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies: []
|
dependencies: []
|
||||||
references:
|
references:
|
||||||
@@ -13,7 +13,7 @@ references:
|
|||||||
- src/main.ts
|
- src/main.ts
|
||||||
- src/core/services/index.ts
|
- src/core/services/index.ts
|
||||||
parent_task_id: TASK-1
|
parent_task_id: TASK-1
|
||||||
ordinal: 11000
|
ordinal: 12000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ status: Done
|
|||||||
assignee:
|
assignee:
|
||||||
- codex
|
- codex
|
||||||
created_date: '2026-02-10 18:46'
|
created_date: '2026-02-10 18:46'
|
||||||
updated_date: '2026-02-11 03:35'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies:
|
dependencies:
|
||||||
- TASK-1.1
|
- TASK-1.1
|
||||||
@@ -16,7 +16,7 @@ references:
|
|||||||
- src/core/services/tokenizer-service.ts
|
- src/core/services/tokenizer-service.ts
|
||||||
- src/core/services/app-lifecycle-deps-runtime-service.ts
|
- src/core/services/app-lifecycle-deps-runtime-service.ts
|
||||||
parent_task_id: TASK-1
|
parent_task_id: TASK-1
|
||||||
ordinal: 9000
|
ordinal: 10000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ status: Done
|
|||||||
assignee:
|
assignee:
|
||||||
- codex
|
- codex
|
||||||
created_date: '2026-02-10 18:46'
|
created_date: '2026-02-10 18:46'
|
||||||
updated_date: '2026-02-11 03:35'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies:
|
dependencies:
|
||||||
- TASK-1.2
|
- TASK-1.2
|
||||||
@@ -17,7 +17,7 @@ references:
|
|||||||
- src/core/services/numeric-shortcut-session-service.ts
|
- src/core/services/numeric-shortcut-session-service.ts
|
||||||
- src/core/services/app-ready-runtime-service.ts
|
- src/core/services/app-ready-runtime-service.ts
|
||||||
parent_task_id: TASK-1
|
parent_task_id: TASK-1
|
||||||
ordinal: 5000
|
ordinal: 6000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ status: Done
|
|||||||
assignee:
|
assignee:
|
||||||
- codex
|
- codex
|
||||||
created_date: '2026-02-10 18:46'
|
created_date: '2026-02-10 18:46'
|
||||||
updated_date: '2026-02-11 03:35'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies:
|
dependencies:
|
||||||
- TASK-1.3
|
- TASK-1.3
|
||||||
@@ -15,7 +15,7 @@ references:
|
|||||||
- src/core/services/overlay-visibility-service.ts
|
- src/core/services/overlay-visibility-service.ts
|
||||||
- src/core/services/tokenizer-deps-runtime-service.ts
|
- src/core/services/tokenizer-deps-runtime-service.ts
|
||||||
parent_task_id: TASK-1
|
parent_task_id: TASK-1
|
||||||
ordinal: 2000
|
ordinal: 3000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ status: Done
|
|||||||
assignee:
|
assignee:
|
||||||
- codex
|
- codex
|
||||||
created_date: '2026-02-10 18:46'
|
created_date: '2026-02-10 18:46'
|
||||||
updated_date: '2026-02-11 03:35'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies:
|
dependencies:
|
||||||
- TASK-1.4
|
- TASK-1.4
|
||||||
@@ -16,7 +16,7 @@ references:
|
|||||||
- src/core/services/tokenizer-service.ts
|
- src/core/services/tokenizer-service.ts
|
||||||
- src/core/services/cli-command-service.ts
|
- src/core/services/cli-command-service.ts
|
||||||
parent_task_id: TASK-1
|
parent_task_id: TASK-1
|
||||||
ordinal: 4000
|
ordinal: 5000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -4,14 +4,14 @@ title: 'Phase 6 (Optional): Reorganize services by domain directories'
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-10 18:46'
|
created_date: '2026-02-10 18:46'
|
||||||
updated_date: '2026-02-11 03:35'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies:
|
dependencies:
|
||||||
- TASK-1.5
|
- TASK-1.5
|
||||||
references:
|
references:
|
||||||
- plan.md
|
- plan.md
|
||||||
parent_task_id: TASK-1
|
parent_task_id: TASK-1
|
||||||
ordinal: 3000
|
ordinal: 4000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -1,45 +0,0 @@
|
|||||||
---
|
|
||||||
id: TASK-13
|
|
||||||
title: Fix macOS native window bounds for overlay binding
|
|
||||||
status: Done
|
|
||||||
assignee:
|
|
||||||
- codex
|
|
||||||
created_date: '2026-02-11 15:45'
|
|
||||||
updated_date: '2026-02-11 16:36'
|
|
||||||
labels:
|
|
||||||
- bug
|
|
||||||
- macos
|
|
||||||
- overlay
|
|
||||||
dependencies: []
|
|
||||||
references:
|
|
||||||
- src/window-trackers/macos-tracker.ts
|
|
||||||
- scripts/get-mpv-window-macos.swift
|
|
||||||
priority: high
|
|
||||||
---
|
|
||||||
|
|
||||||
## Description
|
|
||||||
|
|
||||||
<!-- SECTION:DESCRIPTION:BEGIN -->
|
|
||||||
Overlay windows on macOS are not properly aligned to the mpv window after switching from AppleScript window discovery to native Swift/CoreGraphics bounds retrieval.
|
|
||||||
|
|
||||||
Implement a robust native bounds strategy that prefers Accessibility window geometry (matching app-window coordinates used previously) and falls back to filtered CoreGraphics windows when Accessibility data is unavailable.
|
|
||||||
<!-- SECTION:DESCRIPTION:END -->
|
|
||||||
|
|
||||||
## Acceptance Criteria
|
|
||||||
<!-- AC:BEGIN -->
|
|
||||||
- [x] #1 Overlay bounds track the active mpv window with correct position and size on macOS.
|
|
||||||
- [x] #2 Helper avoids selecting off-screen/non-primary mpv-related windows.
|
|
||||||
- [x] #3 Build succeeds with the updated macOS helper.
|
|
||||||
<!-- AC:END -->
|
|
||||||
|
|
||||||
## Implementation Notes
|
|
||||||
|
|
||||||
<!-- SECTION:NOTES:BEGIN -->
|
|
||||||
Follow-up in progress after packaged app runtime showed fullscreen fallback behavior:
|
|
||||||
- Added packaged-app helper path resolution in tracker (`process.resourcesPath/scripts/get-mpv-window-macos`).
|
|
||||||
- Added `.asar` helper materialization to temp path so child process execution is possible if candidate path resolves inside asar.
|
|
||||||
- Added throttled tracker logging for helper execution failures to expose runtime errors without log spam.
|
|
||||||
- Updated Electron builder `extraResources` to ship `dist/scripts/get-mpv-window-macos` outside asar at `resources/scripts/get-mpv-window-macos`.
|
|
||||||
- Added macOS-only invisible subtitle vertical nudge (`+5px`) in renderer layout to align interactive subtitles with mpv glyph baseline after bounds fix.
|
|
||||||
- Increased macOS-only invisible subtitle line-height for multi-line text to improve separation as line count grows.
|
|
||||||
<!-- SECTION:NOTES:END -->
|
|
||||||
@@ -4,13 +4,14 @@ title: Fix second-instance --start when texthooker-only instance is running
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-11 23:47'
|
created_date: '2026-02-11 23:47'
|
||||||
updated_date: '2026-02-11 23:47'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels:
|
labels:
|
||||||
- bugfix
|
- bugfix
|
||||||
- cli
|
- cli
|
||||||
- overlay
|
- overlay
|
||||||
dependencies: []
|
dependencies: []
|
||||||
priority: high
|
priority: high
|
||||||
|
ordinal: 51000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -4,13 +4,14 @@ title: Ensure subminer launcher shows visible overlay on startup
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-12 00:22'
|
created_date: '2026-02-12 00:22'
|
||||||
updated_date: '2026-02-12 00:23'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels:
|
labels:
|
||||||
- bugfix
|
- bugfix
|
||||||
- launcher
|
- launcher
|
||||||
- overlay
|
- overlay
|
||||||
dependencies: []
|
dependencies: []
|
||||||
priority: high
|
priority: high
|
||||||
|
ordinal: 50000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -4,13 +4,14 @@ title: Fix renderer module loading regression after task 6 split
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-12 00:45'
|
created_date: '2026-02-12 00:45'
|
||||||
updated_date: '2026-02-12 00:46'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels:
|
labels:
|
||||||
- regression
|
- regression
|
||||||
- overlay
|
- overlay
|
||||||
- renderer
|
- renderer
|
||||||
dependencies: []
|
dependencies: []
|
||||||
priority: high
|
priority: high
|
||||||
|
ordinal: 49000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -4,13 +4,14 @@ title: Revert overlay startup experiment changes and keep renderer fix
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-12 01:45'
|
created_date: '2026-02-12 01:45'
|
||||||
updated_date: '2026-02-12 01:46'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels:
|
labels:
|
||||||
- regression
|
- regression
|
||||||
- overlay
|
- overlay
|
||||||
- launcher
|
- launcher
|
||||||
dependencies: []
|
dependencies: []
|
||||||
priority: high
|
priority: high
|
||||||
|
ordinal: 48000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ status: Done
|
|||||||
assignee:
|
assignee:
|
||||||
- codex
|
- codex
|
||||||
created_date: '2026-02-12 02:27'
|
created_date: '2026-02-12 02:27'
|
||||||
updated_date: '2026-02-12 09:42'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels:
|
labels:
|
||||||
- overlay
|
- overlay
|
||||||
- ux
|
- ux
|
||||||
@@ -14,6 +14,7 @@ dependencies: []
|
|||||||
documentation:
|
documentation:
|
||||||
- overlay_window.md
|
- overlay_window.md
|
||||||
priority: high
|
priority: high
|
||||||
|
ordinal: 47000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ status: Done
|
|||||||
assignee:
|
assignee:
|
||||||
- codex
|
- codex
|
||||||
created_date: '2026-02-11 16:48'
|
created_date: '2026-02-11 16:48'
|
||||||
updated_date: '2026-02-11 16:48'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels:
|
labels:
|
||||||
- build
|
- build
|
||||||
- macos
|
- macos
|
||||||
@@ -14,6 +14,7 @@ dependencies: []
|
|||||||
references:
|
references:
|
||||||
- scripts/build-external.sh
|
- scripts/build-external.sh
|
||||||
priority: medium
|
priority: medium
|
||||||
|
ordinal: 54000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -5,14 +5,14 @@ status: Done
|
|||||||
assignee:
|
assignee:
|
||||||
- codex
|
- codex
|
||||||
created_date: '2026-02-10 18:56'
|
created_date: '2026-02-10 18:56'
|
||||||
updated_date: '2026-02-11 03:35'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies:
|
dependencies:
|
||||||
- TASK-1
|
- TASK-1
|
||||||
references:
|
references:
|
||||||
- investigation.md
|
- investigation.md
|
||||||
- docs/refactor-main-checklist.md
|
- docs/refactor-main-checklist.md
|
||||||
ordinal: 13000
|
ordinal: 14000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ status: Done
|
|||||||
assignee:
|
assignee:
|
||||||
- codex
|
- codex
|
||||||
created_date: '2026-02-10 18:56'
|
created_date: '2026-02-10 18:56'
|
||||||
updated_date: '2026-02-11 03:35'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies:
|
dependencies:
|
||||||
- TASK-1
|
- TASK-1
|
||||||
@@ -20,7 +20,7 @@ references:
|
|||||||
- src/ipc/
|
- src/ipc/
|
||||||
- src/core/services/index.ts
|
- src/core/services/index.ts
|
||||||
parent_task_id: TASK-2
|
parent_task_id: TASK-2
|
||||||
ordinal: 10000
|
ordinal: 11000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ status: Done
|
|||||||
assignee:
|
assignee:
|
||||||
- codex
|
- codex
|
||||||
created_date: '2026-02-10 18:56'
|
created_date: '2026-02-10 18:56'
|
||||||
updated_date: '2026-02-11 03:35'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies:
|
dependencies:
|
||||||
- TASK-2.1
|
- TASK-2.1
|
||||||
@@ -13,7 +13,7 @@ references:
|
|||||||
- investigation.md
|
- investigation.md
|
||||||
- src/core/services/overlay-shortcut-handler.ts
|
- src/core/services/overlay-shortcut-handler.ts
|
||||||
parent_task_id: TASK-2
|
parent_task_id: TASK-2
|
||||||
ordinal: 8000
|
ordinal: 9000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ status: Done
|
|||||||
assignee:
|
assignee:
|
||||||
- codex
|
- codex
|
||||||
created_date: '2026-02-10 18:56'
|
created_date: '2026-02-10 18:56'
|
||||||
updated_date: '2026-02-11 03:35'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies:
|
dependencies:
|
||||||
- TASK-2.1
|
- TASK-2.1
|
||||||
@@ -13,7 +13,7 @@ references:
|
|||||||
- investigation.md
|
- investigation.md
|
||||||
- src/core/services/mining-service.ts
|
- src/core/services/mining-service.ts
|
||||||
parent_task_id: TASK-2
|
parent_task_id: TASK-2
|
||||||
ordinal: 7000
|
ordinal: 8000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ status: Done
|
|||||||
assignee:
|
assignee:
|
||||||
- codex
|
- codex
|
||||||
created_date: '2026-02-10 18:56'
|
created_date: '2026-02-10 18:56'
|
||||||
updated_date: '2026-02-11 03:35'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies:
|
dependencies:
|
||||||
- TASK-2.1
|
- TASK-2.1
|
||||||
@@ -13,7 +13,7 @@ references:
|
|||||||
- investigation.md
|
- investigation.md
|
||||||
- src/core/services/anki-jimaku-service.ts
|
- src/core/services/anki-jimaku-service.ts
|
||||||
parent_task_id: TASK-2
|
parent_task_id: TASK-2
|
||||||
ordinal: 6000
|
ordinal: 7000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ title: Perform desktop smoke validation with mpv
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-10 18:56'
|
created_date: '2026-02-10 18:56'
|
||||||
updated_date: '2026-02-11 03:35'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies:
|
dependencies:
|
||||||
- TASK-2.2
|
- TASK-2.2
|
||||||
@@ -14,7 +14,7 @@ references:
|
|||||||
- investigation.md
|
- investigation.md
|
||||||
- docs/refactor-main-checklist.md
|
- docs/refactor-main-checklist.md
|
||||||
parent_task_id: TASK-2
|
parent_task_id: TASK-2
|
||||||
ordinal: 12000
|
ordinal: 13000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -4,11 +4,12 @@ title: Add renderer-to-main IPC contract for measured overlay content bounds
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-12 08:47'
|
created_date: '2026-02-12 08:47'
|
||||||
updated_date: '2026-02-13 08:05'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies: []
|
dependencies: []
|
||||||
parent_task_id: TASK-20
|
parent_task_id: TASK-20
|
||||||
priority: medium
|
priority: medium
|
||||||
|
ordinal: 45000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -4,10 +4,11 @@ title: Persist and restore MPV secondary subtitle visibility across app lifecycl
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-13 07:59'
|
created_date: '2026-02-13 07:59'
|
||||||
updated_date: '2026-02-13 08:01'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies: []
|
dependencies: []
|
||||||
priority: high
|
priority: high
|
||||||
|
ordinal: 46000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -6,10 +6,11 @@ title: >-
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-13 16:42'
|
created_date: '2026-02-13 16:42'
|
||||||
updated_date: '2026-02-16 02:00'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies: []
|
dependencies: []
|
||||||
priority: high
|
priority: high
|
||||||
|
ordinal: 34000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -4,11 +4,12 @@ title: Implement JLPT token lookup service for subtitle words
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-13 16:42'
|
created_date: '2026-02-13 16:42'
|
||||||
updated_date: '2026-02-16 02:01'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies: []
|
dependencies: []
|
||||||
parent_task_id: TASK-23
|
parent_task_id: TASK-23
|
||||||
priority: high
|
priority: high
|
||||||
|
ordinal: 32000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -4,11 +4,12 @@ title: Bundle JLPT Yomitan dictionary assets for offline local lookup
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-13 16:42'
|
created_date: '2026-02-13 16:42'
|
||||||
updated_date: '2026-02-16 02:01'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies: []
|
dependencies: []
|
||||||
parent_task_id: TASK-23
|
parent_task_id: TASK-23
|
||||||
priority: high
|
priority: high
|
||||||
|
ordinal: 33000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -4,10 +4,12 @@ title: Render JLPT token underlines with level-based colors in subtitle lines
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-13 16:42'
|
created_date: '2026-02-13 16:42'
|
||||||
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies: []
|
dependencies: []
|
||||||
parent_task_id: TASK-23
|
parent_task_id: TASK-23
|
||||||
priority: high
|
priority: high
|
||||||
|
ordinal: 44000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -4,11 +4,12 @@ title: Add opt-in control and end-to-end flow + tests for JLPT tagging
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-13 16:42'
|
created_date: '2026-02-13 16:42'
|
||||||
updated_date: '2026-02-16 02:00'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies: []
|
dependencies: []
|
||||||
parent_task_id: TASK-23
|
parent_task_id: TASK-23
|
||||||
priority: high
|
priority: high
|
||||||
|
ordinal: 35000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -6,10 +6,11 @@ title: >-
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-13 16:45'
|
created_date: '2026-02-13 16:45'
|
||||||
updated_date: '2026-02-15 08:17'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies: []
|
dependencies: []
|
||||||
priority: high
|
priority: high
|
||||||
|
ordinal: 37000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -6,13 +6,14 @@ title: >-
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-13 16:47'
|
created_date: '2026-02-13 16:47'
|
||||||
updated_date: '2026-02-16 06:48'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies: []
|
dependencies: []
|
||||||
documentation:
|
documentation:
|
||||||
- /Users/sudacode/.codex/worktrees/2089/SubMiner/docs/configuration.md
|
- /Users/sudacode/.codex/worktrees/2089/SubMiner/docs/configuration.md
|
||||||
- /Users/sudacode/.codex/worktrees/2089/SubMiner/docs/jlpt-vocab-bundle.md
|
- /Users/sudacode/.codex/worktrees/2089/SubMiner/docs/jlpt-vocab-bundle.md
|
||||||
priority: high
|
priority: high
|
||||||
|
ordinal: 28000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -6,9 +6,11 @@ title: >-
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-13 16:49'
|
created_date: '2026-02-13 16:49'
|
||||||
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies: []
|
dependencies: []
|
||||||
priority: high
|
priority: high
|
||||||
|
ordinal: 43000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ status: Done
|
|||||||
assignee:
|
assignee:
|
||||||
- backend
|
- backend
|
||||||
created_date: '2026-02-13 17:13'
|
created_date: '2026-02-13 17:13'
|
||||||
updated_date: '2026-02-14 08:43'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels:
|
labels:
|
||||||
- refactor
|
- refactor
|
||||||
- documentation
|
- documentation
|
||||||
@@ -16,6 +16,7 @@ documentation:
|
|||||||
- docs/structure-roadmap.md
|
- docs/structure-roadmap.md
|
||||||
parent_task_id: TASK-27
|
parent_task_id: TASK-27
|
||||||
priority: high
|
priority: high
|
||||||
|
ordinal: 42000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ status: Done
|
|||||||
assignee:
|
assignee:
|
||||||
- backend
|
- backend
|
||||||
created_date: '2026-02-13 17:13'
|
created_date: '2026-02-13 17:13'
|
||||||
updated_date: '2026-02-15 01:25'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels:
|
labels:
|
||||||
- 'owner:backend'
|
- 'owner:backend'
|
||||||
- 'owner:architect'
|
- 'owner:architect'
|
||||||
@@ -18,6 +18,7 @@ documentation:
|
|||||||
- docs/architecture.md
|
- docs/architecture.md
|
||||||
parent_task_id: TASK-27
|
parent_task_id: TASK-27
|
||||||
priority: high
|
priority: high
|
||||||
|
ordinal: 40000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ status: Done
|
|||||||
assignee:
|
assignee:
|
||||||
- backend
|
- backend
|
||||||
created_date: '2026-02-13 17:13'
|
created_date: '2026-02-13 17:13'
|
||||||
updated_date: '2026-02-15 04:23'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels:
|
labels:
|
||||||
- 'owner:backend'
|
- 'owner:backend'
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -16,6 +16,7 @@ documentation:
|
|||||||
- docs/architecture.md
|
- docs/architecture.md
|
||||||
parent_task_id: TASK-27
|
parent_task_id: TASK-27
|
||||||
priority: high
|
priority: high
|
||||||
|
ordinal: 39000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ status: Done
|
|||||||
assignee:
|
assignee:
|
||||||
- backend
|
- backend
|
||||||
created_date: '2026-02-13 17:13'
|
created_date: '2026-02-13 17:13'
|
||||||
updated_date: '2026-02-15 00:31'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels:
|
labels:
|
||||||
- 'owner:backend'
|
- 'owner:backend'
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -16,6 +16,7 @@ documentation:
|
|||||||
- docs/architecture.md
|
- docs/architecture.md
|
||||||
parent_task_id: TASK-27
|
parent_task_id: TASK-27
|
||||||
priority: high
|
priority: high
|
||||||
|
ordinal: 41000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ status: Done
|
|||||||
assignee:
|
assignee:
|
||||||
- frontend
|
- frontend
|
||||||
created_date: '2026-02-13 17:13'
|
created_date: '2026-02-13 17:13'
|
||||||
updated_date: '2026-02-15 23:59'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels:
|
labels:
|
||||||
- refactor
|
- refactor
|
||||||
- renderer
|
- renderer
|
||||||
@@ -21,6 +21,7 @@ documentation:
|
|||||||
- docs/architecture.md
|
- docs/architecture.md
|
||||||
parent_task_id: TASK-27
|
parent_task_id: TASK-27
|
||||||
priority: low
|
priority: low
|
||||||
|
ordinal: 36000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ title: Add SQLite-backed immersion tracking for mining sessions
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-13 17:52'
|
created_date: '2026-02-13 17:52'
|
||||||
updated_date: '2026-02-18 02:36'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels:
|
labels:
|
||||||
- analytics
|
- analytics
|
||||||
- backend
|
- backend
|
||||||
@@ -12,6 +12,7 @@ labels:
|
|||||||
- immersion
|
- immersion
|
||||||
dependencies: []
|
dependencies: []
|
||||||
priority: medium
|
priority: medium
|
||||||
|
ordinal: 15000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ title: Add Anilist integration for post-watch updates
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-13 17:57'
|
created_date: '2026-02-13 17:57'
|
||||||
updated_date: '2026-02-17 09:27'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels:
|
labels:
|
||||||
- anilist
|
- anilist
|
||||||
- anime
|
- anime
|
||||||
@@ -13,6 +13,7 @@ labels:
|
|||||||
- api
|
- api
|
||||||
dependencies: []
|
dependencies: []
|
||||||
priority: medium
|
priority: medium
|
||||||
|
ordinal: 16000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ title: Implement secure AniList token lifecycle and account management
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-17 04:12'
|
created_date: '2026-02-17 04:12'
|
||||||
updated_date: '2026-02-17 04:19'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels:
|
labels:
|
||||||
- anilist
|
- anilist
|
||||||
- security
|
- security
|
||||||
@@ -12,6 +12,7 @@ labels:
|
|||||||
dependencies: []
|
dependencies: []
|
||||||
parent_task_id: TASK-29
|
parent_task_id: TASK-29
|
||||||
priority: medium
|
priority: medium
|
||||||
|
ordinal: 18000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Acceptance Criteria
|
## Acceptance Criteria
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ title: Implement AniList retry/backoff queue for failed post-watch updates
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-17 04:13'
|
created_date: '2026-02-17 04:13'
|
||||||
updated_date: '2026-02-17 04:19'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels:
|
labels:
|
||||||
- anilist
|
- anilist
|
||||||
- reliability
|
- reliability
|
||||||
@@ -12,6 +12,7 @@ labels:
|
|||||||
dependencies: []
|
dependencies: []
|
||||||
parent_task_id: TASK-29
|
parent_task_id: TASK-29
|
||||||
priority: medium
|
priority: medium
|
||||||
|
ordinal: 19000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Acceptance Criteria
|
## Acceptance Criteria
|
||||||
|
|||||||
@@ -1,15 +1,16 @@
|
|||||||
---
|
---
|
||||||
id: TASK-31
|
id: TASK-31
|
||||||
title: Add optional Jellyfin integration with basic streaming/ playback features
|
title: Add optional Jellyfin integration with basic streaming/ playback features
|
||||||
status: In Progress
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-13 18:38'
|
created_date: '2026-02-13 18:38'
|
||||||
updated_date: '2026-02-18 02:54'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies: []
|
dependencies: []
|
||||||
references:
|
references:
|
||||||
- TASK-64
|
- TASK-64
|
||||||
- docs/plans/2026-02-17-jellyfin-cast-remote-playback.md
|
- docs/plans/2026-02-17-jellyfin-cast-remote-playback.md
|
||||||
|
ordinal: 57000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
@@ -21,8 +22,8 @@ Implement optional Jellyfin integration so SubMiner can act as a lightweight Jel
|
|||||||
## Acceptance Criteria
|
## Acceptance Criteria
|
||||||
<!-- AC:BEGIN -->
|
<!-- AC:BEGIN -->
|
||||||
- [x] #1 Add a configurable Jellyfin integration path that can be enabled/disabled without impacting core non-Jellyfin functionality.
|
- [x] #1 Add a configurable Jellyfin integration path that can be enabled/disabled without impacting core non-Jellyfin functionality.
|
||||||
- [ ] #2 Support authenticating against a user-selected Jellyfin server (server URL + credentials/token) and securely storing/reusing connection settings.
|
- [x] #2 Support authenticating against a user-selected Jellyfin server (server URL + credentials/token) and securely storing/reusing connection settings.
|
||||||
- [ ] #3 Allow discovery or manual selection of movies/tv shows/music libraries and playback items from the connected Jellyfin server.
|
- [x] #3 Allow discovery or manual selection of movies/tv shows/music libraries and playback items from the connected Jellyfin server.
|
||||||
- [x] #4 Enable playback from Jellyfin items via existing player pipeline with a dedicated selection/launch flow.
|
- [x] #4 Enable playback from Jellyfin items via existing player pipeline with a dedicated selection/launch flow.
|
||||||
- [x] #5 Honor Jellyfin playback options so direct play is attempted first when media/profiles are compatible.
|
- [x] #5 Honor Jellyfin playback options so direct play is attempted first when media/profiles are compatible.
|
||||||
- [x] #6 Fall back to Jellyfin-managed transcoding when direct play is not possible, passing required transcode parameters to the player.
|
- [x] #6 Fall back to Jellyfin-managed transcoding when direct play is not possible, passing required transcode parameters to the player.
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ title: Restrict mpv socket connection logs to debug mode in Electron
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-13 19:39'
|
created_date: '2026-02-13 19:39'
|
||||||
updated_date: '2026-02-16 03:05'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels:
|
labels:
|
||||||
- electron
|
- electron
|
||||||
- logging
|
- logging
|
||||||
@@ -13,6 +13,7 @@ labels:
|
|||||||
- quality
|
- quality
|
||||||
dependencies: []
|
dependencies: []
|
||||||
priority: high
|
priority: high
|
||||||
|
ordinal: 31000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -4,13 +4,14 @@ title: Add CI/CD pipeline for automated testing and quality gates
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-14 00:57'
|
created_date: '2026-02-14 00:57'
|
||||||
updated_date: '2026-02-17 07:36'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels:
|
labels:
|
||||||
- infrastructure
|
- infrastructure
|
||||||
- ci
|
- ci
|
||||||
- quality
|
- quality
|
||||||
dependencies: []
|
dependencies: []
|
||||||
priority: high
|
priority: high
|
||||||
|
ordinal: 17000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -4,13 +4,14 @@ title: Add structured logging with configurable verbosity levels
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-14 00:59'
|
created_date: '2026-02-14 00:59'
|
||||||
updated_date: '2026-02-17 04:16'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels:
|
labels:
|
||||||
- infrastructure
|
- infrastructure
|
||||||
- developer-experience
|
- developer-experience
|
||||||
- observability
|
- observability
|
||||||
dependencies: []
|
dependencies: []
|
||||||
priority: medium
|
priority: medium
|
||||||
|
ordinal: 20000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -4,10 +4,11 @@ title: Improve Mermaid diagrams in docs for readability
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-11 07:11'
|
created_date: '2026-02-11 07:11'
|
||||||
updated_date: '2026-02-11 07:11'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies: []
|
dependencies: []
|
||||||
priority: medium
|
priority: medium
|
||||||
|
ordinal: 55000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ status: Done
|
|||||||
assignee:
|
assignee:
|
||||||
- codex
|
- codex
|
||||||
created_date: '2026-02-11 08:20'
|
created_date: '2026-02-11 08:20'
|
||||||
updated_date: '2026-02-11 17:46'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels:
|
labels:
|
||||||
- refactor
|
- refactor
|
||||||
- types
|
- types
|
||||||
@@ -17,6 +17,7 @@ references:
|
|||||||
- src/types.ts
|
- src/types.ts
|
||||||
- src/main.ts
|
- src/main.ts
|
||||||
priority: high
|
priority: high
|
||||||
|
ordinal: 53000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ title: Consolidate fragmented JLPT utility modules
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-16 04:47'
|
created_date: '2026-02-16 04:47'
|
||||||
updated_date: '2026-02-16 04:57'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies: []
|
dependencies: []
|
||||||
references:
|
references:
|
||||||
@@ -15,6 +15,7 @@ references:
|
|||||||
- >-
|
- >-
|
||||||
/home/sudacode/projects/japanese/SubMiner/src/core/services/jlpt-ignored-mecab-pos1.ts
|
/home/sudacode/projects/japanese/SubMiner/src/core/services/jlpt-ignored-mecab-pos1.ts
|
||||||
priority: medium
|
priority: medium
|
||||||
|
ordinal: 30000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -4,12 +4,13 @@ title: Audit and consolidate micro-services under 50 lines
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-16 04:47'
|
created_date: '2026-02-16 04:47'
|
||||||
updated_date: '2026-02-16 05:04'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies: []
|
dependencies: []
|
||||||
references:
|
references:
|
||||||
- /home/sudacode/projects/japanese/SubMiner/src/core/services/
|
- /home/sudacode/projects/japanese/SubMiner/src/core/services/
|
||||||
priority: medium
|
priority: medium
|
||||||
|
ordinal: 29000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -6,9 +6,10 @@ title: >-
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-16 22:04'
|
created_date: '2026-02-16 22:04'
|
||||||
updated_date: '2026-02-16 22:06'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies: []
|
dependencies: []
|
||||||
|
ordinal: 27000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -4,9 +4,10 @@ title: Restrict Yomitan frequency lookup to selected headword only
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-16 22:16'
|
created_date: '2026-02-16 22:16'
|
||||||
updated_date: '2026-02-16 22:18'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies: []
|
dependencies: []
|
||||||
|
ordinal: 26000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ status: Done
|
|||||||
assignee:
|
assignee:
|
||||||
- codex
|
- codex
|
||||||
created_date: '2026-02-11 08:20'
|
created_date: '2026-02-11 08:20'
|
||||||
updated_date: '2026-02-11 20:45'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels:
|
labels:
|
||||||
- refactor
|
- refactor
|
||||||
- renderer
|
- renderer
|
||||||
@@ -16,6 +16,7 @@ dependencies:
|
|||||||
references:
|
references:
|
||||||
- src/renderer/renderer.ts
|
- src/renderer/renderer.ts
|
||||||
priority: high
|
priority: high
|
||||||
|
ordinal: 52000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -4,9 +4,10 @@ title: Remove hard-coded particle term exclusions from frequency lookup
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-16 22:20'
|
created_date: '2026-02-16 22:20'
|
||||||
updated_date: '2026-02-16 22:21'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies: []
|
dependencies: []
|
||||||
|
ordinal: 25000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -4,9 +4,10 @@ title: Ensure parser utility scripts exit immediately after output
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-16 22:35'
|
created_date: '2026-02-16 22:35'
|
||||||
updated_date: '2026-02-16 22:37'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies: []
|
dependencies: []
|
||||||
|
ordinal: 24000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -4,10 +4,11 @@ title: Color full Japanese term when Yomitan splits lookup into multiple tokens
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-16 23:03'
|
created_date: '2026-02-16 23:03'
|
||||||
updated_date: '2026-02-16 23:11'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies: []
|
dependencies: []
|
||||||
priority: medium
|
priority: medium
|
||||||
|
ordinal: 23000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -4,10 +4,11 @@ title: Add runtime toggle to log selected Yomitan token groups
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-16 23:38'
|
created_date: '2026-02-16 23:38'
|
||||||
updated_date: '2026-02-16 23:41'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies: []
|
dependencies: []
|
||||||
priority: low
|
priority: low
|
||||||
|
ordinal: 22000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -4,11 +4,12 @@ title: Drive Yomitan group debug logging from overlay debug mode (Y-D)
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-16 23:48'
|
created_date: '2026-02-16 23:48'
|
||||||
updated_date: '2026-02-16 23:50'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels: []
|
labels: []
|
||||||
dependencies: []
|
dependencies: []
|
||||||
parent_task_id: TASK-63
|
parent_task_id: TASK-63
|
||||||
priority: low
|
priority: low
|
||||||
|
ordinal: 21000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
---
|
---
|
||||||
id: TASK-64
|
id: TASK-64
|
||||||
title: Implement Jellyfin cast-to-device remote playback mode
|
title: Implement Jellyfin cast-to-device remote playback mode
|
||||||
status: In Progress
|
status: Done
|
||||||
assignee:
|
assignee:
|
||||||
- '@sudacode'
|
- '@sudacode'
|
||||||
created_date: '2026-02-17 21:25'
|
created_date: '2026-02-17 21:25'
|
||||||
updated_date: '2026-02-18 02:56'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels:
|
labels:
|
||||||
- jellyfin
|
- jellyfin
|
||||||
- mpv
|
- mpv
|
||||||
@@ -14,6 +14,7 @@ dependencies: []
|
|||||||
references:
|
references:
|
||||||
- TASK-31
|
- TASK-31
|
||||||
priority: high
|
priority: high
|
||||||
|
ordinal: 56000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
@@ -25,7 +26,7 @@ Deliver a jellyfin-mpv-shim-like experience in SubMiner so Jellyfin users can ca
|
|||||||
## Acceptance Criteria
|
## Acceptance Criteria
|
||||||
<!-- AC:BEGIN -->
|
<!-- AC:BEGIN -->
|
||||||
- [x] #1 SubMiner can register itself as a playable remote device in Jellyfin and appears in cast-to-device targets while connected.
|
- [x] #1 SubMiner can register itself as a playable remote device in Jellyfin and appears in cast-to-device targets while connected.
|
||||||
- [ ] #2 When a user casts an item from Jellyfin, SubMiner opens playback in mpv using existing Jellyfin/SubMiner defaults for subtitle behavior.
|
- [x] #2 When a user casts an item from Jellyfin, SubMiner opens playback in mpv using existing Jellyfin/SubMiner defaults for subtitle behavior.
|
||||||
- [x] #3 Remote playback control events from Jellyfin (play/pause/seek/stop and stream selection where available) are handled by SubMiner without breaking existing CLI-driven playback flows.
|
- [x] #3 Remote playback control events from Jellyfin (play/pause/seek/stop and stream selection where available) are handled by SubMiner without breaking existing CLI-driven playback flows.
|
||||||
- [x] #4 SubMiner reports playback state/progress back to Jellyfin so server/client state remains synchronized for now playing and resume behavior.
|
- [x] #4 SubMiner reports playback state/progress back to Jellyfin so server/client state remains synchronized for now playing and resume behavior.
|
||||||
- [x] #5 Automated tests cover new remote-session/event-handling behavior and existing Jellyfin playback flows remain green.
|
- [x] #5 Automated tests cover new remote-session/event-handling behavior and existing Jellyfin playback flows remain green.
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ title: Extract main.ts global state into an AppState container
|
|||||||
status: Done
|
status: Done
|
||||||
assignee: []
|
assignee: []
|
||||||
created_date: '2026-02-11 08:20'
|
created_date: '2026-02-11 08:20'
|
||||||
updated_date: '2026-02-15 04:30'
|
updated_date: '2026-02-18 04:11'
|
||||||
labels:
|
labels:
|
||||||
- refactor
|
- refactor
|
||||||
- main
|
- main
|
||||||
@@ -14,6 +14,7 @@ dependencies: []
|
|||||||
references:
|
references:
|
||||||
- src/main.ts
|
- src/main.ts
|
||||||
priority: high
|
priority: high
|
||||||
|
ordinal: 38000
|
||||||
---
|
---
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|||||||
Reference in New Issue
Block a user