diff --git a/docs/requirements.md b/docs/requirements.md index 9af6543d..766df75a 100644 --- a/docs/requirements.md +++ b/docs/requirements.md @@ -542,6 +542,8 @@ Internal architecture, components, and application logic. | UT-140 | `useOfflineFilterReload` skips the value a page already loaded under and reloads on each later change | DR-143 | Done | | UT-141 | The advertised channel cap: an unknown or zero reading falls back to stereo, a real route keeps its channels, an absurd driver reading is capped at 7.1, and mono is taken at its word | DR-141 | Done | | UT-142 | The audio codecs offered for video direct play: a Dolby device's real `MediaCodecList` output drops `ac3`/`eac3`, AMR and raw PCM are dropped too, a fully-supported list is passed through untouched, a list with nothing decodable still claims `aac`, and stray spacing or casing does not decide whether the user gets sound | DR-148 | Done | +| UT-143 | Subtitle URLs resolve to plain strings before they reach the markup (never a Promise), unresolvable tracks are dropped, a stale selection collapses to "Off", and a server-default track is never auto-selected | UR-020, DR-023 | Done | +| UT-144 | VideoPlayer actually renders `` children carrying `data-stream-index`, with no `default` attribute and no async `getSubtitleUrl()` bound to `src` | UR-020, DR-023 | Done | ### Integration Tests diff --git a/docs/traceability.md b/docs/traceability.md index e384c35d..3c1bd699 100644 --- a/docs/traceability.md +++ b/docs/traceability.md @@ -1,11 +1,11 @@ # Code Traceability Matrix -**Generated:** 8/11/2026, 7:10:18 PM +**Generated:** 8/11/2026, 7:25:20 PM ## Summary -- **Total Files Scanned:** 339 -- **Total TRACES Found:** 579 +- **Total Files Scanned:** 341 +- **Total TRACES Found:** 583 - **Requirements Covered:** - User Requirements (UR): 67 - Integration Requirements (IR): 17 @@ -700,11 +700,23 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, ### DR-023 -**Locations:** 3 file(s) +**Locations:** 7 file(s) +- **File:** [`src/lib/components/player/subtitleTracks.ts`](src/lib/components/player/subtitleTracks.ts#L15) + - **Line:** 15 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](src/lib/components/player/subtitleTracks.test.ts#L16) + - **Line:** 16 + - **Context:** `Unknown` - **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1) - **Line:** 1 - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L291) + - **Line:** 291 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1729) + - **Line:** 1729 + - **Context:** `function toggleSubtitleMenu() {` - **File:** [`src/lib/player/adapters/types.ts`](src/lib/player/adapters/types.ts#L15) - **Line:** 15 - **Context:** `Unknown` @@ -2234,8 +2246,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, - **File:** [`src-tauri/src/repository/mod.rs`](src-tauri/src/repository/mod.rs#L235) - **Line:** 235 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1873) - - **Line:** 1873 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1874) + - **Line:** 1874 - **Context:** `Unknown` ### DR-107 @@ -2374,11 +2386,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, - **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L808) - **Line:** 808 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2691) - - **Line:** 2691 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2692) + - **Line:** 2692 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2722) - - **Line:** 2722 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2723) + - **Line:** 2723 - **Context:** `Unknown` ### DR-114 @@ -2432,17 +2444,17 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, - **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L683) - **Line:** 683 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1813) - - **Line:** 1813 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1814) + - **Line:** 1814 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2601) - - **Line:** 2601 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2602) + - **Line:** 2602 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2623) - - **Line:** 2623 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2624) + - **Line:** 2624 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2632) - - **Line:** 2632 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2633) + - **Line:** 2633 - **Context:** `Unknown` ### DR-116 @@ -2479,8 +2491,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, - **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L661) - **Line:** 661 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2654) - - **Line:** 2654 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2655) + - **Line:** 2655 - **Context:** `Unknown` ### DR-117 @@ -2816,8 +2828,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, - **File:** [`src-tauri/src/repository/mod.rs`](src-tauri/src/repository/mod.rs#L243) - **Line:** 243 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1914) - - **Line:** 1914 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1915) + - **Line:** 1915 - **Context:** `Unknown` - **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1346) - **Line:** 1346 @@ -3386,11 +3398,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, - **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L452) - **Line:** 452 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2374) - - **Line:** 2374 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2375) + - **Line:** 2375 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2415) - - **Line:** 2415 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2416) + - **Line:** 2416 - **Context:** `Unknown` ### JA-033 @@ -3409,14 +3421,14 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, - **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L683) - **Line:** 683 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1813) - - **Line:** 1813 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1814) + - **Line:** 1814 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1873) - - **Line:** 1873 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1874) + - **Line:** 1874 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2601) - - **Line:** 2601 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2602) + - **Line:** 2602 - **Context:** `Unknown` ### JA-034 @@ -3429,8 +3441,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, - **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L808) - **Line:** 808 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2691) - - **Line:** 2691 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2692) + - **Line:** 2692 - **Context:** `Unknown` ### JA-035 @@ -3440,8 +3452,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, - **File:** [`src-tauri/src/repository/mod.rs`](src-tauri/src/repository/mod.rs#L243) - **Line:** 243 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1914) - - **Line:** 1914 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1915) + - **Line:** 1915 - **Context:** `Unknown` ### UR-007 @@ -3698,8 +3710,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, - **File:** [`src-tauri/src/repository/mod.rs`](src-tauri/src/repository/mod.rs#L243) - **Line:** 243 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1914) - - **Line:** 1914 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1915) + - **Line:** 1915 - **Context:** `Unknown` - **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1346) - **Line:** 1346 @@ -4048,11 +4060,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, - **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L452) - **Line:** 452 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2374) - - **Line:** 2374 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2375) + - **Line:** 2375 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2415) - - **Line:** 2415 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2416) + - **Line:** 2416 - **Context:** `Unknown` ### UR-048 @@ -4608,20 +4620,20 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, - **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L683) - **Line:** 683 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1813) - - **Line:** 1813 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1814) + - **Line:** 1814 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2601) - - **Line:** 2601 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2602) + - **Line:** 2602 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2623) - - **Line:** 2623 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2624) + - **Line:** 2624 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2632) - - **Line:** 2632 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2633) + - **Line:** 2633 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2654) - - **Line:** 2654 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2655) + - **Line:** 2655 - **Context:** `Unknown` ### UR-068 @@ -4919,22 +4931,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, **Locations:** 1 file(s) -- **File:** [`src/lib/utils/safeArea.test.ts`](src/lib/utils/safeArea.test.ts#L17) - - **Line:** 17 - - **Context:** `Unknown` - -### UT-096 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/utils/safeArea.test.ts`](src/lib/utils/safeArea.test.ts#L17) - - **Line:** 17 - - **Context:** `Unknown` - -### UT-097 - -**Locations:** 1 file(s) - - **File:** [`src/lib/utils/safeArea.test.ts`](src/lib/utils/safeArea.test.ts#L17) - **Line:** 17 - **Context:** `Unknown` @@ -5062,11 +5058,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, - **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L808) - **Line:** 808 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2691) - - **Line:** 2691 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2692) + - **Line:** 2692 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2722) - - **Line:** 2722 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2723) + - **Line:** 2723 - **Context:** `Unknown` - **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1339) - **Line:** 1339 @@ -5938,11 +5934,23 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, ### UR-020 -**Locations:** 4 file(s) +**Locations:** 8 file(s) +- **File:** [`src/lib/components/player/subtitleTracks.ts`](src/lib/components/player/subtitleTracks.ts#L15) + - **Line:** 15 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](src/lib/components/player/subtitleTracks.test.ts#L16) + - **Line:** 16 + - **Context:** `Unknown` - **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1) - **Line:** 1 - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L291) + - **Line:** 291 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1729) + - **Line:** 1729 + - **Context:** `function toggleSubtitleMenu() {` - **File:** [`src/lib/player/adapters/types.ts`](src/lib/player/adapters/types.ts#L15) - **Line:** 15 - **Context:** `Unknown` @@ -6111,8 +6119,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, - **File:** [`src-tauri/src/repository/mod.rs`](src-tauri/src/repository/mod.rs#L235) - **Line:** 235 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1873) - - **Line:** 1873 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1874) + - **Line:** 1874 - **Context:** `Unknown` ### UT-085 @@ -6203,33 +6211,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, - **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L661) - **Line:** 661 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2654) - - **Line:** 2654 - - **Context:** `Unknown` - -### UR-036 - -**Locations:** 3 file(s) - -- **File:** [`src/lib/components/library/PersonDetailView.svelte`](src/lib/components/library/PersonDetailView.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/storage/people.rs`](src-tauri/src/commands/storage/people.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L4) - - **Line:** 4 - - **Context:** `Unknown` - -### UR-051 - -**Locations:** 2 file(s) - -- **File:** [`src/lib/components/library/LibraryGrid.svelte`](src/lib/components/library/LibraryGrid.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/MediaCard.svelte`](src/lib/components/library/MediaCard.svelte#L1) - - **Line:** 1 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2655) + - **Line:** 2655 - **Context:** `Unknown` ### UT-118 @@ -6329,6 +6312,66 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, - **Line:** 1 - **Context:** `Unknown` +### UT-137 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/services/offlineCatalog.reload.test.ts`](src/lib/services/offlineCatalog.reload.test.ts#L11) + - **Line:** 11 + - **Context:** `Unknown` + +### UT-138 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/services/offlineCatalog.reload.test.ts`](src/lib/services/offlineCatalog.reload.test.ts#L11) + - **Line:** 11 + - **Context:** `Unknown` + +### UT-139 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/services/offlineCatalog.reload.test.ts`](src/lib/services/offlineCatalog.reload.test.ts#L11) + - **Line:** 11 + - **Context:** `Unknown` + +### UT-140 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/composables/useOfflineFilterReload.test.ts`](src/lib/composables/useOfflineFilterReload.test.ts#L1) + - **Line:** 1 + - **Context:** `Unknown` + +### UT-143 + +**Locations:** 3 file(s) + +- **File:** [`src/lib/components/player/subtitleTracks.ts`](src/lib/components/player/subtitleTracks.ts#L15) + - **Line:** 15 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](src/lib/components/player/subtitleTracks.test.ts#L16) + - **Line:** 16 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L291) + - **Line:** 291 + - **Context:** `Unknown` + +### UT-144 + +**Locations:** 3 file(s) + +- **File:** [`src/lib/components/player/subtitleTracks.ts`](src/lib/components/player/subtitleTracks.ts#L15) + - **Line:** 15 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](src/lib/components/player/subtitleTracks.test.ts#L16) + - **Line:** 16 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L291) + - **Line:** 291 + - **Context:** `Unknown` + ### UR-010 **Locations:** 15 file(s) @@ -6422,6 +6465,14 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, - **Line:** 2 - **Context:** `Unknown` +### UR-014 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/commands/playlist.rs`](src-tauri/src/commands/playlist.rs#L4) + - **Line:** 4 + - **Context:** `Unknown` + ### UR-015 **Locations:** 13 file(s) @@ -6466,6 +6517,17 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, - **Line:** 3 - **Context:** `Unknown` +### UR-016 + +**Locations:** 2 file(s) + +- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L62) + - **Line:** 62 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L251) + - **Line:** 251 + - **Context:** `Unknown` + ### UR-018 **Locations:** 3 file(s) @@ -6480,6 +6542,14 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, - **Line:** 2040 - **Context:** `Unknown` +### UR-022 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/commands/player/settings.rs`](src-tauri/src/commands/player/settings.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` + ### UR-024 **Locations:** 2 file(s) @@ -6502,164 +6572,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, - **Line:** 2 - **Context:** `Unknown` -### UR-039 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/components/BottomNav.svelte`](src/lib/components/BottomNav.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` - -### UR-041 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/utils/pictureInPicture.ts`](src/lib/utils/pictureInPicture.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` - -### UR-043 - -**Locations:** 2 file(s) - -- **File:** [`src/lib/stores/connectivity.ts`](src/lib/stores/connectivity.ts#L10) - - **Line:** 10 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/connectivity.rs`](src-tauri/src/commands/connectivity.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` - -### UR-054 - -**Locations:** 6 file(s) - -- **File:** [`src/lib/components/search/HeaderSearch.svelte`](src/lib/components/search/HeaderSearch.svelte#L12) - - **Line:** 12 - - **Context:** `Unknown` -- **File:** [`src/lib/components/search/HeaderSearch.test.ts`](src/lib/components/search/HeaderSearch.test.ts#L9) - - **Line:** 9 - - **Context:** `Unknown` -- **File:** [`src/lib/components/account/AccountMenu.svelte`](src/lib/components/account/AccountMenu.svelte#L7) - - **Line:** 7 - - **Context:** `Unknown` -- **File:** [`src/lib/components/AppHeader.svelte`](src/lib/components/AppHeader.svelte#L10) - - **Line:** 10 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/layoutShell.ts`](src/lib/utils/layoutShell.ts#L82) - - **Line:** 82 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/layoutShell.ts`](src/lib/utils/layoutShell.ts#L104) - - **Line:** 104 - - **Context:** `Unknown` - -### UR-059 - -**Locations:** 6 file(s) - -- **File:** [`src/lib/stores/continueWatchingFilter.ts`](src/lib/stores/continueWatchingFilter.ts#L12) - - **Line:** 12 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/continueWatchingFilter.test.ts`](src/lib/stores/continueWatchingFilter.test.ts#L9) - - **Line:** 9 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/tv.ts`](src/lib/stores/tv.ts#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/home.ts`](src/lib/stores/home.ts#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src/lib/services/skipReporting.ts`](src/lib/services/skipReporting.ts#L14) - - **Line:** 14 - - **Context:** `Unknown` -- **File:** [`src/lib/services/skipReporting.test.ts`](src/lib/services/skipReporting.test.ts#L9) - - **Line:** 9 - - **Context:** `Unknown` - -### UR-060 - -**Locations:** 7 file(s) - -- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L155) - - **Line:** 155 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L221) - - **Line:** 221 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L96) - - **Line:** 96 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/storage/schema.rs`](src-tauri/src/storage/schema.rs#L769) - - **Line:** 769 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L333) - - **Line:** 333 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L3017) - - **Line:** 3017 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/domain/search_rank.rs`](src-tauri/src/domain/search_rank.rs#L106) - - **Line:** 106 - - **Context:** `Unknown` - -### UT-137 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/services/offlineCatalog.reload.test.ts`](src/lib/services/offlineCatalog.reload.test.ts#L11) - - **Line:** 11 - - **Context:** `Unknown` - -### UT-138 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/services/offlineCatalog.reload.test.ts`](src/lib/services/offlineCatalog.reload.test.ts#L11) - - **Line:** 11 - - **Context:** `Unknown` - -### UT-139 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/services/offlineCatalog.reload.test.ts`](src/lib/services/offlineCatalog.reload.test.ts#L11) - - **Line:** 11 - - **Context:** `Unknown` - -### UT-140 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/composables/useOfflineFilterReload.test.ts`](src/lib/composables/useOfflineFilterReload.test.ts#L1) - - **Line:** 1 - - **Context:** `Unknown` - -### UR-014 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/commands/playlist.rs`](src-tauri/src/commands/playlist.rs#L4) - - **Line:** 4 - - **Context:** `Unknown` - -### UR-016 - -**Locations:** 2 file(s) - -- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L62) - - **Line:** 62 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L251) - - **Line:** 251 - - **Context:** `Unknown` - -### UR-022 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/commands/player/settings.rs`](src-tauri/src/commands/player/settings.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` - ### UR-031 **Locations:** 2 file(s) @@ -6738,6 +6650,36 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, - **Line:** 234 - **Context:** `Unknown` +### UR-036 + +**Locations:** 3 file(s) + +- **File:** [`src/lib/components/library/PersonDetailView.svelte`](src/lib/components/library/PersonDetailView.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/storage/people.rs`](src-tauri/src/commands/storage/people.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L4) + - **Line:** 4 + - **Context:** `Unknown` + +### UR-039 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/components/BottomNav.svelte`](src/lib/components/BottomNav.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` + +### UR-041 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/utils/pictureInPicture.ts`](src/lib/utils/pictureInPicture.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` + ### UR-042 **Locations:** 1 file(s) @@ -6746,6 +6688,17 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, - **Line:** 3 - **Context:** `Unknown` +### UR-043 + +**Locations:** 2 file(s) + +- **File:** [`src/lib/stores/connectivity.ts`](src/lib/stores/connectivity.ts#L10) + - **Line:** 10 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/connectivity.rs`](src-tauri/src/commands/connectivity.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` + ### UR-044 **Locations:** 1 file(s) @@ -6778,6 +6731,105 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, - **Line:** 3 - **Context:** `Unknown` +### UR-051 + +**Locations:** 2 file(s) + +- **File:** [`src/lib/components/library/LibraryGrid.svelte`](src/lib/components/library/LibraryGrid.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/MediaCard.svelte`](src/lib/components/library/MediaCard.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` + +### UR-054 + +**Locations:** 6 file(s) + +- **File:** [`src/lib/components/search/HeaderSearch.svelte`](src/lib/components/search/HeaderSearch.svelte#L12) + - **Line:** 12 + - **Context:** `Unknown` +- **File:** [`src/lib/components/search/HeaderSearch.test.ts`](src/lib/components/search/HeaderSearch.test.ts#L9) + - **Line:** 9 + - **Context:** `Unknown` +- **File:** [`src/lib/components/account/AccountMenu.svelte`](src/lib/components/account/AccountMenu.svelte#L7) + - **Line:** 7 + - **Context:** `Unknown` +- **File:** [`src/lib/components/AppHeader.svelte`](src/lib/components/AppHeader.svelte#L10) + - **Line:** 10 + - **Context:** `Unknown` +- **File:** [`src/lib/utils/layoutShell.ts`](src/lib/utils/layoutShell.ts#L82) + - **Line:** 82 + - **Context:** `Unknown` +- **File:** [`src/lib/utils/layoutShell.ts`](src/lib/utils/layoutShell.ts#L104) + - **Line:** 104 + - **Context:** `Unknown` + +### UR-059 + +**Locations:** 6 file(s) + +- **File:** [`src/lib/stores/continueWatchingFilter.ts`](src/lib/stores/continueWatchingFilter.ts#L12) + - **Line:** 12 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/continueWatchingFilter.test.ts`](src/lib/stores/continueWatchingFilter.test.ts#L9) + - **Line:** 9 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/tv.ts`](src/lib/stores/tv.ts#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/home.ts`](src/lib/stores/home.ts#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src/lib/services/skipReporting.ts`](src/lib/services/skipReporting.ts#L14) + - **Line:** 14 + - **Context:** `Unknown` +- **File:** [`src/lib/services/skipReporting.test.ts`](src/lib/services/skipReporting.test.ts#L9) + - **Line:** 9 + - **Context:** `Unknown` + +### UT-096 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/utils/safeArea.test.ts`](src/lib/utils/safeArea.test.ts#L17) + - **Line:** 17 + - **Context:** `Unknown` + +### UT-097 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/utils/safeArea.test.ts`](src/lib/utils/safeArea.test.ts#L17) + - **Line:** 17 + - **Context:** `Unknown` + +### UR-060 + +**Locations:** 7 file(s) + +- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L155) + - **Line:** 155 + - **Context:** `Unknown` +- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L221) + - **Line:** 221 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L96) + - **Line:** 96 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/storage/schema.rs`](src-tauri/src/storage/schema.rs#L769) + - **Line:** 769 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L333) + - **Line:** 333 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L3017) + - **Line:** 3017 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/domain/search_rank.rs`](src-tauri/src/domain/search_rank.rs#L106) + - **Line:** 106 + - **Context:** `Unknown` + ### UR-065 **Locations:** 22 file(s) @@ -7009,11 +7061,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, - **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L452) - **Line:** 452 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2374) - - **Line:** 2374 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2375) + - **Line:** 2375 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2415) - - **Line:** 2415 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2416) + - **Line:** 2416 - **Context:** `Unknown` ### UT-067 @@ -7119,11 +7171,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, - **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L592) - **Line:** 592 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2691) - - **Line:** 2691 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2692) + - **Line:** 2692 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2722) - - **Line:** 2722 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2723) + - **Line:** 2723 - **Context:** `Unknown` ### UT-100 @@ -7136,17 +7188,17 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016, - **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L683) - **Line:** 683 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1813) - - **Line:** 1813 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1814) + - **Line:** 1814 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2601) - - **Line:** 2601 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2602) + - **Line:** 2602 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2623) - - **Line:** 2623 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2624) + - **Line:** 2624 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2632) - - **Line:** 2632 +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2633) + - **Line:** 2633 - **Context:** `Unknown` ### UT-101 diff --git a/src/lib/components/player/VideoPlayer.svelte b/src/lib/components/player/VideoPlayer.svelte index dfe22756..4c036a5e 100644 --- a/src/lib/components/player/VideoPlayer.svelte +++ b/src/lib/components/player/VideoPlayer.svelte @@ -1,6 +1,6 @@