chore(backlog): sync task metadata and finalize jellyfin task states

This commit is contained in:
2026-02-17 20:34:45 -08:00
parent 7c1d81ea80
commit a531527e1f
57 changed files with 117 additions and 117 deletions

View File

@@ -4,12 +4,12 @@ title: Refactor runtime services per plan.md
status: Done
assignee: []
created_date: '2026-02-10 18:46'
updated_date: '2026-02-11 03:35'
updated_date: '2026-02-18 04:11'
labels: []
dependencies: []
references:
- plan.md
ordinal: 1000
ordinal: 2000
---
## Description

View File

@@ -5,7 +5,7 @@ status: Done
assignee:
- codex
created_date: '2026-02-10 18:46'
updated_date: '2026-02-11 03:35'
updated_date: '2026-02-18 04:11'
labels: []
dependencies: []
references:
@@ -13,7 +13,7 @@ references:
- src/main.ts
- src/core/services/index.ts
parent_task_id: TASK-1
ordinal: 11000
ordinal: 12000
---
## Description

View File

@@ -5,7 +5,7 @@ status: Done
assignee:
- codex
created_date: '2026-02-10 18:46'
updated_date: '2026-02-11 03:35'
updated_date: '2026-02-18 04:11'
labels: []
dependencies:
- TASK-1.1
@@ -16,7 +16,7 @@ references:
- src/core/services/tokenizer-service.ts
- src/core/services/app-lifecycle-deps-runtime-service.ts
parent_task_id: TASK-1
ordinal: 9000
ordinal: 10000
---
## Description

View File

@@ -5,7 +5,7 @@ status: Done
assignee:
- codex
created_date: '2026-02-10 18:46'
updated_date: '2026-02-11 03:35'
updated_date: '2026-02-18 04:11'
labels: []
dependencies:
- TASK-1.2
@@ -17,7 +17,7 @@ references:
- src/core/services/numeric-shortcut-session-service.ts
- src/core/services/app-ready-runtime-service.ts
parent_task_id: TASK-1
ordinal: 5000
ordinal: 6000
---
## Description

View File

@@ -5,7 +5,7 @@ status: Done
assignee:
- codex
created_date: '2026-02-10 18:46'
updated_date: '2026-02-11 03:35'
updated_date: '2026-02-18 04:11'
labels: []
dependencies:
- TASK-1.3
@@ -15,7 +15,7 @@ references:
- src/core/services/overlay-visibility-service.ts
- src/core/services/tokenizer-deps-runtime-service.ts
parent_task_id: TASK-1
ordinal: 2000
ordinal: 3000
---
## Description

View File

@@ -5,7 +5,7 @@ status: Done
assignee:
- codex
created_date: '2026-02-10 18:46'
updated_date: '2026-02-11 03:35'
updated_date: '2026-02-18 04:11'
labels: []
dependencies:
- TASK-1.4
@@ -16,7 +16,7 @@ references:
- src/core/services/tokenizer-service.ts
- src/core/services/cli-command-service.ts
parent_task_id: TASK-1
ordinal: 4000
ordinal: 5000
---
## Description

View File

@@ -4,14 +4,14 @@ title: 'Phase 6 (Optional): Reorganize services by domain directories'
status: Done
assignee: []
created_date: '2026-02-10 18:46'
updated_date: '2026-02-11 03:35'
updated_date: '2026-02-18 04:11'
labels: []
dependencies:
- TASK-1.5
references:
- plan.md
parent_task_id: TASK-1
ordinal: 3000
ordinal: 4000
---
## Description

View File

@@ -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 -->

View File

@@ -4,13 +4,14 @@ title: Fix second-instance --start when texthooker-only instance is running
status: Done
assignee: []
created_date: '2026-02-11 23:47'
updated_date: '2026-02-11 23:47'
updated_date: '2026-02-18 04:11'
labels:
- bugfix
- cli
- overlay
dependencies: []
priority: high
ordinal: 51000
---
## Description

View File

@@ -4,13 +4,14 @@ title: Ensure subminer launcher shows visible overlay on startup
status: Done
assignee: []
created_date: '2026-02-12 00:22'
updated_date: '2026-02-12 00:23'
updated_date: '2026-02-18 04:11'
labels:
- bugfix
- launcher
- overlay
dependencies: []
priority: high
ordinal: 50000
---
## Description

View File

@@ -4,13 +4,14 @@ title: Fix renderer module loading regression after task 6 split
status: Done
assignee: []
created_date: '2026-02-12 00:45'
updated_date: '2026-02-12 00:46'
updated_date: '2026-02-18 04:11'
labels:
- regression
- overlay
- renderer
dependencies: []
priority: high
ordinal: 49000
---
## Description

View File

@@ -4,13 +4,14 @@ title: Revert overlay startup experiment changes and keep renderer fix
status: Done
assignee: []
created_date: '2026-02-12 01:45'
updated_date: '2026-02-12 01:46'
updated_date: '2026-02-18 04:11'
labels:
- regression
- overlay
- launcher
dependencies: []
priority: high
ordinal: 48000
---
## Description

View File

@@ -5,7 +5,7 @@ status: Done
assignee:
- codex
created_date: '2026-02-12 02:27'
updated_date: '2026-02-12 09:42'
updated_date: '2026-02-18 04:11'
labels:
- overlay
- ux
@@ -14,6 +14,7 @@ dependencies: []
documentation:
- overlay_window.md
priority: high
ordinal: 47000
---
## Description

View File

@@ -5,7 +5,7 @@ status: Done
assignee:
- codex
created_date: '2026-02-11 16:48'
updated_date: '2026-02-11 16:48'
updated_date: '2026-02-18 04:11'
labels:
- build
- macos
@@ -14,6 +14,7 @@ dependencies: []
references:
- scripts/build-external.sh
priority: medium
ordinal: 54000
---
## Description

View File

@@ -5,14 +5,14 @@ status: Done
assignee:
- codex
created_date: '2026-02-10 18:56'
updated_date: '2026-02-11 03:35'
updated_date: '2026-02-18 04:11'
labels: []
dependencies:
- TASK-1
references:
- investigation.md
- docs/refactor-main-checklist.md
ordinal: 13000
ordinal: 14000
---
## Description

View File

@@ -5,7 +5,7 @@ status: Done
assignee:
- codex
created_date: '2026-02-10 18:56'
updated_date: '2026-02-11 03:35'
updated_date: '2026-02-18 04:11'
labels: []
dependencies:
- TASK-1
@@ -20,7 +20,7 @@ references:
- src/ipc/
- src/core/services/index.ts
parent_task_id: TASK-2
ordinal: 10000
ordinal: 11000
---
## Description

View File

@@ -5,7 +5,7 @@ status: Done
assignee:
- codex
created_date: '2026-02-10 18:56'
updated_date: '2026-02-11 03:35'
updated_date: '2026-02-18 04:11'
labels: []
dependencies:
- TASK-2.1
@@ -13,7 +13,7 @@ references:
- investigation.md
- src/core/services/overlay-shortcut-handler.ts
parent_task_id: TASK-2
ordinal: 8000
ordinal: 9000
---
## Description

View File

@@ -5,7 +5,7 @@ status: Done
assignee:
- codex
created_date: '2026-02-10 18:56'
updated_date: '2026-02-11 03:35'
updated_date: '2026-02-18 04:11'
labels: []
dependencies:
- TASK-2.1
@@ -13,7 +13,7 @@ references:
- investigation.md
- src/core/services/mining-service.ts
parent_task_id: TASK-2
ordinal: 7000
ordinal: 8000
---
## Description

View File

@@ -5,7 +5,7 @@ status: Done
assignee:
- codex
created_date: '2026-02-10 18:56'
updated_date: '2026-02-11 03:35'
updated_date: '2026-02-18 04:11'
labels: []
dependencies:
- TASK-2.1
@@ -13,7 +13,7 @@ references:
- investigation.md
- src/core/services/anki-jimaku-service.ts
parent_task_id: TASK-2
ordinal: 6000
ordinal: 7000
---
## Description

View File

@@ -4,7 +4,7 @@ title: Perform desktop smoke validation with mpv
status: Done
assignee: []
created_date: '2026-02-10 18:56'
updated_date: '2026-02-11 03:35'
updated_date: '2026-02-18 04:11'
labels: []
dependencies:
- TASK-2.2
@@ -14,7 +14,7 @@ references:
- investigation.md
- docs/refactor-main-checklist.md
parent_task_id: TASK-2
ordinal: 12000
ordinal: 13000
---
## Description

View File

@@ -4,11 +4,12 @@ title: Add renderer-to-main IPC contract for measured overlay content bounds
status: Done
assignee: []
created_date: '2026-02-12 08:47'
updated_date: '2026-02-13 08:05'
updated_date: '2026-02-18 04:11'
labels: []
dependencies: []
parent_task_id: TASK-20
priority: medium
ordinal: 45000
---
## Description

View File

@@ -4,10 +4,11 @@ title: Persist and restore MPV secondary subtitle visibility across app lifecycl
status: Done
assignee: []
created_date: '2026-02-13 07:59'
updated_date: '2026-02-13 08:01'
updated_date: '2026-02-18 04:11'
labels: []
dependencies: []
priority: high
ordinal: 46000
---
## Description

View File

@@ -6,10 +6,11 @@ title: >-
status: Done
assignee: []
created_date: '2026-02-13 16:42'
updated_date: '2026-02-16 02:00'
updated_date: '2026-02-18 04:11'
labels: []
dependencies: []
priority: high
ordinal: 34000
---
## Description

View File

@@ -4,11 +4,12 @@ title: Implement JLPT token lookup service for subtitle words
status: Done
assignee: []
created_date: '2026-02-13 16:42'
updated_date: '2026-02-16 02:01'
updated_date: '2026-02-18 04:11'
labels: []
dependencies: []
parent_task_id: TASK-23
priority: high
ordinal: 32000
---
## Description

View File

@@ -4,11 +4,12 @@ title: Bundle JLPT Yomitan dictionary assets for offline local lookup
status: Done
assignee: []
created_date: '2026-02-13 16:42'
updated_date: '2026-02-16 02:01'
updated_date: '2026-02-18 04:11'
labels: []
dependencies: []
parent_task_id: TASK-23
priority: high
ordinal: 33000
---
## Description

View File

@@ -4,10 +4,12 @@ title: Render JLPT token underlines with level-based colors in subtitle lines
status: Done
assignee: []
created_date: '2026-02-13 16:42'
updated_date: '2026-02-18 04:11'
labels: []
dependencies: []
parent_task_id: TASK-23
priority: high
ordinal: 44000
---
## Description

View File

@@ -4,11 +4,12 @@ title: Add opt-in control and end-to-end flow + tests for JLPT tagging
status: Done
assignee: []
created_date: '2026-02-13 16:42'
updated_date: '2026-02-16 02:00'
updated_date: '2026-02-18 04:11'
labels: []
dependencies: []
parent_task_id: TASK-23
priority: high
ordinal: 35000
---
## Description

View File

@@ -6,10 +6,11 @@ title: >-
status: Done
assignee: []
created_date: '2026-02-13 16:45'
updated_date: '2026-02-15 08:17'
updated_date: '2026-02-18 04:11'
labels: []
dependencies: []
priority: high
ordinal: 37000
---
## Description

View File

@@ -6,13 +6,14 @@ title: >-
status: Done
assignee: []
created_date: '2026-02-13 16:47'
updated_date: '2026-02-16 06:48'
updated_date: '2026-02-18 04:11'
labels: []
dependencies: []
documentation:
- /Users/sudacode/.codex/worktrees/2089/SubMiner/docs/configuration.md
- /Users/sudacode/.codex/worktrees/2089/SubMiner/docs/jlpt-vocab-bundle.md
priority: high
ordinal: 28000
---
## Description

View File

@@ -6,9 +6,11 @@ title: >-
status: Done
assignee: []
created_date: '2026-02-13 16:49'
updated_date: '2026-02-18 04:11'
labels: []
dependencies: []
priority: high
ordinal: 43000
---
## Description

View File

@@ -5,7 +5,7 @@ status: Done
assignee:
- backend
created_date: '2026-02-13 17:13'
updated_date: '2026-02-14 08:43'
updated_date: '2026-02-18 04:11'
labels:
- refactor
- documentation
@@ -16,6 +16,7 @@ documentation:
- docs/structure-roadmap.md
parent_task_id: TASK-27
priority: high
ordinal: 42000
---
## Description

View File

@@ -5,7 +5,7 @@ status: Done
assignee:
- backend
created_date: '2026-02-13 17:13'
updated_date: '2026-02-15 01:25'
updated_date: '2026-02-18 04:11'
labels:
- 'owner:backend'
- 'owner:architect'
@@ -18,6 +18,7 @@ documentation:
- docs/architecture.md
parent_task_id: TASK-27
priority: high
ordinal: 40000
---
## Description

View File

@@ -5,7 +5,7 @@ status: Done
assignee:
- backend
created_date: '2026-02-13 17:13'
updated_date: '2026-02-15 04:23'
updated_date: '2026-02-18 04:11'
labels:
- 'owner:backend'
dependencies:
@@ -16,6 +16,7 @@ documentation:
- docs/architecture.md
parent_task_id: TASK-27
priority: high
ordinal: 39000
---
## Description

View File

@@ -5,7 +5,7 @@ status: Done
assignee:
- backend
created_date: '2026-02-13 17:13'
updated_date: '2026-02-15 00:31'
updated_date: '2026-02-18 04:11'
labels:
- 'owner:backend'
dependencies:
@@ -16,6 +16,7 @@ documentation:
- docs/architecture.md
parent_task_id: TASK-27
priority: high
ordinal: 41000
---
## Description

View File

@@ -5,7 +5,7 @@ status: Done
assignee:
- frontend
created_date: '2026-02-13 17:13'
updated_date: '2026-02-15 23:59'
updated_date: '2026-02-18 04:11'
labels:
- refactor
- renderer
@@ -21,6 +21,7 @@ documentation:
- docs/architecture.md
parent_task_id: TASK-27
priority: low
ordinal: 36000
---
## Description

View File

@@ -4,7 +4,7 @@ title: Add SQLite-backed immersion tracking for mining sessions
status: Done
assignee: []
created_date: '2026-02-13 17:52'
updated_date: '2026-02-18 02:36'
updated_date: '2026-02-18 04:11'
labels:
- analytics
- backend
@@ -12,6 +12,7 @@ labels:
- immersion
dependencies: []
priority: medium
ordinal: 15000
---
## Description

View File

@@ -4,7 +4,7 @@ title: Add Anilist integration for post-watch updates
status: Done
assignee: []
created_date: '2026-02-13 17:57'
updated_date: '2026-02-17 09:27'
updated_date: '2026-02-18 04:11'
labels:
- anilist
- anime
@@ -13,6 +13,7 @@ labels:
- api
dependencies: []
priority: medium
ordinal: 16000
---
## Description

View File

@@ -4,7 +4,7 @@ title: Implement secure AniList token lifecycle and account management
status: Done
assignee: []
created_date: '2026-02-17 04:12'
updated_date: '2026-02-17 04:19'
updated_date: '2026-02-18 04:11'
labels:
- anilist
- security
@@ -12,6 +12,7 @@ labels:
dependencies: []
parent_task_id: TASK-29
priority: medium
ordinal: 18000
---
## Acceptance Criteria

View File

@@ -4,7 +4,7 @@ title: Implement AniList retry/backoff queue for failed post-watch updates
status: Done
assignee: []
created_date: '2026-02-17 04:13'
updated_date: '2026-02-17 04:19'
updated_date: '2026-02-18 04:11'
labels:
- anilist
- reliability
@@ -12,6 +12,7 @@ labels:
dependencies: []
parent_task_id: TASK-29
priority: medium
ordinal: 19000
---
## Acceptance Criteria

View File

@@ -1,15 +1,16 @@
---
id: TASK-31
title: Add optional Jellyfin integration with basic streaming/ playback features
status: In Progress
status: Done
assignee: []
created_date: '2026-02-13 18:38'
updated_date: '2026-02-18 02:54'
updated_date: '2026-02-18 04:11'
labels: []
dependencies: []
references:
- TASK-64
- docs/plans/2026-02-17-jellyfin-cast-remote-playback.md
ordinal: 57000
---
## Description
@@ -21,8 +22,8 @@ Implement optional Jellyfin integration so SubMiner can act as a lightweight Jel
## Acceptance Criteria
<!-- AC:BEGIN -->
- [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.
- [ ] #3 Allow discovery or manual selection of movies/tv shows/music libraries and playback items from the connected Jellyfin server.
- [x] #2 Support authenticating against a user-selected Jellyfin server (server URL + credentials/token) and securely storing/reusing connection settings.
- [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] #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.

View File

@@ -4,7 +4,7 @@ title: Restrict mpv socket connection logs to debug mode in Electron
status: Done
assignee: []
created_date: '2026-02-13 19:39'
updated_date: '2026-02-16 03:05'
updated_date: '2026-02-18 04:11'
labels:
- electron
- logging
@@ -13,6 +13,7 @@ labels:
- quality
dependencies: []
priority: high
ordinal: 31000
---
## Description

View File

@@ -4,13 +4,14 @@ title: Add CI/CD pipeline for automated testing and quality gates
status: Done
assignee: []
created_date: '2026-02-14 00:57'
updated_date: '2026-02-17 07:36'
updated_date: '2026-02-18 04:11'
labels:
- infrastructure
- ci
- quality
dependencies: []
priority: high
ordinal: 17000
---
## Description

View File

@@ -4,13 +4,14 @@ title: Add structured logging with configurable verbosity levels
status: Done
assignee: []
created_date: '2026-02-14 00:59'
updated_date: '2026-02-17 04:16'
updated_date: '2026-02-18 04:11'
labels:
- infrastructure
- developer-experience
- observability
dependencies: []
priority: medium
ordinal: 20000
---
## Description

View File

@@ -4,10 +4,11 @@ title: Improve Mermaid diagrams in docs for readability
status: Done
assignee: []
created_date: '2026-02-11 07:11'
updated_date: '2026-02-11 07:11'
updated_date: '2026-02-18 04:11'
labels: []
dependencies: []
priority: medium
ordinal: 55000
---
## Description

View File

@@ -5,7 +5,7 @@ status: Done
assignee:
- codex
created_date: '2026-02-11 08:20'
updated_date: '2026-02-11 17:46'
updated_date: '2026-02-18 04:11'
labels:
- refactor
- types
@@ -17,6 +17,7 @@ references:
- src/types.ts
- src/main.ts
priority: high
ordinal: 53000
---
## Description

View File

@@ -4,7 +4,7 @@ title: Consolidate fragmented JLPT utility modules
status: Done
assignee: []
created_date: '2026-02-16 04:47'
updated_date: '2026-02-16 04:57'
updated_date: '2026-02-18 04:11'
labels: []
dependencies: []
references:
@@ -15,6 +15,7 @@ references:
- >-
/home/sudacode/projects/japanese/SubMiner/src/core/services/jlpt-ignored-mecab-pos1.ts
priority: medium
ordinal: 30000
---
## Description

View File

@@ -4,12 +4,13 @@ title: Audit and consolidate micro-services under 50 lines
status: Done
assignee: []
created_date: '2026-02-16 04:47'
updated_date: '2026-02-16 05:04'
updated_date: '2026-02-18 04:11'
labels: []
dependencies: []
references:
- /home/sudacode/projects/japanese/SubMiner/src/core/services/
priority: medium
ordinal: 29000
---
## Description

View File

@@ -6,9 +6,10 @@ title: >-
status: Done
assignee: []
created_date: '2026-02-16 22:04'
updated_date: '2026-02-16 22:06'
updated_date: '2026-02-18 04:11'
labels: []
dependencies: []
ordinal: 27000
---
## Description

View File

@@ -4,9 +4,10 @@ title: Restrict Yomitan frequency lookup to selected headword only
status: Done
assignee: []
created_date: '2026-02-16 22:16'
updated_date: '2026-02-16 22:18'
updated_date: '2026-02-18 04:11'
labels: []
dependencies: []
ordinal: 26000
---
## Description

View File

@@ -5,7 +5,7 @@ status: Done
assignee:
- codex
created_date: '2026-02-11 08:20'
updated_date: '2026-02-11 20:45'
updated_date: '2026-02-18 04:11'
labels:
- refactor
- renderer
@@ -16,6 +16,7 @@ dependencies:
references:
- src/renderer/renderer.ts
priority: high
ordinal: 52000
---
## Description

View File

@@ -4,9 +4,10 @@ title: Remove hard-coded particle term exclusions from frequency lookup
status: Done
assignee: []
created_date: '2026-02-16 22:20'
updated_date: '2026-02-16 22:21'
updated_date: '2026-02-18 04:11'
labels: []
dependencies: []
ordinal: 25000
---
## Description

View File

@@ -4,9 +4,10 @@ title: Ensure parser utility scripts exit immediately after output
status: Done
assignee: []
created_date: '2026-02-16 22:35'
updated_date: '2026-02-16 22:37'
updated_date: '2026-02-18 04:11'
labels: []
dependencies: []
ordinal: 24000
---
## Description

View File

@@ -4,10 +4,11 @@ title: Color full Japanese term when Yomitan splits lookup into multiple tokens
status: Done
assignee: []
created_date: '2026-02-16 23:03'
updated_date: '2026-02-16 23:11'
updated_date: '2026-02-18 04:11'
labels: []
dependencies: []
priority: medium
ordinal: 23000
---
## Description

View File

@@ -4,10 +4,11 @@ title: Add runtime toggle to log selected Yomitan token groups
status: Done
assignee: []
created_date: '2026-02-16 23:38'
updated_date: '2026-02-16 23:41'
updated_date: '2026-02-18 04:11'
labels: []
dependencies: []
priority: low
ordinal: 22000
---
## Description

View File

@@ -4,11 +4,12 @@ title: Drive Yomitan group debug logging from overlay debug mode (Y-D)
status: Done
assignee: []
created_date: '2026-02-16 23:48'
updated_date: '2026-02-16 23:50'
updated_date: '2026-02-18 04:11'
labels: []
dependencies: []
parent_task_id: TASK-63
priority: low
ordinal: 21000
---
## Description

View File

@@ -1,11 +1,11 @@
---
id: TASK-64
title: Implement Jellyfin cast-to-device remote playback mode
status: In Progress
status: Done
assignee:
- '@sudacode'
created_date: '2026-02-17 21:25'
updated_date: '2026-02-18 02:56'
updated_date: '2026-02-18 04:11'
labels:
- jellyfin
- mpv
@@ -14,6 +14,7 @@ dependencies: []
references:
- TASK-31
priority: high
ordinal: 56000
---
## Description
@@ -25,7 +26,7 @@ Deliver a jellyfin-mpv-shim-like experience in SubMiner so Jellyfin users can ca
## Acceptance Criteria
<!-- AC:BEGIN -->
- [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] #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.

View File

@@ -4,7 +4,7 @@ title: Extract main.ts global state into an AppState container
status: Done
assignee: []
created_date: '2026-02-11 08:20'
updated_date: '2026-02-15 04:30'
updated_date: '2026-02-18 04:11'
labels:
- refactor
- main
@@ -14,6 +14,7 @@ dependencies: []
references:
- src/main.ts
priority: high
ordinal: 38000
---
## Description