diff --git a/docs/traceability.md b/docs/traceability.md index 6acd51dc..e2302b68 100644 --- a/docs/traceability.md +++ b/docs/traceability.md @@ -1,15 +1,15 @@ # Code Traceability Matrix -**Generated:** 8/11/2026, 8:10:45 PM +**Generated:** 8/11/2026, 6:51:55 PM ## Summary -- **Total Files Scanned:** 341 -- **Total TRACES Found:** 600 +- **Total Files Scanned:** 345 +- **Total TRACES Found:** 608 - **Requirements Covered:** - User Requirements (UR): 67 - Integration Requirements (IR): 18 - - Development Requirements (DR): 131 + - Development Requirements (DR): 134 - Jellyfin API Requirements (JA): 28 ## Requirements by Type @@ -26,7 +26,7 @@ IR-003, IR-004, IR-009, IR-010, IR-011, IR-012, IR-013, IR-014, IR-015, IR-016, ### Development Requirements (DR) ``` -DR-001, DR-002, DR-003, DR-004, DR-005, DR-006, DR-007, DR-009, DR-010, DR-011, DR-012, DR-013, DR-014, DR-015, DR-016, DR-017, DR-018, DR-020, DR-021, DR-022, DR-023, DR-024, DR-025, DR-026, DR-027, DR-028, DR-029, DR-030, DR-032, DR-033, DR-034, DR-035, DR-036, DR-037, DR-038, DR-039, DR-040, DR-041, DR-043, DR-044, DR-045, DR-047, DR-048, DR-049, DR-050, DR-051, DR-052, DR-053, DR-054, DR-055, DR-056, DR-057, DR-058, DR-059, DR-060, DR-061, DR-062, DR-063, DR-064, DR-065, DR-066, DR-067, DR-068, DR-069, DR-070, DR-074, DR-075, DR-076, DR-077, DR-078, DR-079, DR-080, DR-081, DR-082, DR-083, DR-084, DR-085, DR-086, DR-087, DR-088, DR-089, DR-090, DR-091, DR-092, DR-093, DR-095, DR-096, DR-097, DR-098, DR-099, DR-100, DR-101, DR-102, DR-103, DR-104, DR-105, DR-106, DR-107, DR-108, DR-109, DR-110, DR-111, DR-112, DR-113, DR-114, DR-115, DR-116, DR-117, DR-118, DR-119, DR-120, DR-123, DR-126, DR-127, DR-128, DR-129, DR-130, DR-131, DR-132, DR-133, DR-134, DR-135, DR-136, DR-137, DR-140, DR-141, DR-142, DR-143, DR-147, DR-148, DR-149 +DR-001, DR-002, DR-003, DR-004, DR-005, DR-006, DR-007, DR-009, DR-010, DR-011, DR-012, DR-013, DR-014, DR-015, DR-016, DR-017, DR-018, DR-020, DR-021, DR-022, DR-023, DR-024, DR-025, DR-026, DR-027, DR-028, DR-029, DR-030, DR-032, DR-033, DR-034, DR-035, DR-036, DR-037, DR-038, DR-039, DR-040, DR-041, DR-043, DR-044, DR-045, DR-047, DR-048, DR-049, DR-050, DR-051, DR-052, DR-053, DR-054, DR-055, DR-056, DR-057, DR-058, DR-059, DR-060, DR-061, DR-062, DR-063, DR-064, DR-065, DR-066, DR-067, DR-068, DR-069, DR-070, DR-074, DR-075, DR-076, DR-077, DR-078, DR-079, DR-080, DR-081, DR-082, DR-083, DR-084, DR-085, DR-086, DR-087, DR-088, DR-089, DR-090, DR-091, DR-092, DR-093, DR-095, DR-096, DR-097, DR-098, DR-099, DR-100, DR-101, DR-102, DR-103, DR-104, DR-105, DR-106, DR-107, DR-108, DR-109, DR-110, DR-111, DR-112, DR-113, DR-114, DR-115, DR-116, DR-117, DR-118, DR-119, DR-120, DR-123, DR-126, DR-127, DR-128, DR-129, DR-130, DR-131, DR-132, DR-133, DR-134, DR-135, DR-136, DR-137, DR-140, DR-141, DR-142, DR-143, DR-147, DR-148, DR-149, DR-150, DR-151, DR-152 ``` ### Jellyfin API Requirements (JA) @@ -82,10 +82,10 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 2 file(s) -- **File:** [`src-tauri/src/jellyfin/client.rs`](src-tauri/src/jellyfin/client.rs#L1) +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1) +- **File:** [`src-tauri/src/jellyfin/client.rs`](src-tauri/src/jellyfin/client.rs#L1) - **Line:** 1 - **Context:** `Unknown` @@ -112,15 +112,15 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 3 file(s) +- **File:** [`src-tauri/src/repository/hybrid.rs`](src-tauri/src/repository/hybrid.rs#L8) + - **Line:** 8 + - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/storage/mod.rs`](src-tauri/src/commands/storage/mod.rs#L3) - **Line:** 3 - **Context:** `Unknown` - **File:** [`src-tauri/src/storage/schema.rs`](src-tauri/src/storage/schema.rs#L3) - **Line:** 3 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](src-tauri/src/repository/hybrid.rs#L8) - - **Line:** 8 - - **Context:** `Unknown` ### IR-014 @@ -138,12 +138,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/stores/auth.ts`](src/lib/stores/auth.ts#L445) - **Line:** 445 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/auth.rs`](src-tauri/src/commands/auth.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` - **File:** [`src-tauri/src/credentials.rs`](src-tauri/src/credentials.rs#L10) - **Line:** 10 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/auth.rs`](src-tauri/src/commands/auth.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` ### IR-015 @@ -157,27 +157,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 16 file(s) -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2254) - - **Line:** 2254 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2810) - - **Line:** 2810 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L302) - - **Line:** 302 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L622) - - **Line:** 622 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1772) - - **Line:** 1772 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](src/lib/components/player/subtitleTracks.test.ts#L159) - - **Line:** 159 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](src/lib/components/player/subtitleTracks.test.ts#L282) - - **Line:** 282 - - **Context:** `Unknown` - **File:** [`src/lib/components/player/subtitleTracks.ts`](src/lib/components/player/subtitleTracks.ts#L20) - **Line:** 20 - **Context:** `Unknown` @@ -187,6 +166,27 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/components/player/subtitleTracks.ts`](src/lib/components/player/subtitleTracks.ts#L218) - **Line:** 218 - **Context:** `Unknown` +- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](src/lib/components/player/subtitleTracks.test.ts#L159) + - **Line:** 159 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](src/lib/components/player/subtitleTracks.test.ts#L282) + - **Line:** 282 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L315) + - **Line:** 315 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L635) + - **Line:** 635 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1812) + - **Line:** 1812 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2262) + - **Line:** 2262 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2842) + - **Line:** 2842 + - **Context:** `Unknown` - **File:** [`src-tauri/src/player/media.rs`](src-tauri/src/player/media.rs#L42) - **Line:** 42 - **Context:** `Unknown` @@ -196,20 +196,26 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L399) - **Line:** 399 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2501) - - **Line:** 2501 +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2538) + - **Line:** 2538 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2558) - - **Line:** 2558 +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2595) + - **Line:** 2595 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2590) - - **Line:** 2590 +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2627) + - **Line:** 2627 - **Context:** `Unknown` ### IR-020 **Locations:** 8 file(s) +- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L33) + - **Line:** 33 + - **Context:** `Unknown` - **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L658) - **Line:** 658 - **Context:** `Unknown` @@ -228,12 +234,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/commands/player/settings.rs`](src-tauri/src/commands/player/settings.rs#L3) - **Line:** 3 - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L33) - - **Line:** 33 - - **Context:** `Unknown` ### IR-023 @@ -247,12 +247,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 2 file(s) -- **File:** [`src/lib/utils/backgroundAudio.test.ts`](src/lib/utils/backgroundAudio.test.ts#L7) - - **Line:** 7 - - **Context:** `Unknown` - **File:** [`src/lib/utils/backgroundAudio.ts`](src/lib/utils/backgroundAudio.ts#L4) - **Line:** 4 - **Context:** `Unknown` +- **File:** [`src/lib/utils/backgroundAudio.test.ts`](src/lib/utils/backgroundAudio.test.ts#L7) + - **Line:** 7 + - **Context:** `Unknown` ### IR-026 @@ -285,8 +285,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L326) - **Line:** 326 - **Context:** `Unknown` -- **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1332) - - **Line:** 1332 +- **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1334) + - **Line:** 1334 - **Context:** `Unknown` ### IR-031 @@ -304,17 +304,17 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 17 file(s) -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2438) - - **Line:** 2438 +- **File:** [`src/lib/player/adapters/types.ts`](src/lib/player/adapters/types.ts#L15) + - **Line:** 15 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2495) - - **Line:** 2495 +- **File:** [`src/lib/player/adapters/rustReportHost.ts`](src/lib/player/adapters/rustReportHost.ts#L13) + - **Line:** 13 - **Context:** `Unknown` -- **File:** [`src/lib/stores/player.ts`](src/lib/stores/player.ts#L8) - - **Line:** 8 +- **File:** [`src/lib/player/adapters/html5Adapter.ts`](src/lib/player/adapters/html5Adapter.ts#L19) + - **Line:** 19 - **Context:** `Unknown` -- **File:** [`src/lib/stores/player.ts`](src/lib/stores/player.ts#L31) - - **Line:** 31 +- **File:** [`src/lib/player/index.ts`](src/lib/player/index.ts#L15) + - **Line:** 15 - **Context:** `Unknown` - **File:** [`src/lib/services/playerEvents.test.ts`](src/lib/services/playerEvents.test.ts#L4) - **Line:** 4 @@ -328,17 +328,17 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L186) - **Line:** 186 - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/rustReportHost.ts`](src/lib/player/adapters/rustReportHost.ts#L13) - - **Line:** 13 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2470) + - **Line:** 2470 - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/types.ts`](src/lib/player/adapters/types.ts#L15) - - **Line:** 15 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2527) + - **Line:** 2527 - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/html5Adapter.ts`](src/lib/player/adapters/html5Adapter.ts#L19) - - **Line:** 19 +- **File:** [`src/lib/stores/player.ts`](src/lib/stores/player.ts#L8) + - **Line:** 8 - **Context:** `Unknown` -- **File:** [`src/lib/player/index.ts`](src/lib/player/index.ts#L15) - - **Line:** 15 +- **File:** [`src/lib/stores/player.ts`](src/lib/stores/player.ts#L31) + - **Line:** 31 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/state.rs`](src-tauri/src/player/state.rs#L7) - **Line:** 7 @@ -360,8 +360,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 2 file(s) -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2316) - - **Line:** 2316 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2348) + - **Line:** 2348 - **Context:** `export type PlaybackProgress = { itemId: string;` - **File:** [`src-tauri/src/player/media.rs`](src-tauri/src/player/media.rs#L60) - **Line:** 60 @@ -371,8 +371,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 2 file(s) -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2420) - - **Line:** 2420 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2452) + - **Line:** 2452 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/media.rs`](src-tauri/src/player/media.rs#L142) - **Line:** 142 @@ -380,19 +380,34 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, ### DR-004 -**Locations:** 9 file(s) +**Locations:** 14 file(s) -- **File:** [`src/lib/services/webviewAudio.ts`](src/lib/services/webviewAudio.ts#L18) - - **Line:** 18 - - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/index.ts`](src/lib/player/adapters/index.ts#L11) - - **Line:** 11 +- **File:** [`src/lib/player/adapters/nativeAdapter.ts`](src/lib/player/adapters/nativeAdapter.ts#L24) + - **Line:** 24 - **Context:** `Unknown` - **File:** [`src/lib/player/adapters/webviewAudioAdapter.ts`](src/lib/player/adapters/webviewAudioAdapter.ts#L18) - **Line:** 18 - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/nativeAdapter.ts`](src/lib/player/adapters/nativeAdapter.ts#L24) - - **Line:** 24 +- **File:** [`src/lib/player/adapters/index.ts`](src/lib/player/adapters/index.ts#L20) + - **Line:** 20 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playbackCapabilities.ts`](src/lib/services/playbackCapabilities.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/services/webviewAudio.ts`](src/lib/services/webviewAudio.ts#L18) + - **Line:** 18 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L149) + - **Line:** 149 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2312) + - **Line:** 2312 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/webview_audio_backend.rs`](src-tauri/src/player/webview_audio_backend.rs#L25) + - **Line:** 25 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/webview_audio_backend.rs`](src-tauri/src/player/webview_audio_backend.rs#L184) + - **Line:** 184 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L39) - **Line:** 39 @@ -403,22 +418,22 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L251) - **Line:** 251 - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/webview_audio_backend.rs`](src-tauri/src/player/webview_audio_backend.rs#L25) - - **Line:** 25 +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L1664) + - **Line:** 1664 - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/webview_audio_backend.rs`](src-tauri/src/player/webview_audio_backend.rs#L184) - - **Line:** 184 +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L1681) + - **Line:** 1681 - **Context:** `Unknown` ### DR-005 **Locations:** 13 file(s) -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2692) - - **Line:** 2692 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2724) + - **Line:** 2724 - **Context:** `export type RemoteSessionStatus = { position: number; duration: number...` -- **File:** [`src/lib/stores/queue.test.ts`](src/lib/stores/queue.test.ts#L4) - - **Line:** 4 +- **File:** [`src/lib/stores/appState.ts`](src/lib/stores/appState.ts#L2) + - **Line:** 2 - **Context:** `Unknown` - **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L7) - **Line:** 7 @@ -438,8 +453,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L125) - **Line:** 125 - **Context:** `async function toggleShuffle() {` -- **File:** [`src/lib/stores/appState.ts`](src/lib/stores/appState.ts#L2) - - **Line:** 2 +- **File:** [`src/lib/stores/queue.test.ts`](src/lib/stores/queue.test.ts#L4) + - **Line:** 4 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/queue.rs`](src-tauri/src/player/queue.rs#L8) - **Line:** 8 @@ -458,70 +473,49 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 2 file(s) -- **File:** [`src/lib/services/preload.ts`](src/lib/services/preload.ts#L5) - - **Line:** 5 - - **Context:** `Unknown` - **File:** [`src/lib/services/preload.test.ts`](src/lib/services/preload.test.ts#L4) - **Line:** 4 - **Context:** `Unknown` +- **File:** [`src/lib/services/preload.ts`](src/lib/services/preload.ts#L5) + - **Line:** 5 + - **Context:** `Unknown` ### DR-007 **Locations:** 9 file(s) -- **File:** [`src/routes/library/music/+page.svelte`](src/routes/library/music/+page.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` - **File:** [`src/routes/library/movies/+page.svelte`](src/routes/library/movies/+page.svelte#L8) - **Line:** 8 - **Context:** `Unknown` - **File:** [`src/routes/library/tv/+page.svelte`](src/routes/library/tv/+page.svelte#L8) - **Line:** 8 - **Context:** `Unknown` +- **File:** [`src/routes/library/music/+page.svelte`](src/routes/library/music/+page.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` - **File:** [`src/lib/components/library/AlphabetScrollBar.svelte`](src/lib/components/library/AlphabetScrollBar.svelte#L1) - **Line:** 1 - **Context:** `Unknown` - **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](src/lib/components/library/GenericMediaListPage.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/stores/movies.ts`](src/lib/stores/movies.ts#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/music.ts`](src/lib/stores/music.ts#L3) - - **Line:** 3 - - **Context:** `Unknown` - **File:** [`src/lib/stores/tv.ts`](src/lib/stores/tv.ts#L3) - **Line:** 3 - **Context:** `Unknown` - **File:** [`src/lib/stores/library.ts`](src/lib/stores/library.ts#L2) - **Line:** 2 - **Context:** `Unknown` +- **File:** [`src/lib/stores/music.ts`](src/lib/stores/music.ts#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/movies.ts`](src/lib/stores/movies.ts#L3) + - **Line:** 3 + - **Context:** `Unknown` ### DR-009 **Locations:** 12 file(s) -- **File:** [`src/lib/components/player/Controls.svelte`](src/lib/components/player/Controls.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/MiniPlayer.svelte`](src/lib/components/player/MiniPlayer.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/AudioPlayer.svelte`](src/lib/components/player/AudioPlayer.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/components/BottomUi.svelte`](src/lib/components/BottomUi.svelte#L23) - - **Line:** 23 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/appState.ts`](src/lib/stores/appState.ts#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/player.ts`](src/lib/stores/player.ts#L8) - - **Line:** 8 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/playerVisibility.test.ts`](src/lib/stores/playerVisibility.test.ts#L9) - - **Line:** 9 - - **Context:** `Unknown` - **File:** [`src/lib/utils/layoutShell.ts`](src/lib/utils/layoutShell.ts#L17) - **Line:** 17 - **Context:** `Unknown` @@ -531,12 +525,33 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/player/index.ts`](src/lib/player/index.ts#L15) - **Line:** 15 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/session.rs`](src-tauri/src/commands/player/session.rs#L3) - - **Line:** 3 +- **File:** [`src/lib/components/BottomUi.svelte`](src/lib/components/BottomUi.svelte#L23) + - **Line:** 23 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/Controls.svelte`](src/lib/components/player/Controls.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/MiniPlayer.svelte`](src/lib/components/player/MiniPlayer.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/AudioPlayer.svelte`](src/lib/components/player/AudioPlayer.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/player.ts`](src/lib/stores/player.ts#L8) + - **Line:** 8 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/appState.ts`](src/lib/stores/appState.ts#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/playerVisibility.test.ts`](src/lib/stores/playerVisibility.test.ts#L9) + - **Line:** 9 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/conversions.rs`](src-tauri/src/commands/conversions.rs#L3) - **Line:** 3 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/session.rs`](src-tauri/src/commands/player/session.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` ### DR-010 @@ -550,24 +565,24 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 9 file(s) -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L573) - - **Line:** 573 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L589) - - **Line:** 589 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/library.ts`](src/lib/stores/library.ts#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src/lib/services/deviceId.test.ts`](src/lib/services/deviceId.test.ts#L7) - - **Line:** 7 - - **Context:** `Unknown` - **File:** [`src/lib/services/deviceId.ts`](src/lib/services/deviceId.ts#L8) - **Line:** 8 - **Context:** `Unknown` - **File:** [`src/lib/services/deviceId.ts`](src/lib/services/deviceId.ts#L23) - **Line:** 23 - **Context:** `Unknown` +- **File:** [`src/lib/services/deviceId.test.ts`](src/lib/services/deviceId.test.ts#L7) + - **Line:** 7 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L581) + - **Line:** 581 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L597) + - **Line:** 597 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/library.ts`](src/lib/stores/library.ts#L2) + - **Line:** 2 + - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/device.rs`](src-tauri/src/commands/device.rs#L4) - **Line:** 4 - **Context:** `Unknown` @@ -582,12 +597,18 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 7 file(s) -- **File:** [`src-tauri/src/commands/storage/mod.rs`](src-tauri/src/commands/storage/mod.rs#L3) +- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L3) - **Line:** 3 - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](src-tauri/src/repository/hybrid.rs#L8) + - **Line:** 8 + - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L3) - **Line:** 3 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/storage/mod.rs`](src-tauri/src/commands/storage/mod.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` - **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) - **Line:** 311 - **Context:** `Unknown` @@ -597,12 +618,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/storage/schema.rs`](src-tauri/src/storage/schema.rs#L3) - **Line:** 3 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](src-tauri/src/repository/hybrid.rs#L8) - - **Line:** 8 - - **Context:** `Unknown` ### DR-013 @@ -611,9 +626,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/stores/connectivity.ts`](src/lib/stores/connectivity.ts#L10) - **Line:** 10 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/storage/mod.rs`](src-tauri/src/commands/storage/mod.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L3) - **Line:** 3 - **Context:** `Unknown` @@ -623,6 +635,9 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1) - **Line:** 1 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/storage/mod.rs`](src-tauri/src/commands/storage/mod.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` ### DR-014 @@ -645,20 +660,20 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 6 file(s) -- **File:** [`src/lib/stores/downloads.ts`](src/lib/stores/downloads.ts#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/downloads.test.ts`](src/lib/stores/downloads.test.ts#L2) - - **Line:** 2 - - **Context:** `Unknown` - **File:** [`src/lib/utils/validation.test.ts`](src/lib/utils/validation.test.ts#L4) - **Line:** 4 - **Context:** `Unknown` +- **File:** [`src/lib/services/preload.test.ts`](src/lib/services/preload.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` - **File:** [`src/lib/services/preload.ts`](src/lib/services/preload.ts#L5) - **Line:** 5 - **Context:** `Unknown` -- **File:** [`src/lib/services/preload.test.ts`](src/lib/services/preload.test.ts#L4) - - **Line:** 4 +- **File:** [`src/lib/stores/downloads.test.ts`](src/lib/stores/downloads.test.ts#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/downloads.ts`](src/lib/stores/downloads.ts#L2) + - **Line:** 2 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L2040) - **Line:** 2040 @@ -668,12 +683,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 3 file(s) -- **File:** [`src/lib/services/imageCache.test.ts`](src/lib/services/imageCache.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` - **File:** [`src/lib/services/imageCache.ts`](src/lib/services/imageCache.ts#L2) - **Line:** 2 - **Context:** `Unknown` +- **File:** [`src/lib/services/imageCache.test.ts`](src/lib/services/imageCache.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/storage/thumbnails.rs`](src-tauri/src/commands/storage/thumbnails.rs#L3) - **Line:** 3 - **Context:** `Unknown` @@ -682,10 +697,10 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 3 file(s) -- **File:** [`src/lib/stores/downloads.ts`](src/lib/stores/downloads.ts#L2) +- **File:** [`src/lib/stores/downloads.test.ts`](src/lib/stores/downloads.test.ts#L2) - **Line:** 2 - **Context:** `Unknown` -- **File:** [`src/lib/stores/downloads.test.ts`](src/lib/stores/downloads.test.ts#L2) +- **File:** [`src/lib/stores/downloads.ts`](src/lib/stores/downloads.ts#L2) - **Line:** 2 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/offline.rs`](src-tauri/src/commands/offline.rs#L136) @@ -704,9 +719,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 8 file(s) -- **File:** [`src/lib/stores/queue.test.ts`](src/lib/stores/queue.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` - **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L7) - **Line:** 7 - **Context:** `Unknown` @@ -722,6 +734,9 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L140) - **Line:** 140 - **Context:** `async function moveInQueue(fromIndex: number, toIndex: number) {` +- **File:** [`src/lib/stores/queue.test.ts`](src/lib/stores/queue.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` - **File:** [`src-tauri/src/player/queue.rs`](src-tauri/src/player/queue.rs#L20) - **Line:** 20 - **Context:** `pub enum RepeatMode {` @@ -753,46 +768,70 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, ### DR-023 -**Locations:** 8 file(s) +**Locations:** 12 file(s) -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1) - - **Line:** 1 +- **File:** [`src/lib/player/adapters/types.ts`](src/lib/player/adapters/types.ts#L15) + - **Line:** 15 - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L293) - - **Line:** 293 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1739) - - **Line:** 1739 - - **Context:** `function toggleSubtitleMenu() {` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1772) - - **Line:** 1772 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](src/lib/components/player/subtitleTracks.test.ts#L18) - - **Line:** 18 +- **File:** [`src/lib/player/adapters/html5Adapter.ts`](src/lib/player/adapters/html5Adapter.ts#L19) + - **Line:** 19 - **Context:** `Unknown` - **File:** [`src/lib/components/player/subtitleTracks.ts`](src/lib/components/player/subtitleTracks.ts#L20) - **Line:** 20 - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/types.ts`](src/lib/player/adapters/types.ts#L15) - - **Line:** 15 +- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](src/lib/components/player/subtitleTracks.test.ts#L18) + - **Line:** 18 - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/html5Adapter.ts`](src/lib/player/adapters/html5Adapter.ts#L19) - - **Line:** 19 +- **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#L306) + - **Line:** 306 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1779) + - **Line:** 1779 + - **Context:** `function toggleSubtitleMenu() {` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1812) + - **Line:** 1812 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L149) + - **Line:** 149 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2312) + - **Line:** 2312 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L1664) + - **Line:** 1664 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L1681) + - **Line:** 1681 - **Context:** `Unknown` ### DR-024 -**Locations:** 4 file(s) +**Locations:** 8 file(s) -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` - **File:** [`src/lib/player/adapters/types.ts`](src/lib/player/adapters/types.ts#L15) - **Line:** 15 - **Context:** `Unknown` - **File:** [`src/lib/player/adapters/html5Adapter.ts`](src/lib/player/adapters/html5Adapter.ts#L19) - **Line:** 19 - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L149) + - **Line:** 149 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2312) + - **Line:** 2312 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L1664) + - **Line:** 1664 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L1681) + - **Line:** 1681 + - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/storage/series_prefs.rs`](src-tauri/src/commands/storage/series_prefs.rs#L3) - **Line:** 3 - **Context:** `Unknown` @@ -831,17 +870,20 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 18 file(s) -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2495) - - **Line:** 2495 - - **Context:** `Unknown` - **File:** [`src/lib/utils/duration.test.ts`](src/lib/utils/duration.test.ts#L4) - **Line:** 4 - **Context:** `Unknown` -- **File:** [`src/lib/services/playerEvents.test.ts`](src/lib/services/playerEvents.test.ts#L4) - - **Line:** 4 +- **File:** [`src/lib/player/adapters/types.ts`](src/lib/player/adapters/types.ts#L15) + - **Line:** 15 - **Context:** `Unknown` -- **File:** [`src/lib/services/playbackReporting.test.ts`](src/lib/services/playbackReporting.test.ts#L4) - - **Line:** 4 +- **File:** [`src/lib/player/adapters/nativeAdapter.ts`](src/lib/player/adapters/nativeAdapter.ts#L24) + - **Line:** 24 + - **Context:** `Unknown` +- **File:** [`src/lib/player/adapters/rustReportHost.ts`](src/lib/player/adapters/rustReportHost.ts#L13) + - **Line:** 13 + - **Context:** `Unknown` +- **File:** [`src/lib/player/adapters/html5Adapter.ts`](src/lib/player/adapters/html5Adapter.ts#L19) + - **Line:** 19 - **Context:** `Unknown` - **File:** [`src/lib/services/playbackReporting.ts`](src/lib/services/playbackReporting.ts#L10) - **Line:** 10 @@ -858,23 +900,20 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/services/playbackReporting.ts`](src/lib/services/playbackReporting.ts#L122) - **Line:** 122 - **Context:** `Unknown` +- **File:** [`src/lib/services/playerEvents.test.ts`](src/lib/services/playerEvents.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` - **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L8) - **Line:** 8 - **Context:** `Unknown` - **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L156) - **Line:** 156 - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/rustReportHost.ts`](src/lib/player/adapters/rustReportHost.ts#L13) - - **Line:** 13 +- **File:** [`src/lib/services/playbackReporting.test.ts`](src/lib/services/playbackReporting.test.ts#L4) + - **Line:** 4 - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/types.ts`](src/lib/player/adapters/types.ts#L15) - - **Line:** 15 - - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/nativeAdapter.ts`](src/lib/player/adapters/nativeAdapter.ts#L24) - - **Line:** 24 - - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/html5Adapter.ts`](src/lib/player/adapters/html5Adapter.ts#L19) - - **Line:** 19 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2527) + - **Line:** 2527 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/events.rs`](src-tauri/src/player/events.rs#L6) - **Line:** 6 @@ -890,30 +929,30 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 10 file(s) -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2752) - - **Line:** 2752 - - **Context:** `export type SessionInfo = { id?: string | null; userId?: string | null...` - **File:** [`src/lib/components/player/SleepTimerModal.svelte`](src/lib/components/player/SleepTimerModal.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/stores/sleepTimer.ts`](src/lib/stores/sleepTimer.ts#L10) - - **Line:** 10 - - **Context:** `Unknown` - **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L264) - **Line:** 264 - **Context:** `function handleMediaLoaded(duration: number): void {` - **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L324) - **Line:** 324 - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2784) + - **Line:** 2784 + - **Context:** `export type SessionInfo = { id?: string | null; userId?: string | null...` +- **File:** [`src/lib/stores/sleepTimer.ts`](src/lib/stores/sleepTimer.ts#L10) + - **Line:** 10 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/autoplay.rs`](src-tauri/src/player/autoplay.rs#L2) + - **Line:** 2 + - **Context:** `Unknown` - **File:** [`src-tauri/src/player/sleep_timer.rs`](src-tauri/src/player/sleep_timer.rs#L4) - **Line:** 4 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/sleep_timer.rs`](src-tauri/src/player/sleep_timer.rs#L81) - **Line:** 81 - **Context:** `pub fn cancel(&mut self) {` -- **File:** [`src-tauri/src/player/autoplay.rs`](src-tauri/src/player/autoplay.rs#L2) - - **Line:** 2 - - **Context:** `Unknown` - **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L328) - **Line:** 328 - **Context:** `Unknown` @@ -928,23 +967,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/settings/+page.svelte`](src/routes/settings/+page.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L181) - - **Line:** 181 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L189) + - **Line:** 189 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1931) - - **Line:** 1931 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/android/mod.rs`](src-tauri/src/player/android/mod.rs#L563) - - **Line:** 563 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/android/mod.rs`](src-tauri/src/player/android/mod.rs#L601) - - **Line:** 601 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/settings.rs`](src-tauri/src/commands/player/settings.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/settings.rs`](src-tauri/src/commands/player/settings.rs#L33) - - **Line:** 33 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1939) + - **Line:** 1939 - **Context:** `Unknown` - **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L1) - **Line:** 1 @@ -979,6 +1006,18 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L337) - **Line:** 337 - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/android/mod.rs`](src-tauri/src/player/android/mod.rs#L563) + - **Line:** 563 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/android/mod.rs`](src-tauri/src/player/android/mod.rs#L601) + - **Line:** 601 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/settings.rs`](src-tauri/src/commands/player/settings.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/settings.rs`](src-tauri/src/commands/player/settings.rs#L33) + - **Line:** 33 + - **Context:** `Unknown` ### DR-032 @@ -1003,26 +1042,17 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 2 file(s) -- **File:** [`src-tauri/src/commands/player/settings.rs`](src-tauri/src/commands/player/settings.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` - **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L1) - **Line:** 1 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/settings.rs`](src-tauri/src/commands/player/settings.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` ### DR-035 **Locations:** 7 file(s) -- **File:** [`src-tauri/src/player/android/mod.rs`](src-tauri/src/player/android/mod.rs#L563) - - **Line:** 563 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/android/mod.rs`](src-tauri/src/player/android/mod.rs#L601) - - **Line:** 601 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/settings.rs`](src-tauri/src/commands/player/settings.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` - **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L1) - **Line:** 1 - **Context:** `Unknown` @@ -1035,11 +1065,32 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L234) - **Line:** 234 - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/android/mod.rs`](src-tauri/src/player/android/mod.rs#L563) + - **Line:** 563 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/android/mod.rs`](src-tauri/src/player/android/mod.rs#L601) + - **Line:** 601 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/settings.rs`](src-tauri/src/commands/player/settings.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` ### DR-036 **Locations:** 12 file(s) +- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L193) + - **Line:** 193 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L210) + - **Line:** 210 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L234) + - **Line:** 234 + - **Context:** `Unknown` - **File:** [`src-tauri/src/player/android/mod.rs`](src-tauri/src/player/android/mod.rs#L563) - **Line:** 563 - **Context:** `Unknown` @@ -1064,53 +1115,41 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/commands/player/settings.rs`](src-tauri/src/commands/player/settings.rs#L3) - **Line:** 3 - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L193) - - **Line:** 193 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L210) - - **Line:** 210 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L234) - - **Line:** 234 - - **Context:** `Unknown` ### DR-037 **Locations:** 12 file(s) -- **File:** [`src/lib/components/sessions/SessionCard.svelte`](src/lib/components/sessions/SessionCard.svelte#L1) +- **File:** [`src/lib/components/sessions/SessionPickerModal.svelte`](src/lib/components/sessions/SessionPickerModal.svelte#L1) - **Line:** 1 - **Context:** `Unknown` - **File:** [`src/lib/components/sessions/SessionsList.svelte`](src/lib/components/sessions/SessionsList.svelte#L1) - **Line:** 1 - **Context:** `Unknown` +- **File:** [`src/lib/components/sessions/SessionCard.svelte`](src/lib/components/sessions/SessionCard.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` - **File:** [`src/lib/components/sessions/RemoteControls.svelte`](src/lib/components/sessions/RemoteControls.svelte#L1) - **Line:** 1 - **Context:** `Unknown` - **File:** [`src/lib/components/sessions/CastButton.svelte`](src/lib/components/sessions/CastButton.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/components/sessions/SessionPickerModal.svelte`](src/lib/components/sessions/SessionPickerModal.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` - **File:** [`src/lib/stores/sessions.test.ts`](src/lib/stores/sessions.test.ts#L2) - **Line:** 2 - **Context:** `Unknown` +- **File:** [`src/lib/stores/playbackMode.ts`](src/lib/stores/playbackMode.ts#L9) + - **Line:** 9 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/playbackMode.test.ts`](src/lib/stores/playbackMode.test.ts#L2) + - **Line:** 2 + - **Context:** `Unknown` - **File:** [`src/lib/stores/sessions.ts`](src/lib/stores/sessions.ts#L2) - **Line:** 2 - **Context:** `Unknown` - **File:** [`src/lib/stores/lmsSync.ts`](src/lib/stores/lmsSync.ts#L12) - **Line:** 12 - **Context:** `Unknown` -- **File:** [`src/lib/stores/playbackMode.ts`](src/lib/stores/playbackMode.ts#L9) - - **Line:** 9 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/playbackMode.test.ts`](src/lib/stores/playbackMode.test.ts#L2) - - **Line:** 2 - - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/player/remote.rs`](src-tauri/src/commands/player/remote.rs#L3) - **Line:** 3 - **Context:** `Unknown` @@ -1122,23 +1161,20 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 9 file(s) -- **File:** [`src/routes/library/music/+page.svelte`](src/routes/library/music/+page.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` - **File:** [`src/routes/library/movies/+page.svelte`](src/routes/library/movies/+page.svelte#L8) - **Line:** 8 - **Context:** `Unknown` - **File:** [`src/routes/library/tv/+page.svelte`](src/routes/library/tv/+page.svelte#L8) - **Line:** 8 - **Context:** `Unknown` -- **File:** [`src/lib/components/home/HeroBanner.svelte`](src/lib/components/home/HeroBanner.svelte#L1) +- **File:** [`src/routes/library/music/+page.svelte`](src/routes/library/music/+page.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/stores/movies.ts`](src/lib/stores/movies.ts#L3) - - **Line:** 3 +- **File:** [`src/lib/utils/heroMix.ts`](src/lib/utils/heroMix.ts#L8) + - **Line:** 8 - **Context:** `Unknown` -- **File:** [`src/lib/stores/music.ts`](src/lib/stores/music.ts#L3) - - **Line:** 3 +- **File:** [`src/lib/components/home/HeroBanner.svelte`](src/lib/components/home/HeroBanner.svelte#L1) + - **Line:** 1 - **Context:** `Unknown` - **File:** [`src/lib/stores/tv.ts`](src/lib/stores/tv.ts#L3) - **Line:** 3 @@ -1146,31 +1182,28 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/stores/home.ts`](src/lib/stores/home.ts#L2) - **Line:** 2 - **Context:** `Unknown` -- **File:** [`src/lib/utils/heroMix.ts`](src/lib/utils/heroMix.ts#L8) - - **Line:** 8 +- **File:** [`src/lib/stores/music.ts`](src/lib/stores/music.ts#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/movies.ts`](src/lib/stores/movies.ts#L3) + - **Line:** 3 - **Context:** `Unknown` ### DR-039 **Locations:** 8 file(s) -- **File:** [`src/routes/library/music/+page.svelte`](src/routes/library/music/+page.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` - **File:** [`src/routes/library/movies/+page.svelte`](src/routes/library/movies/+page.svelte#L8) - **Line:** 8 - **Context:** `Unknown` - **File:** [`src/routes/library/tv/+page.svelte`](src/routes/library/tv/+page.svelte#L8) - **Line:** 8 - **Context:** `Unknown` -- **File:** [`src/lib/components/home/Carousel.svelte`](src/lib/components/home/Carousel.svelte#L1) +- **File:** [`src/routes/library/music/+page.svelte`](src/routes/library/music/+page.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/stores/movies.ts`](src/lib/stores/movies.ts#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/music.ts`](src/lib/stores/music.ts#L3) - - **Line:** 3 +- **File:** [`src/lib/components/home/Carousel.svelte`](src/lib/components/home/Carousel.svelte#L1) + - **Line:** 1 - **Context:** `Unknown` - **File:** [`src/lib/stores/tv.ts`](src/lib/stores/tv.ts#L3) - **Line:** 3 @@ -1178,15 +1211,21 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/stores/home.ts`](src/lib/stores/home.ts#L2) - **Line:** 2 - **Context:** `Unknown` +- **File:** [`src/lib/stores/music.ts`](src/lib/stores/music.ts#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/movies.ts`](src/lib/stores/movies.ts#L3) + - **Line:** 3 + - **Context:** `Unknown` ### DR-040 **Locations:** 3 file(s) -- **File:** [`src/lib/components/library/CastSection.svelte`](src/lib/components/library/CastSection.svelte#L1) +- **File:** [`src/lib/components/library/CrewLinks.svelte`](src/lib/components/library/CrewLinks.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/CrewLinks.svelte`](src/lib/components/library/CrewLinks.svelte#L1) +- **File:** [`src/lib/components/library/CastSection.svelte`](src/lib/components/library/CastSection.svelte#L1) - **Line:** 1 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/storage/people.rs`](src-tauri/src/commands/storage/people.rs#L3) @@ -1232,27 +1271,15 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 15 file(s) -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L241) - - **Line:** 241 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2495) - - **Line:** 2495 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/nextEpisode.ts`](src/lib/stores/nextEpisode.ts#L9) - - **Line:** 9 - - **Context:** `Unknown` -- **File:** [`src/lib/services/playerEvents.test.ts`](src/lib/services/playerEvents.test.ts#L4) - - **Line:** 4 +- **File:** [`src/lib/services/playbackReporting.ts`](src/lib/services/playbackReporting.ts#L10) + - **Line:** 10 - **Context:** `Unknown` - **File:** [`src/lib/services/nextEpisodeService.ts`](src/lib/services/nextEpisodeService.ts#L11) - **Line:** 11 - **Context:** `Unknown` -- **File:** [`src/lib/services/playbackReporting.test.ts`](src/lib/services/playbackReporting.test.ts#L4) +- **File:** [`src/lib/services/playerEvents.test.ts`](src/lib/services/playerEvents.test.ts#L4) - **Line:** 4 - **Context:** `Unknown` -- **File:** [`src/lib/services/playbackReporting.ts`](src/lib/services/playbackReporting.ts#L10) - - **Line:** 10 - - **Context:** `Unknown` - **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L8) - **Line:** 8 - **Context:** `Unknown` @@ -1262,15 +1289,27 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L369) - **Line:** 369 - **Context:** `Unknown` +- **File:** [`src/lib/services/playbackReporting.test.ts`](src/lib/services/playbackReporting.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L249) + - **Line:** 249 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2527) + - **Line:** 2527 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/nextEpisode.ts`](src/lib/stores/nextEpisode.ts#L9) + - **Line:** 9 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/autoplay.rs`](src-tauri/src/player/autoplay.rs#L2) + - **Line:** 2 + - **Context:** `Unknown` - **File:** [`src-tauri/src/player/events.rs`](src-tauri/src/player/events.rs#L6) - **Line:** 6 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/events.rs`](src-tauri/src/player/events.rs#L23) - **Line:** 23 - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/autoplay.rs`](src-tauri/src/player/autoplay.rs#L2) - - **Line:** 2 - - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/player/timers.rs`](src-tauri/src/commands/player/timers.rs#L3) - **Line:** 3 - **Context:** `Unknown` @@ -1285,21 +1324,21 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/settings/+page.svelte`](src/routes/settings/+page.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/stores/nextEpisode.ts`](src/lib/stores/nextEpisode.ts#L9) - - **Line:** 9 - - **Context:** `Unknown` - **File:** [`src/lib/services/nextEpisodeService.ts`](src/lib/services/nextEpisodeService.ts#L11) - **Line:** 11 - **Context:** `Unknown` - **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L369) - **Line:** 369 - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/autoplay.rs`](src-tauri/src/player/autoplay.rs#L2) - - **Line:** 2 +- **File:** [`src/lib/stores/nextEpisode.ts`](src/lib/stores/nextEpisode.ts#L9) + - **Line:** 9 - **Context:** `Unknown` - **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L1) - **Line:** 1 - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/autoplay.rs`](src-tauri/src/player/autoplay.rs#L2) + - **Line:** 2 + - **Context:** `Unknown` ### DR-049 @@ -1321,28 +1360,25 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 3 file(s) -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1) - - **Line:** 1 +- **File:** [`src/lib/utils/backgroundAudio.ts`](src/lib/utils/backgroundAudio.ts#L4) + - **Line:** 4 - **Context:** `Unknown` - **File:** [`src/lib/utils/backgroundAudio.test.ts`](src/lib/utils/backgroundAudio.test.ts#L7) - **Line:** 7 - **Context:** `Unknown` -- **File:** [`src/lib/utils/backgroundAudio.ts`](src/lib/utils/backgroundAudio.ts#L4) - - **Line:** 4 +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1) + - **Line:** 1 - **Context:** `Unknown` ### DR-052 **Locations:** 20 file(s) -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L38) - - **Line:** 38 +- **File:** [`src/lib/player/backgroundAudio.commands.test.ts`](src/lib/player/backgroundAudio.commands.test.ts#L7) + - **Line:** 7 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L51) - - **Line:** 51 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L241) - - **Line:** 241 +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1) + - **Line:** 1 - **Context:** `Unknown` - **File:** [`src/lib/components/player/backgroundAudioHandoff.test.ts`](src/lib/components/player/backgroundAudioHandoff.test.ts#L11) - **Line:** 11 @@ -1353,11 +1389,14 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/components/player/backgroundAudioHandoff.ts`](src/lib/components/player/backgroundAudioHandoff.ts#L69) - **Line:** 69 - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1) - - **Line:** 1 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L38) + - **Line:** 38 - **Context:** `Unknown` -- **File:** [`src/lib/player/backgroundAudio.commands.test.ts`](src/lib/player/backgroundAudio.commands.test.ts#L7) - - **Line:** 7 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L51) + - **Line:** 51 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L249) + - **Line:** 249 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L179) - **Line:** 179 @@ -1484,6 +1523,9 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/components/library/episodeStrip.ts`](src/lib/components/library/episodeStrip.ts#L8) - **Line:** 8 - **Context:** `Unknown` +- **File:** [`src/lib/components/library/EpisodeFocusView.test.ts`](src/lib/components/library/EpisodeFocusView.test.ts#L7) + - **Line:** 7 + - **Context:** `Unknown` - **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](src/lib/components/library/EpisodeFocusView.svelte#L7) - **Line:** 7 - **Context:** `Unknown` @@ -1493,34 +1535,22 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](src/lib/components/library/EpisodeFocusView.svelte#L353) - **Line:** 353 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/EpisodeFocusView.test.ts`](src/lib/components/library/EpisodeFocusView.test.ts#L7) - - **Line:** 7 - - **Context:** `Unknown` ### DR-063 **Locations:** 17 file(s) -- **File:** [`src/routes/library/+page.svelte`](src/routes/library/+page.svelte#L17) - - **Line:** 17 - - **Context:** `Unknown` - **File:** [`src/routes/search/+page.svelte`](src/routes/search/+page.svelte#L21) - **Line:** 21 - **Context:** `Unknown` - **File:** [`src/routes/search/+page.svelte`](src/routes/search/+page.svelte#L34) - **Line:** 34 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1404) - - **Line:** 1404 +- **File:** [`src/routes/library/+page.svelte`](src/routes/library/+page.svelte#L17) + - **Line:** 17 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2727) - - **Line:** 2727 - - **Context:** `export type SearchResult = { items: MediaItem[]; totalRecordCount: num...` -- **File:** [`src/lib/components/search/HeaderSearch.svelte`](src/lib/components/search/HeaderSearch.svelte#L12) - - **Line:** 12 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/library.ts`](src/lib/stores/library.ts#L236) - - **Line:** 236 +- **File:** [`src/lib/utils/layoutShell.ts`](src/lib/utils/layoutShell.ts#L104) + - **Line:** 104 - **Context:** `Unknown` - **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L9) - **Line:** 9 @@ -1537,12 +1567,18 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L125) - **Line:** 125 - **Context:** `Unknown` -- **File:** [`src/lib/utils/layoutShell.ts`](src/lib/utils/layoutShell.ts#L104) - - **Line:** 104 +- **File:** [`src/lib/components/search/HeaderSearch.svelte`](src/lib/components/search/HeaderSearch.svelte#L12) + - **Line:** 12 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1412) + - **Line:** 1412 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2759) + - **Line:** 2759 + - **Context:** `export type SearchResult = { items: MediaItem[]; totalRecordCount: num...` +- **File:** [`src/lib/stores/library.ts`](src/lib/stores/library.ts#L236) + - **Line:** 236 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L482) - - **Line:** 482 - - **Context:** `pub struct SearchUpdateEvent {` - **File:** [`src-tauri/src/repository/types.rs`](src-tauri/src/repository/types.rs#L311) - **Line:** 311 - **Context:** `Unknown` @@ -1552,6 +1588,9 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/repository/types.rs`](src-tauri/src/repository/types.rs#L374) - **Line:** 374 - **Context:** `impl SearchOptions {` +- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L482) + - **Line:** 482 + - **Context:** `pub struct SearchUpdateEvent {` ### DR-064 @@ -1563,15 +1602,15 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/search/+page.svelte`](src/routes/search/+page.svelte#L62) - **Line:** 62 - **Context:** `Unknown` +- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L125) + - **Line:** 125 + - **Context:** `Unknown` - **File:** [`src/lib/components/search/SearchScopeChips.svelte`](src/lib/components/search/SearchScopeChips.svelte#L7) - **Line:** 7 - **Context:** `Unknown` - **File:** [`src/lib/components/search/HeaderSearch.svelte`](src/lib/components/search/HeaderSearch.svelte#L12) - **Line:** 12 - **Context:** `Unknown` -- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L125) - - **Line:** 125 - - **Context:** `Unknown` ### DR-065 @@ -1588,35 +1627,35 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 5 file(s) -- **File:** [`src/lib/components/settings/SearchGroupOrderList.svelte`](src/lib/components/settings/SearchGroupOrderList.svelte#L8) - - **Line:** 8 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/searchGroupOrder.ts`](src/lib/stores/searchGroupOrder.ts#L6) - - **Line:** 6 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/searchGroupOrder.test.ts`](src/lib/stores/searchGroupOrder.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` - **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L9) - **Line:** 9 - **Context:** `Unknown` - **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L240) - **Line:** 240 - **Context:** `Unknown` +- **File:** [`src/lib/components/settings/SearchGroupOrderList.svelte`](src/lib/components/settings/SearchGroupOrderList.svelte#L8) + - **Line:** 8 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/searchGroupOrder.test.ts`](src/lib/stores/searchGroupOrder.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/searchGroupOrder.ts`](src/lib/stores/searchGroupOrder.ts#L6) + - **Line:** 6 + - **Context:** `Unknown` ### DR-067 **Locations:** 3 file(s) -- **File:** [`src/lib/components/search/SearchResults.svelte`](src/lib/components/search/SearchResults.svelte#L9) - - **Line:** 9 - - **Context:** `Unknown` - **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L9) - **Line:** 9 - **Context:** `Unknown` - **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L290) - **Line:** 290 - **Context:** `Unknown` +- **File:** [`src/lib/components/search/SearchResults.svelte`](src/lib/components/search/SearchResults.svelte#L9) + - **Line:** 9 + - **Context:** `Unknown` ### DR-068 @@ -1646,27 +1685,27 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 17 file(s) -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1006) - - **Line:** 1006 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1017) - - **Line:** 1017 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2130) - - **Line:** 2130 - - **Context:** `export type MergedMediaItem = { id: string; title: string; artist: str...` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2139) - - **Line:** 2139 - - **Context:** `export type NetworkStateWrapperArg = { networkType: NetworkType; unmet...` -- **File:** [`src/lib/stores/downloads.ts`](src/lib/stores/downloads.ts#L81) - - **Line:** 81 - - **Context:** `Unknown` - **File:** [`src/lib/services/networkType.ts`](src/lib/services/networkType.ts#L10) - **Line:** 10 - **Context:** `Unknown` - **File:** [`src/lib/services/networkType.test.ts`](src/lib/services/networkType.test.ts#L4) - **Line:** 4 - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1014) + - **Line:** 1014 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1025) + - **Line:** 1025 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2138) + - **Line:** 2138 + - **Context:** `export type MergedMediaItem = { id: string; title: string; artist: str...` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2147) + - **Line:** 2147 + - **Context:** `export type NetworkStateWrapperArg = { networkType: NetworkType; unmet...` +- **File:** [`src/lib/stores/downloads.ts`](src/lib/stores/downloads.ts#L81) + - **Line:** 81 + - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L27) - **Line:** 27 - **Context:** `pub struct DownloadManagerWrapper(pub Mutex);` @@ -1682,6 +1721,9 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L1312) - **Line:** 1312 - **Context:** `Unknown` +- **File:** [`src-tauri/src/download/cache.rs`](src-tauri/src/download/cache.rs#L86) + - **Line:** 86 + - **Context:** `Unknown` - **File:** [`src-tauri/src/download/network.rs`](src-tauri/src/download/network.rs#L22) - **Line:** 22 - **Context:** `Unknown` @@ -1694,9 +1736,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/download/events.rs`](src-tauri/src/download/events.rs#L47) - **Line:** 47 - **Context:** `Unknown` -- **File:** [`src-tauri/src/download/cache.rs`](src-tauri/src/download/cache.rs#L86) - - **Line:** 86 - - **Context:** `Unknown` ### DR-075 @@ -1710,12 +1749,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 2 file(s) -- **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/components/AppHeader.svelte`](src/lib/components/AppHeader.svelte#L10) + - **Line:** 10 + - **Context:** `Unknown` ### DR-077 @@ -1794,29 +1833,23 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/downloads/+page.svelte`](src/routes/downloads/+page.svelte#L14) - **Line:** 14 - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L97) - - **Line:** 97 - - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L105) - - **Line:** 105 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1287) - - **Line:** 1287 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1295) - - **Line:** 1295 - - **Context:** `Unknown` - **File:** [`src/lib/components/downloads/DownloadedBrowse.svelte`](src/lib/components/downloads/DownloadedBrowse.svelte#L10) - **Line:** 10 - **Context:** `Unknown` - **File:** [`src/lib/services/downloadedCatalog.ts`](src/lib/services/downloadedCatalog.ts#L12) - **Line:** 12 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L218) - - **Line:** 218 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1295) + - **Line:** 1295 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L233) - - **Line:** 233 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1303) + - **Line:** 1303 + - **Context:** `Unknown` +- **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L97) + - **Line:** 97 + - **Context:** `Unknown` +- **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L105) + - **Line:** 105 - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L808) - **Line:** 808 @@ -1851,6 +1884,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/repository/hybrid.rs`](src-tauri/src/repository/hybrid.rs#L211) - **Line:** 211 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L218) + - **Line:** 218 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L233) + - **Line:** 233 + - **Context:** `Unknown` ### DR-083 @@ -1859,15 +1898,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/downloads/+page.svelte`](src/routes/downloads/+page.svelte#L14) - **Line:** 14 - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L105) - - **Line:** 105 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L847) - - **Line:** 847 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1295) - - **Line:** 1295 - - **Context:** `Unknown` - **File:** [`src/lib/components/library/MediaCard.svelte`](src/lib/components/library/MediaCard.svelte#L26) - **Line:** 26 - **Context:** `Unknown` @@ -1883,11 +1913,14 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/services/downloadedCatalog.ts`](src/lib/services/downloadedCatalog.ts#L95) - **Line:** 95 - **Context:** `function sizeOf(itemId: string): number {` -- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L1938) - - **Line:** 1938 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L855) + - **Line:** 855 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L233) - - **Line:** 233 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1303) + - **Line:** 1303 + - **Context:** `Unknown` +- **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L105) + - **Line:** 105 - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L808) - **Line:** 808 @@ -1913,6 +1946,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/repository/hybrid.rs`](src-tauri/src/repository/hybrid.rs#L200) - **Line:** 200 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L233) + - **Line:** 233 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L1938) + - **Line:** 1938 + - **Context:** `Unknown` ### DR-084 @@ -1932,38 +1971,32 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/downloads/+page.svelte`](src/routes/downloads/+page.svelte#L14) - **Line:** 14 - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L113) - - **Line:** 113 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1303) - - **Line:** 1303 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1856) - - **Line:** 1856 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/LibraryGrid.svelte`](src/lib/components/library/LibraryGrid.svelte#L17) - - **Line:** 17 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/MediaCard.svelte`](src/lib/components/library/MediaCard.svelte#L20) - - **Line:** 20 - - **Context:** `Unknown` -- **File:** [`src/lib/components/downloads/DownloadedBrowse.svelte`](src/lib/components/downloads/DownloadedBrowse.svelte#L10) - - **Line:** 10 - - **Context:** `Unknown` - **File:** [`src/lib/utils/formatBytes.ts`](src/lib/utils/formatBytes.ts#L8) - **Line:** 8 - **Context:** `Unknown` - **File:** [`src/lib/utils/formatBytes.test.ts`](src/lib/utils/formatBytes.test.ts#L4) - **Line:** 4 - **Context:** `Unknown` +- **File:** [`src/lib/components/library/MediaCard.svelte`](src/lib/components/library/MediaCard.svelte#L20) + - **Line:** 20 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/LibraryGrid.svelte`](src/lib/components/library/LibraryGrid.svelte#L17) + - **Line:** 17 + - **Context:** `Unknown` +- **File:** [`src/lib/components/downloads/DownloadedBrowse.svelte`](src/lib/components/downloads/DownloadedBrowse.svelte#L10) + - **Line:** 10 + - **Context:** `Unknown` - **File:** [`src/lib/services/downloadedCatalog.ts`](src/lib/services/downloadedCatalog.ts#L12) - **Line:** 12 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L250) - - **Line:** 250 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1311) + - **Line:** 1311 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/types.rs`](src-tauri/src/repository/types.rs#L259) - - **Line:** 259 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1864) + - **Line:** 1864 + - **Context:** `Unknown` +- **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L113) + - **Line:** 113 - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L990) - **Line:** 990 @@ -1971,9 +2004,15 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L3748) - **Line:** 3748 - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/types.rs`](src-tauri/src/repository/types.rs#L259) + - **Line:** 259 + - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/hybrid.rs`](src-tauri/src/repository/hybrid.rs#L218) - **Line:** 218 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L250) + - **Line:** 250 + - **Context:** `Unknown` ### DR-086 @@ -2012,15 +2051,15 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 4 file(s) +- **File:** [`src/lib/stores/tv.ts`](src/lib/stores/tv.ts#L3) + - **Line:** 3 + - **Context:** `Unknown` - **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` @@ -2092,15 +2131,15 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 9 file(s) -- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L8) - - **Line:** 8 - - **Context:** `Unknown` - **File:** [`src/lib/player/transport.authority.test.ts`](src/lib/player/transport.authority.test.ts#L4) - **Line:** 4 - **Context:** `Unknown` - **File:** [`src/lib/player/index.ts`](src/lib/player/index.ts#L15) - **Line:** 15 - **Context:** `Unknown` +- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L8) + - **Line:** 8 + - **Context:** `Unknown` - **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L190) - **Line:** 190 - **Context:** `Unknown` @@ -2127,15 +2166,15 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/components/player/tapGestures.ts`](src/lib/components/player/tapGestures.ts#L21) - **Line:** 21 - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.tapSurface.test.ts`](src/lib/components/player/VideoPlayer.tapSurface.test.ts#L5) - - **Line:** 5 - - **Context:** `Unknown` - **File:** [`src/lib/components/player/VideoPlayer.touchScrub.test.ts`](src/lib/components/player/VideoPlayer.touchScrub.test.ts#L21) - **Line:** 21 - **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.tapSurface.test.ts`](src/lib/components/player/VideoPlayer.tapSurface.test.ts#L5) + - **Line:** 5 + - **Context:** `Unknown` ### DR-099 @@ -2152,12 +2191,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 2 file(s) -- **File:** [`src/lib/components/player/playerSurface.test.ts`](src/lib/components/player/playerSurface.test.ts#L13) - - **Line:** 13 - - **Context:** `Unknown` - **File:** [`src/lib/components/player/playerSurface.ts`](src/lib/components/player/playerSurface.ts#L8) - **Line:** 8 - **Context:** `Unknown` +- **File:** [`src/lib/components/player/playerSurface.test.ts`](src/lib/components/player/playerSurface.test.ts#L13) + - **Line:** 13 + - **Context:** `Unknown` ### DR-101 @@ -2166,17 +2205,20 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/library/[id]/+page.svelte`](src/routes/library/[id]/+page.svelte#L187) - **Line:** 187 - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1350) + - **Line:** 1350 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1363) + - **Line:** 1363 + - **Context:** `Unknown` - **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L144) - **Line:** 144 - **Context:** `Unknown` - **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L154) - **Line:** 154 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1342) - - **Line:** 1342 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1355) - - **Line:** 1355 +- **File:** [`src-tauri/src/repository/series_progress.rs`](src-tauri/src/repository/series_progress.rs#L12) + - **Line:** 12 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L344) - **Line:** 344 @@ -2184,9 +2226,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L365) - **Line:** 365 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/series_progress.rs`](src-tauri/src/repository/series_progress.rs#L12) - - **Line:** 12 - - **Context:** `Unknown` ### DR-102 @@ -2207,12 +2246,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/components/library/SeasonSection.svelte`](src/lib/components/library/SeasonSection.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/seriesNavigation.test.ts`](src/lib/components/library/seriesNavigation.test.ts#L1) - - **Line:** 1 - - **Context:** `Unknown` - **File:** [`src/lib/components/library/seriesNavigation.ts`](src/lib/components/library/seriesNavigation.ts#L13) - **Line:** 13 - **Context:** `Unknown` +- **File:** [`src/lib/components/library/seriesNavigation.test.ts`](src/lib/components/library/seriesNavigation.test.ts#L1) + - **Line:** 1 + - **Context:** `Unknown` ### DR-103 @@ -2230,12 +2269,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/components/library/SeasonSection.svelte`](src/lib/components/library/SeasonSection.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/seriesNavigation.test.ts`](src/lib/components/library/seriesNavigation.test.ts#L1) - - **Line:** 1 - - **Context:** `Unknown` - **File:** [`src/lib/components/library/seriesNavigation.ts`](src/lib/components/library/seriesNavigation.ts#L13) - **Line:** 13 - **Context:** `Unknown` +- **File:** [`src/lib/components/library/seriesNavigation.test.ts`](src/lib/components/library/seriesNavigation.test.ts#L1) + - **Line:** 1 + - **Context:** `Unknown` ### DR-104 @@ -2249,9 +2288,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 10 file(s) -- **File:** [`src/routes/library/shows/genres/+page.ts`](src/routes/library/shows/genres/+page.ts#L6) - - **Line:** 6 - - **Context:** `Unknown` - **File:** [`src/routes/library/movies/genres/+page.ts`](src/routes/library/movies/genres/+page.ts#L6) - **Line:** 6 - **Context:** `Unknown` @@ -2261,14 +2297,17 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/library/movies/+page.svelte`](src/routes/library/movies/+page.svelte#L8) - **Line:** 8 - **Context:** `Unknown` -- **File:** [`src/routes/library/tv/shows/+page.ts`](src/routes/library/tv/shows/+page.ts#L6) - - **Line:** 6 - - **Context:** `Unknown` - **File:** [`src/routes/library/tv/+page.svelte`](src/routes/library/tv/+page.svelte#L8) - **Line:** 8 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/LibraryViewTabs.svelte`](src/lib/components/library/LibraryViewTabs.svelte#L8) - - **Line:** 8 +- **File:** [`src/routes/library/tv/shows/+page.ts`](src/routes/library/tv/shows/+page.ts#L6) + - **Line:** 6 + - **Context:** `Unknown` +- **File:** [`src/routes/library/shows/genres/+page.ts`](src/routes/library/shows/genres/+page.ts#L6) + - **Line:** 6 + - **Context:** `Unknown` +- **File:** [`src/lib/utils/libraryView.ts`](src/lib/utils/libraryView.ts#L9) + - **Line:** 9 - **Context:** `Unknown` - **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](src/lib/components/library/GenericMediaListPage.svelte#L48) - **Line:** 48 @@ -2276,28 +2315,25 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/components/library/GenericGenreBrowser.svelte`](src/lib/components/library/GenericGenreBrowser.svelte#L42) - **Line:** 42 - **Context:** `Unknown` -- **File:** [`src/lib/utils/libraryView.ts`](src/lib/utils/libraryView.ts#L9) - - **Line:** 9 +- **File:** [`src/lib/components/library/LibraryViewTabs.svelte`](src/lib/components/library/LibraryViewTabs.svelte#L8) + - **Line:** 8 - **Context:** `Unknown` ### DR-106 **Locations:** 7 file(s) -- **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L165) - - **Line:** 165 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1369) - - **Line:** 1369 +- **File:** [`src/lib/components/library/SeasonSection.svelte`](src/lib/components/library/SeasonSection.svelte#L1) + - **Line:** 1 - **Context:** `Unknown` - **File:** [`src/lib/components/library/ClearHistoryButton.svelte`](src/lib/components/library/ClearHistoryButton.svelte#L9) - **Line:** 9 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/SeasonSection.svelte`](src/lib/components/library/SeasonSection.svelte#L1) - - **Line:** 1 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1377) + - **Line:** 1377 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L387) - - **Line:** 387 +- **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L165) + - **Line:** 165 - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/mod.rs`](src-tauri/src/repository/mod.rs#L235) - **Line:** 235 @@ -2305,6 +2341,9 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1896) - **Line:** 1896 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L387) + - **Line:** 387 + - **Context:** `Unknown` ### DR-107 @@ -2341,9 +2380,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 6 file(s) -- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L51) - - **Line:** 51 - - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L164) - **Line:** 164 - **Context:** `Unknown` @@ -2356,23 +2392,17 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L740) - **Line:** 740 - **Context:** `Unknown` -- **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1332) - - **Line:** 1332 +- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L51) + - **Line:** 51 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1334) + - **Line:** 1334 - **Context:** `Unknown` ### DR-110 **Locations:** 8 file(s) -- **File:** [`src-tauri/src/commands/storage/people.rs`](src-tauri/src/commands/storage/people.rs#L56) - - **Line:** 56 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L164) - - **Line:** 164 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/storage/schema.rs`](src-tauri/src/storage/schema.rs#L757) - - **Line:** 757 - - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L276) - **Line:** 276 - **Context:** `Unknown` @@ -2388,26 +2418,35 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/repository/hybrid.rs`](src-tauri/src/repository/hybrid.rs#L63) - **Line:** 63 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L164) + - **Line:** 164 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/storage/people.rs`](src-tauri/src/commands/storage/people.rs#L56) + - **Line:** 56 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/storage/schema.rs`](src-tauri/src/storage/schema.rs#L757) + - **Line:** 757 + - **Context:** `Unknown` ### DR-111 **Locations:** 5 file(s) -- **File:** [`src-tauri/src/commands/storage/people.rs`](src-tauri/src/commands/storage/people.rs#L56) - - **Line:** 56 - - **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/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L96) + - **Line:** 96 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/storage/people.rs`](src-tauri/src/commands/storage/people.rs#L56) + - **Line:** 56 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/storage/schema.rs`](src-tauri/src/storage/schema.rs#L769) + - **Line:** 769 + - **Context:** `Unknown` ### DR-112 @@ -2416,8 +2455,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/+layout.svelte`](src/routes/+layout.svelte#L254) - **Line:** 254 - **Context:** `Unknown` -- **File:** [`src/lib/components/BottomUi.svelte`](src/lib/components/BottomUi.svelte#L23) - - **Line:** 23 +- **File:** [`src/lib/utils/layoutShell.ts`](src/lib/utils/layoutShell.ts#L129) + - **Line:** 129 + - **Context:** `Unknown` +- **File:** [`src/lib/utils/layoutShell.test.ts`](src/lib/utils/layoutShell.test.ts#L158) + - **Line:** 158 - **Context:** `Unknown` - **File:** [`src/lib/utils/safeArea.ts`](src/lib/utils/safeArea.ts#L4) - **Line:** 4 @@ -2425,11 +2467,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/utils/safeArea.test.ts`](src/lib/utils/safeArea.test.ts#L17) - **Line:** 17 - **Context:** `Unknown` -- **File:** [`src/lib/utils/layoutShell.ts`](src/lib/utils/layoutShell.ts#L129) - - **Line:** 129 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/layoutShell.test.ts`](src/lib/utils/layoutShell.test.ts#L158) - - **Line:** 158 +- **File:** [`src/lib/components/BottomUi.svelte`](src/lib/components/BottomUi.svelte#L23) + - **Line:** 23 - **Context:** `Unknown` ### DR-113 @@ -2464,18 +2503,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 16 file(s) +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1506) + - **Line:** 1506 + - **Context:** `Unknown` - **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L322) - **Line:** 322 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1498) - - **Line:** 1498 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L840) - - **Line:** 840 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L877) - - **Line:** 877 - - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L1953) - **Line:** 1953 - **Context:** `Unknown` @@ -2485,6 +2518,9 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L4208) - **Line:** 4208 - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/mod.rs`](src-tauri/src/repository/mod.rs#L223) + - **Line:** 223 + - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/hybrid.rs`](src-tauri/src/repository/hybrid.rs#L141) - **Line:** 141 - **Context:** `Unknown` @@ -2494,9 +2530,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/repository/hybrid.rs`](src-tauri/src/repository/hybrid.rs#L855) - **Line:** 855 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/mod.rs`](src-tauri/src/repository/mod.rs#L223) - - **Line:** 223 - - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L681) - **Line:** 681 - **Context:** `Unknown` @@ -2512,14 +2545,17 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2655) - **Line:** 2655 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L840) + - **Line:** 840 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L877) + - **Line:** 877 + - **Context:** `Unknown` ### DR-116 **Locations:** 11 file(s) -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1956) - - **Line:** 1956 - - **Context:** `export type GetItemsOptions = { startIndex?: number | null; limit?: nu...` - **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](src/lib/components/library/GenericMediaListPage.svelte#L1) - **Line:** 1 - **Context:** `Unknown` @@ -2532,15 +2568,18 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](src/lib/components/library/GenericMediaListPage.svelte#L288) - **Line:** 288 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/types.rs`](src-tauri/src/repository/types.rs#L298) - - **Line:** 298 - - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1964) + - **Line:** 1964 + - **Context:** `export type GetItemsOptions = { startIndex?: number | null; limit?: nu...` - **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L1222) - **Line:** 1222 - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L4253) - **Line:** 4253 - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/types.rs`](src-tauri/src/repository/types.rs#L298) + - **Line:** 298 + - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L622) - **Line:** 622 - **Context:** `Unknown` @@ -2555,27 +2594,27 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 7 file(s) +- **File:** [`src/routes/library/+page.svelte`](src/routes/library/+page.svelte#L207) + - **Line:** 207 + - **Context:** `Unknown` - **File:** [`src/routes/library/favorites/+page.svelte`](src/routes/library/favorites/+page.svelte#L9) - **Line:** 9 - **Context:** `Unknown` - **File:** [`src/routes/library/favorites/+page.svelte`](src/routes/library/favorites/+page.svelte#L41) - **Line:** 41 - **Context:** `Unknown` -- **File:** [`src/routes/library/+page.svelte`](src/routes/library/+page.svelte#L207) - - **Line:** 207 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/favorites.ts`](src/lib/stores/favorites.ts#L79) - - **Line:** 79 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/favorites.test.ts`](src/lib/stores/favorites.test.ts#L1) +- **File:** [`src/lib/utils/favoritesView.test.ts`](src/lib/utils/favoritesView.test.ts#L1) - **Line:** 1 - **Context:** `Unknown` - **File:** [`src/lib/utils/favoritesView.ts`](src/lib/utils/favoritesView.ts#L8) - **Line:** 8 - **Context:** `Unknown` -- **File:** [`src/lib/utils/favoritesView.test.ts`](src/lib/utils/favoritesView.test.ts#L1) +- **File:** [`src/lib/stores/favorites.test.ts`](src/lib/stores/favorites.test.ts#L1) - **Line:** 1 - **Context:** `Unknown` +- **File:** [`src/lib/stores/favorites.ts`](src/lib/stores/favorites.ts#L79) + - **Line:** 79 + - **Context:** `Unknown` ### DR-118 @@ -2604,6 +2643,9 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/library/[id]/+page.svelte`](src/routes/library/[id]/+page.svelte#L567) - **Line:** 567 - **Context:** `Unknown` +- **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](src/lib/components/library/EpisodeFocusView.svelte#L232) + - **Line:** 232 + - **Context:** `Unknown` - **File:** [`src/lib/components/library/ArtistDetailView.svelte`](src/lib/components/library/ArtistDetailView.svelte#L133) - **Line:** 133 - **Context:** `Unknown` @@ -2622,12 +2664,18 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/components/library/PlaylistDetailView.svelte`](src/lib/components/library/PlaylistDetailView.svelte#L219) - **Line:** 219 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](src/lib/components/library/EpisodeFocusView.svelte#L232) - - **Line:** 232 - - **Context:** `Unknown` - **File:** [`src/lib/components/FavoriteButton.svelte`](src/lib/components/FavoriteButton.svelte#L1) - **Line:** 1 - **Context:** `Unknown` +- **File:** [`src/lib/services/favorites.ts`](src/lib/services/favorites.ts#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src/lib/services/favorites.ts`](src/lib/services/favorites.ts#L38) + - **Line:** 38 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/favorites.test.ts`](src/lib/stores/favorites.test.ts#L1) + - **Line:** 1 + - **Context:** `Unknown` - **File:** [`src/lib/stores/favorites.ts`](src/lib/stores/favorites.ts#L8) - **Line:** 8 - **Context:** `Unknown` @@ -2637,15 +2685,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/stores/favorites.ts`](src/lib/stores/favorites.ts#L79) - **Line:** 79 - **Context:** `Unknown` -- **File:** [`src/lib/stores/favorites.test.ts`](src/lib/stores/favorites.test.ts#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/services/favorites.ts`](src/lib/services/favorites.ts#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src/lib/services/favorites.ts`](src/lib/services/favorites.ts#L38) - - **Line:** 38 - - **Context:** `Unknown` ### DR-120 @@ -2657,9 +2696,15 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/+layout.svelte`](src/routes/+layout.svelte#L130) - **Line:** 130 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1498) - - **Line:** 1498 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1506) + - **Line:** 1506 - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](src-tauri/src/repository/hybrid.rs#L46) + - **Line:** 46 + - **Context:** `pub fn new(online: OnlineRepository, offline: OfflineRepository) -> Se...` +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L50) + - **Line:** 50 + - **Context:** `impl OnlineRepository {` - **File:** [`src-tauri/src/commands/favorites.rs`](src-tauri/src/commands/favorites.rs#L12) - **Line:** 12 - **Context:** `Unknown` @@ -2699,14 +2744,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L1019) - **Line:** 1019 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](src-tauri/src/repository/hybrid.rs#L46) - - **Line:** 46 - - **Context:** `pub fn new(online: OnlineRepository, offline: OfflineRepository) -> Se...` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L50) - - **Line:** 50 - - **Context:** `impl OnlineRepository {` -- **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1339) - - **Line:** 1339 +- **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1341) + - **Line:** 1341 - **Context:** `Unknown` ### DR-123 @@ -2719,20 +2758,20 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/player/[id]/+page.svelte`](src/routes/player/[id]/+page.svelte#L319) - **Line:** 319 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L300) - - **Line:** 300 - - **Context:** `Unknown` - **File:** [`src/lib/player/localSource.ts`](src/lib/player/localSource.ts#L12) - **Line:** 12 - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L308) + - **Line:** 308 + - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L444) - **Line:** 444 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L496) - **Line:** 496 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2665) - - **Line:** 2665 +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2702) + - **Line:** 2702 - **Context:** `Unknown` ### DR-126 @@ -2750,15 +2789,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 6 file(s) -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1791) - - **Line:** 1791 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1799) + - **Line:** 1799 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L276) - **Line:** 276 - **Context:** `Unknown` -- **File:** [`src-tauri/src/storage/schema.rs`](src-tauri/src/storage/schema.rs#L813) - - **Line:** 813 - - **Context:** `Unknown` - **File:** [`src-tauri/src/download/cache.rs`](src-tauri/src/download/cache.rs#L33) - **Line:** 33 - **Context:** `Unknown` @@ -2768,6 +2804,9 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/download/cache.rs`](src-tauri/src/download/cache.rs#L422) - **Line:** 422 - **Context:** `Unknown` +- **File:** [`src-tauri/src/storage/schema.rs`](src-tauri/src/storage/schema.rs#L813) + - **Line:** 813 + - **Context:** `Unknown` ### DR-128 @@ -2779,16 +2818,16 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L682) - **Line:** 682 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2624) - - **Line:** 2624 +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2661) + - **Line:** 2661 - **Context:** `Unknown` ### DR-129 **Locations:** 8 file(s) -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L241) - - **Line:** 241 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L249) + - **Line:** 249 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/stream_end.rs`](src-tauri/src/player/stream_end.rs#L3) - **Line:** 3 @@ -2816,15 +2855,15 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 7 file(s) -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L264) - - **Line:** 264 - - **Context:** `Unknown` - **File:** [`src/lib/services/playerEvents.regression.test.ts`](src/lib/services/playerEvents.regression.test.ts#L155) - **Line:** 155 - **Context:** `Unknown` - **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L287) - **Line:** 287 - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L272) + - **Line:** 272 + - **Context:** `Unknown` - **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L564) - **Line:** 564 - **Context:** `Unknown` @@ -2842,8 +2881,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 16 file(s) -- **File:** [`src-tauri/src/commands/sync.rs`](src-tauri/src/commands/sync.rs#L7) - - **Line:** 7 +- **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#L1937) + - **Line:** 1937 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/sync_drain.rs`](src-tauri/src/commands/sync_drain.rs#L14) - **Line:** 14 @@ -2881,14 +2923,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/commands/sync_drain.rs`](src-tauri/src/commands/sync_drain.rs#L802) - **Line:** 802 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/mod.rs`](src-tauri/src/repository/mod.rs#L243) - - **Line:** 243 +- **File:** [`src-tauri/src/commands/sync.rs`](src-tauri/src/commands/sync.rs#L7) + - **Line:** 7 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1937) - - **Line:** 1937 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1346) - - **Line:** 1346 +- **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1348) + - **Line:** 1348 - **Context:** `Unknown` ### DR-132 @@ -2898,39 +2937,39 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/settings/+page.svelte`](src/routes/settings/+page.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/routes/settings/+page.svelte`](src/routes/settings/+page.svelte#L681) - - **Line:** 681 +- **File:** [`src/routes/settings/+page.svelte`](src/routes/settings/+page.svelte#L742) + - **Line:** 742 - **Context:** `Unknown` - **File:** [`src/routes/+layout.svelte`](src/routes/+layout.svelte#L272) - **Line:** 272 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1152) - - **Line:** 1152 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2843) - - **Line:** 2843 - - **Context:** `export type SyncQueueItem = { id: number; userId: string; operation: s...` -- **File:** [`src/lib/components/sync/PendingSyncList.svelte`](src/lib/components/sync/PendingSyncList.svelte#L12) - - **Line:** 12 - - **Context:** `Unknown` - **File:** [`src/lib/components/sync/PendingSyncModal.svelte`](src/lib/components/sync/PendingSyncModal.svelte#L5) - **Line:** 5 - **Context:** `Unknown` +- **File:** [`src/lib/components/sync/PendingSyncList.svelte`](src/lib/components/sync/PendingSyncList.svelte#L12) + - **Line:** 12 + - **Context:** `Unknown` - **File:** [`src/lib/services/pendingSync.logic.ts`](src/lib/services/pendingSync.logic.ts#L9) - **Line:** 9 - **Context:** `Unknown` - **File:** [`src/lib/services/pendingSync.logic.test.ts`](src/lib/services/pendingSync.logic.test.ts#L1) - **Line:** 1 - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1160) + - **Line:** 1160 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2875) + - **Line:** 2875 + - **Context:** `export type SyncQueueItem = { id: number; userId: string; operation: s...` +- **File:** [`src-tauri/src/commands/sync_drain.rs`](src-tauri/src/commands/sync_drain.rs#L407) + - **Line:** 407 + - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/sync.rs`](src-tauri/src/commands/sync.rs#L7) - **Line:** 7 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/sync.rs`](src-tauri/src/commands/sync.rs#L33) - **Line:** 33 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](src-tauri/src/commands/sync_drain.rs#L407) - - **Line:** 407 - - **Context:** `Unknown` ### DR-133 @@ -2947,8 +2986,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 1 file(s) -- **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1018) - - **Line:** 1018 +- **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1020) + - **Line:** 1020 - **Context:** `Unknown` ### DR-135 @@ -2995,15 +3034,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/player/[id]/+page.svelte`](src/routes/player/[id]/+page.svelte#L319) - **Line:** 319 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L887) - - **Line:** 887 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L895) + - **Line:** 895 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/storage/mod.rs`](src-tauri/src/commands/storage/mod.rs#L93) - **Line:** 93 - **Context:** `Unknown` -- **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1249) - - **Line:** 1249 - - **Context:** `Unknown` - **File:** [`src-tauri/src/media_server.rs`](src-tauri/src/media_server.rs#L27) - **Line:** 27 - **Context:** `Unknown` @@ -3040,6 +3076,9 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/media_server.rs`](src-tauri/src/media_server.rs#L567) - **Line:** 567 - **Context:** `Unknown` +- **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1251) + - **Line:** 1251 + - **Context:** `Unknown` ### DR-140 @@ -3067,6 +3106,9 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 11 file(s) +- **File:** [`src/routes/search/+page.svelte`](src/routes/search/+page.svelte#L97) + - **Line:** 97 + - **Context:** `Unknown` - **File:** [`src/routes/library/[id]/+page.svelte`](src/routes/library/[id]/+page.svelte#L1) - **Line:** 1 - **Context:** `Unknown` @@ -3079,8 +3121,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/library/[id]/+page.svelte`](src/routes/library/[id]/+page.svelte#L444) - **Line:** 444 - **Context:** `Unknown` -- **File:** [`src/routes/search/+page.svelte`](src/routes/search/+page.svelte#L97) - - **Line:** 97 +- **File:** [`src/lib/components/library/EpisodeFocusView.test.ts`](src/lib/components/library/EpisodeFocusView.test.ts#L7) + - **Line:** 7 - **Context:** `Unknown` - **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](src/lib/components/library/EpisodeFocusView.svelte#L7) - **Line:** 7 @@ -3091,15 +3133,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](src/lib/components/library/EpisodeFocusView.svelte#L353) - **Line:** 353 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/EpisodeFocusView.test.ts`](src/lib/components/library/EpisodeFocusView.test.ts#L7) - - **Line:** 7 +- **File:** [`src/lib/components/library/seriesNavigation.ts`](src/lib/components/library/seriesNavigation.ts#L13) + - **Line:** 13 - **Context:** `Unknown` - **File:** [`src/lib/components/library/seriesNavigation.test.ts`](src/lib/components/library/seriesNavigation.test.ts#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/seriesNavigation.ts`](src/lib/components/library/seriesNavigation.ts#L13) - - **Line:** 13 - - **Context:** `Unknown` ### DR-143 @@ -3108,15 +3147,15 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/library/[id]/+page.svelte`](src/routes/library/[id]/+page.svelte#L90) - **Line:** 90 - **Context:** `Unknown` -- **File:** [`src/routes/library/music/+page.svelte`](src/routes/library/music/+page.svelte#L71) - - **Line:** 71 - - **Context:** `async function load() {` - **File:** [`src/routes/library/movies/+page.svelte`](src/routes/library/movies/+page.svelte#L73) - **Line:** 73 - **Context:** `async function load() {` - **File:** [`src/routes/library/tv/+page.svelte`](src/routes/library/tv/+page.svelte#L74) - **Line:** 74 - **Context:** `async function load() {` +- **File:** [`src/routes/library/music/+page.svelte`](src/routes/library/music/+page.svelte#L71) + - **Line:** 71 + - **Context:** `async function load() {` - **File:** [`src/routes/library/favorites/+page.svelte`](src/routes/library/favorites/+page.svelte#L85) - **Line:** 85 - **Context:** `Unknown` @@ -3126,18 +3165,18 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/components/library/GenericGenreBrowser.svelte`](src/lib/components/library/GenericGenreBrowser.svelte#L64) - **Line:** 64 - **Context:** `async function reloadGenreBrowse() {` -- **File:** [`src/lib/services/offlineCatalog.ts`](src/lib/services/offlineCatalog.ts#L43) - - **Line:** 43 - - **Context:** `Unknown` -- **File:** [`src/lib/services/offlineCatalog.reload.test.ts`](src/lib/services/offlineCatalog.reload.test.ts#L11) - - **Line:** 11 - - **Context:** `Unknown` - **File:** [`src/lib/composables/useOfflineFilterReload.test.ts`](src/lib/composables/useOfflineFilterReload.test.ts#L1) - **Line:** 1 - **Context:** `Unknown` - **File:** [`src/lib/composables/useOfflineFilterReload.ts`](src/lib/composables/useOfflineFilterReload.ts#L26) - **Line:** 26 - **Context:** `Unknown` +- **File:** [`src/lib/services/offlineCatalog.ts`](src/lib/services/offlineCatalog.ts#L43) + - **Line:** 43 + - **Context:** `Unknown` +- **File:** [`src/lib/services/offlineCatalog.reload.test.ts`](src/lib/services/offlineCatalog.reload.test.ts#L11) + - **Line:** 11 + - **Context:** `Unknown` ### DR-147 @@ -3152,12 +3191,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/search/+page.svelte`](src/routes/search/+page.svelte#L62) - **Line:** 62 - **Context:** `Unknown` -- **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/search/HeaderSearch.svelte`](src/lib/components/search/HeaderSearch.svelte#L12) + - **Line:** 12 + - **Context:** `Unknown` ### DR-148 @@ -3178,6 +3217,42 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **Line:** 127 - **Context:** `Unknown` +### DR-150 + +**Locations:** 4 file(s) + +- **File:** [`src/lib/utils/videoSurface.ts`](src/lib/utils/videoSurface.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/player/adapters/index.ts`](src/lib/player/adapters/index.ts#L20) + - **Line:** 20 + - **Context:** `Unknown` +- **File:** [`src/lib/player/adapters/adapterSelection.test.ts`](src/lib/player/adapters/adapterSelection.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/nativeVideo.ts`](src/lib/stores/nativeVideo.ts#L3) + - **Line:** 3 + - **Context:** `Unknown` + +### DR-151 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/utils/videoSurface.ts`](src/lib/utils/videoSurface.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` + +### DR-152 + +**Locations:** 2 file(s) + +- **File:** [`src/lib/services/playbackCapabilities.ts`](src/lib/services/playbackCapabilities.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/nativeVideo.ts`](src/lib/stores/nativeVideo.ts#L3) + - **Line:** 3 + - **Context:** `Unknown` + ### JA-001 **Locations:** 1 file(s) @@ -3209,12 +3284,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 3 file(s) -- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L4) - - **Line:** 4 - - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L3) - **Line:** 3 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L4) + - **Line:** 4 + - **Context:** `Unknown` - **File:** [`src-tauri/src/jellyfin/client.rs`](src-tauri/src/jellyfin/client.rs#L1) - **Line:** 1 - **Context:** `Unknown` @@ -3239,20 +3314,20 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 8 file(s) -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2254) - - **Line:** 2254 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2810) - - **Line:** 2810 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L622) - - **Line:** 622 +- **File:** [`src/lib/components/player/subtitleTracks.ts`](src/lib/components/player/subtitleTracks.ts#L183) + - **Line:** 183 - **Context:** `Unknown` - **File:** [`src/lib/components/player/subtitleTracks.test.ts`](src/lib/components/player/subtitleTracks.test.ts#L159) - **Line:** 159 - **Context:** `Unknown` -- **File:** [`src/lib/components/player/subtitleTracks.ts`](src/lib/components/player/subtitleTracks.ts#L183) - - **Line:** 183 +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L635) + - **Line:** 635 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2262) + - **Line:** 2262 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2842) + - **Line:** 2842 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/media.rs`](src-tauri/src/player/media.rs#L42) - **Line:** 42 @@ -3260,8 +3335,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L223) - **Line:** 223 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2590) - - **Line:** 2590 +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2627) + - **Line:** 2627 - **Context:** `Unknown` ### JA-010 @@ -3333,10 +3408,10 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 6 file(s) -- **File:** [`src/lib/components/sessions/SessionsList.svelte`](src/lib/components/sessions/SessionsList.svelte#L1) +- **File:** [`src/lib/components/sessions/SessionPickerModal.svelte`](src/lib/components/sessions/SessionPickerModal.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/components/sessions/SessionPickerModal.svelte`](src/lib/components/sessions/SessionPickerModal.svelte#L1) +- **File:** [`src/lib/components/sessions/SessionsList.svelte`](src/lib/components/sessions/SessionsList.svelte#L1) - **Line:** 1 - **Context:** `Unknown` - **File:** [`src/lib/stores/lmsSync.ts`](src/lib/stores/lmsSync.ts#L12) @@ -3345,12 +3420,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/commands/sessions.rs`](src-tauri/src/commands/sessions.rs#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src-tauri/src/jellyfin/client.rs`](src-tauri/src/jellyfin/client.rs#L1) - - **Line:** 1 - - **Context:** `Unknown` - **File:** [`src-tauri/src/session_poller/mod.rs`](src-tauri/src/session_poller/mod.rs#L6) - **Line:** 6 - **Context:** `Unknown` +- **File:** [`src-tauri/src/jellyfin/client.rs`](src-tauri/src/jellyfin/client.rs#L1) + - **Line:** 1 + - **Context:** `Unknown` ### JA-022 @@ -3434,10 +3509,10 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 3 file(s) -- **File:** [`src/lib/components/library/CastSection.svelte`](src/lib/components/library/CastSection.svelte#L1) +- **File:** [`src/lib/components/library/CrewLinks.svelte`](src/lib/components/library/CrewLinks.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/CrewLinks.svelte`](src/lib/components/library/CrewLinks.svelte#L1) +- **File:** [`src/lib/components/library/CastSection.svelte`](src/lib/components/library/CastSection.svelte#L1) - **Line:** 1 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L4) @@ -3470,6 +3545,9 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 10 file(s) +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1438) + - **Line:** 1438 + - **Context:** `Unknown` - **File:** [`src/lib/api/repository-client.test.ts`](src/lib/api/repository-client.test.ts#L434) - **Line:** 434 - **Context:** `Unknown` @@ -3479,18 +3557,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L234) - **Line:** 234 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1430) - - **Line:** 1430 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L599) - - **Line:** 599 +- **File:** [`src-tauri/src/repository/mod.rs`](src-tauri/src/repository/mod.rs#L129) + - **Line:** 129 - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/hybrid.rs`](src-tauri/src/repository/hybrid.rs#L104) - **Line:** 104 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/mod.rs`](src-tauri/src/repository/mod.rs#L129) - - **Line:** 129 - - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L450) - **Line:** 450 - **Context:** `Unknown` @@ -3500,16 +3572,16 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2438) - **Line:** 2438 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L599) + - **Line:** 599 + - **Context:** `Unknown` ### JA-033 **Locations:** 7 file(s) -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1498) - - **Line:** 1498 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L840) - - **Line:** 840 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1506) + - **Line:** 1506 - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/mod.rs`](src-tauri/src/repository/mod.rs#L223) - **Line:** 223 @@ -3526,6 +3598,9 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2624) - **Line:** 2624 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L840) + - **Line:** 840 + - **Context:** `Unknown` ### JA-034 @@ -3552,110 +3627,57 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **Line:** 1937 - **Context:** `Unknown` -### UR-002 - -**Locations:** 19 file(s) - -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2420) - - **Line:** 2420 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/connectivity.ts`](src/lib/stores/connectivity.ts#L10) - - **Line:** 10 - - **Context:** `Unknown` -- **File:** [`src/lib/services/syncService.ts`](src/lib/services/syncService.ts#L7) - - **Line:** 7 - - **Context:** `Unknown` -- **File:** [`src/lib/services/offlineCatalog.ts`](src/lib/services/offlineCatalog.ts#L14) - - **Line:** 14 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/media.rs`](src-tauri/src/player/media.rs#L142) - - **Line:** 142 - - **Context:** `pub enum MediaType {` -- **File:** [`src-tauri/src/commands/storage/mod.rs`](src-tauri/src/commands/storage/mod.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/offline.rs`](src-tauri/src/commands/offline.rs#L136) - - **Line:** 136 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync.rs`](src-tauri/src/commands/sync.rs#L7) - - **Line:** 7 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](src-tauri/src/commands/sync_drain.rs#L14) - - **Line:** 14 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](src-tauri/src/commands/sync_drain.rs#L228) - - **Line:** 228 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) - - **Line:** 311 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) - - **Line:** 157 - - **Context:** `pub fn file_size(&self) -> Option {` -- **File:** [`src-tauri/src/storage/schema.rs`](src-tauri/src/storage/schema.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](src-tauri/src/repository/hybrid.rs#L8) - - **Line:** 8 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1346) - - **Line:** 1346 - - **Context:** `Unknown` - ### UR-003 -**Locations:** 20 file(s) +**Locations:** 28 file(s) -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2316) - - **Line:** 2316 - - **Context:** `export type PlaybackProgress = { itemId: string;` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2420) - - **Line:** 2420 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/services/webviewAudio.ts`](src/lib/services/webviewAudio.ts#L18) - - **Line:** 18 - - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/index.ts`](src/lib/player/adapters/index.ts#L11) - - **Line:** 11 - - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/rustReportHost.ts`](src/lib/player/adapters/rustReportHost.ts#L13) - - **Line:** 13 +- **File:** [`src/lib/utils/videoSurface.ts`](src/lib/utils/videoSurface.ts#L4) + - **Line:** 4 - **Context:** `Unknown` - **File:** [`src/lib/player/adapters/types.ts`](src/lib/player/adapters/types.ts#L15) - **Line:** 15 - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/webviewAudioAdapter.ts`](src/lib/player/adapters/webviewAudioAdapter.ts#L18) - - **Line:** 18 - - **Context:** `Unknown` - **File:** [`src/lib/player/adapters/nativeAdapter.ts`](src/lib/player/adapters/nativeAdapter.ts#L24) - **Line:** 24 - **Context:** `Unknown` +- **File:** [`src/lib/player/adapters/rustReportHost.ts`](src/lib/player/adapters/rustReportHost.ts#L13) + - **Line:** 13 + - **Context:** `Unknown` +- **File:** [`src/lib/player/adapters/webviewAudioAdapter.ts`](src/lib/player/adapters/webviewAudioAdapter.ts#L18) + - **Line:** 18 + - **Context:** `Unknown` - **File:** [`src/lib/player/adapters/html5Adapter.ts`](src/lib/player/adapters/html5Adapter.ts#L19) - **Line:** 19 - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mpv_backend_test.rs`](src-tauri/src/player/mpv_backend_test.rs#L8) - - **Line:** 8 +- **File:** [`src/lib/player/adapters/index.ts`](src/lib/player/adapters/index.ts#L20) + - **Line:** 20 - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L39) - - **Line:** 39 - - **Context:** `pub fn playback_failed>(message: S) -> Self {` -- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L245) - - **Line:** 245 +- **File:** [`src/lib/player/adapters/adapterSelection.test.ts`](src/lib/player/adapters/adapterSelection.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playbackCapabilities.ts`](src/lib/services/playbackCapabilities.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/services/webviewAudio.ts`](src/lib/services/webviewAudio.ts#L18) + - **Line:** 18 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L149) + - **Line:** 149 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2312) + - **Line:** 2312 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2348) + - **Line:** 2348 + - **Context:** `export type PlaybackProgress = { itemId: string;` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2452) + - **Line:** 2452 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/nativeVideo.ts`](src/lib/stores/nativeVideo.ts#L3) + - **Line:** 3 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/webview_audio_backend.rs`](src-tauri/src/player/webview_audio_backend.rs#L25) - **Line:** 25 @@ -3672,41 +3694,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L2) - **Line:** 2 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2) - - **Line:** 2 - - **Context:** `Unknown` - -### UR-004 - -**Locations:** 28 file(s) - -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L264) - - **Line:** 264 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2316) - - **Line:** 2316 - - **Context:** `export type PlaybackProgress = { itemId: string;` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2420) - - **Line:** 2420 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/AudioPlayer.svelte`](src/lib/components/player/AudioPlayer.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/services/preload.ts`](src/lib/services/preload.ts#L5) - - **Line:** 5 - - **Context:** `Unknown` -- **File:** [`src/lib/services/playerEvents.regression.test.ts`](src/lib/services/playerEvents.regression.test.ts#L155) - - **Line:** 155 - - **Context:** `Unknown` -- **File:** [`src/lib/services/preload.test.ts`](src/lib/services/preload.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L287) - - **Line:** 287 - - **Context:** `Unknown` - **File:** [`src-tauri/src/player/mpv_backend_test.rs`](src-tauri/src/player/mpv_backend_test.rs#L8) - **Line:** 8 - **Context:** `Unknown` @@ -3716,6 +3703,59 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L245) - **Line:** 245 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L1664) + - **Line:** 1664 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L1681) + - **Line:** 1681 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2) + - **Line:** 2 + - **Context:** `Unknown` + +### UR-004 + +**Locations:** 32 file(s) + +- **File:** [`src/lib/utils/videoSurface.ts`](src/lib/utils/videoSurface.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/player/adapters/index.ts`](src/lib/player/adapters/index.ts#L20) + - **Line:** 20 + - **Context:** `Unknown` +- **File:** [`src/lib/player/adapters/adapterSelection.test.ts`](src/lib/player/adapters/adapterSelection.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/AudioPlayer.svelte`](src/lib/components/player/AudioPlayer.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/services/preload.test.ts`](src/lib/services/preload.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playerEvents.regression.test.ts`](src/lib/services/playerEvents.regression.test.ts#L155) + - **Line:** 155 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L287) + - **Line:** 287 + - **Context:** `Unknown` +- **File:** [`src/lib/services/preload.ts`](src/lib/services/preload.ts#L5) + - **Line:** 5 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L272) + - **Line:** 272 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2348) + - **Line:** 2348 + - **Context:** `export type PlaybackProgress = { itemId: string;` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2452) + - **Line:** 2452 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/nativeVideo.ts`](src/lib/stores/nativeVideo.ts#L3) + - **Line:** 3 + - **Context:** `Unknown` - **File:** [`src-tauri/src/player/webview_audio_backend.rs`](src-tauri/src/player/webview_audio_backend.rs#L25) - **Line:** 25 - **Context:** `Unknown` @@ -3740,17 +3780,14 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L1495) - **Line:** 1495 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/timers.rs`](src-tauri/src/commands/player/timers.rs#L299) - - **Line:** 299 +- **File:** [`src-tauri/src/player/mpv_backend_test.rs`](src-tauri/src/player/mpv_backend_test.rs#L8) + - **Line:** 8 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L384) - - **Line:** 384 +- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L39) + - **Line:** 39 + - **Context:** `pub fn playback_failed>(message: S) -> Self {` +- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L245) + - **Line:** 245 - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/device_profile.rs`](src-tauri/src/repository/device_profile.rs#L29) - **Line:** 29 @@ -3767,31 +3804,282 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/repository/device_profile.rs`](src-tauri/src/repository/device_profile.rs#L127) - **Line:** 127 - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L384) + - **Line:** 384 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/timers.rs`](src-tauri/src/commands/player/timers.rs#L299) + - **Line:** 299 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2) + - **Line:** 2 + - **Context:** `Unknown` + +### UR-005 + +**Locations:** 78 file(s) + +- **File:** [`src/lib/utils/layoutShell.ts`](src/lib/utils/layoutShell.ts#L17) + - **Line:** 17 + - **Context:** `Unknown` +- **File:** [`src/lib/utils/duration.test.ts`](src/lib/utils/duration.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/utils/layoutShell.test.ts`](src/lib/utils/layoutShell.test.ts#L14) + - **Line:** 14 + - **Context:** `Unknown` +- **File:** [`src/lib/player/transport.authority.test.ts`](src/lib/player/transport.authority.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/player/adapters/types.ts`](src/lib/player/adapters/types.ts#L15) + - **Line:** 15 + - **Context:** `Unknown` +- **File:** [`src/lib/player/adapters/nativeAdapter.ts`](src/lib/player/adapters/nativeAdapter.ts#L24) + - **Line:** 24 + - **Context:** `Unknown` +- **File:** [`src/lib/player/adapters/rustReportHost.ts`](src/lib/player/adapters/rustReportHost.ts#L13) + - **Line:** 13 + - **Context:** `Unknown` +- **File:** [`src/lib/player/adapters/webviewAudioAdapter.ts`](src/lib/player/adapters/webviewAudioAdapter.ts#L18) + - **Line:** 18 + - **Context:** `Unknown` +- **File:** [`src/lib/player/adapters/html5Adapter.ts`](src/lib/player/adapters/html5Adapter.ts#L19) + - **Line:** 19 + - **Context:** `Unknown` +- **File:** [`src/lib/player/index.ts`](src/lib/player/index.ts#L15) + - **Line:** 15 + - **Context:** `Unknown` +- **File:** [`src/lib/components/BottomUi.svelte`](src/lib/components/BottomUi.svelte#L23) + - **Line:** 23 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/tapGestures.ts`](src/lib/components/player/tapGestures.ts#L21) + - **Line:** 21 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/Controls.svelte`](src/lib/components/player/Controls.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/playerSurface.ts`](src/lib/components/player/playerSurface.ts#L8) + - **Line:** 8 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/playerSurface.test.ts`](src/lib/components/player/playerSurface.test.ts#L13) + - **Line:** 13 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/videoFit.ts`](src/lib/components/player/videoFit.ts#L7) + - **Line:** 7 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.touchScrub.test.ts`](src/lib/components/player/VideoPlayer.touchScrub.test.ts#L21) + - **Line:** 21 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/MiniPlayer.svelte`](src/lib/components/player/MiniPlayer.svelte#L1) + - **Line:** 1 + - **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/backgroundAudioHandoff.ts`](src/lib/components/player/backgroundAudioHandoff.ts#L69) + - **Line:** 69 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/AudioPlayer.svelte`](src/lib/components/player/AudioPlayer.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.tapSurface.test.ts`](src/lib/components/player/VideoPlayer.tapSurface.test.ts#L5) + - **Line:** 5 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playbackReporting.ts`](src/lib/services/playbackReporting.ts#L10) + - **Line:** 10 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playbackReporting.ts`](src/lib/services/playbackReporting.ts#L21) + - **Line:** 21 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playbackReporting.ts`](src/lib/services/playbackReporting.ts#L58) + - **Line:** 58 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playbackReporting.ts`](src/lib/services/playbackReporting.ts#L89) + - **Line:** 89 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playbackCapabilities.ts`](src/lib/services/playbackCapabilities.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playerEvents.test.ts`](src/lib/services/playerEvents.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/services/webviewAudio.ts`](src/lib/services/webviewAudio.ts#L18) + - **Line:** 18 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playerEvents.regression.test.ts`](src/lib/services/playerEvents.regression.test.ts#L9) + - **Line:** 9 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L8) + - **Line:** 8 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L156) + - **Line:** 156 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L186) + - **Line:** 186 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playbackReporting.test.ts`](src/lib/services/playbackReporting.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L149) + - **Line:** 149 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2312) + - **Line:** 2312 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2470) + - **Line:** 2470 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2527) + - **Line:** 2527 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2724) + - **Line:** 2724 + - **Context:** `export type RemoteSessionStatus = { position: number; duration: number...` +- **File:** [`src/lib/stores/player.ts`](src/lib/stores/player.ts#L8) + - **Line:** 8 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/player.ts`](src/lib/stores/player.ts#L31) + - **Line:** 31 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/appState.ts`](src/lib/stores/appState.ts#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L7) + - **Line:** 7 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L105) + - **Line:** 105 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L110) + - **Line:** 110 + - **Context:** `async function next() {` +- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L115) + - **Line:** 115 + - **Context:** `async function previous() {` +- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L120) + - **Line:** 120 + - **Context:** `async function skipTo(index: number) {` +- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L125) + - **Line:** 125 + - **Context:** `async function toggleShuffle() {` +- **File:** [`src/lib/stores/queue.test.ts`](src/lib/stores/queue.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/playerVisibility.test.ts`](src/lib/stores/playerVisibility.test.ts#L9) + - **Line:** 9 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/webview_audio_backend.rs`](src-tauri/src/player/webview_audio_backend.rs#L25) + - **Line:** 25 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/webview_audio_backend.rs`](src-tauri/src/player/webview_audio_backend.rs#L184) + - **Line:** 184 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/queue.rs`](src-tauri/src/player/queue.rs#L8) + - **Line:** 8 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/queue.rs`](src-tauri/src/player/queue.rs#L20) + - **Line:** 20 + - **Context:** `pub enum RepeatMode {` +- **File:** [`src-tauri/src/player/queue.rs`](src-tauri/src/player/queue.rs#L535) + - **Line:** 535 + - **Context:** `pub enum AddPosition {` +- **File:** [`src-tauri/src/player/state.rs`](src-tauri/src/player/state.rs#L7) + - **Line:** 7 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/state.rs`](src-tauri/src/player/state.rs#L25) + - **Line:** 25 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/events.rs`](src-tauri/src/player/events.rs#L6) + - **Line:** 6 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/events.rs`](src-tauri/src/player/events.rs#L23) + - **Line:** 23 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L564) + - **Line:** 564 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L573) + - **Line:** 573 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L553) + - **Line:** 553 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L561) + - **Line:** 561 + - **Context:** `pub fn is_html5_active(&self) -> bool {` +- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L605) + - **Line:** 605 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L1275) + - **Line:** 1275 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L1288) + - **Line:** 1288 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L42) + - **Line:** 42 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L46) + - **Line:** 46 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L50) + - **Line:** 50 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L54) + - **Line:** 54 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L58) + - **Line:** 58 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/conversions.rs`](src-tauri/src/commands/conversions.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/session.rs`](src-tauri/src/commands/player/session.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L1664) + - **Line:** 1664 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L1681) + - **Line:** 1681 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2) + - **Line:** 2 + - **Context:** `Unknown` ### UR-007 **Locations:** 16 file(s) -- **File:** [`src/routes/library/music/+page.svelte`](src/routes/library/music/+page.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` - **File:** [`src/routes/library/movies/+page.svelte`](src/routes/library/movies/+page.svelte#L8) - **Line:** 8 - **Context:** `Unknown` - **File:** [`src/routes/library/tv/+page.svelte`](src/routes/library/tv/+page.svelte#L8) - **Line:** 8 - **Context:** `Unknown` +- **File:** [`src/routes/library/music/+page.svelte`](src/routes/library/music/+page.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` - **File:** [`src/lib/components/library/AlphabetScrollBar.svelte`](src/lib/components/library/AlphabetScrollBar.svelte#L1) - **Line:** 1 - **Context:** `Unknown` - **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](src/lib/components/library/GenericMediaListPage.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/stores/movies.ts`](src/lib/stores/movies.ts#L3) - - **Line:** 3 +- **File:** [`src/lib/services/imageCache.ts`](src/lib/services/imageCache.ts#L2) + - **Line:** 2 - **Context:** `Unknown` -- **File:** [`src/lib/stores/music.ts`](src/lib/stores/music.ts#L3) - - **Line:** 3 +- **File:** [`src/lib/services/imageCache.test.ts`](src/lib/services/imageCache.test.ts#L4) + - **Line:** 4 - **Context:** `Unknown` - **File:** [`src/lib/stores/tv.ts`](src/lib/stores/tv.ts#L3) - **Line:** 3 @@ -3799,19 +4087,10 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/stores/library.ts`](src/lib/stores/library.ts#L2) - **Line:** 2 - **Context:** `Unknown` -- **File:** [`src/lib/services/imageCache.test.ts`](src/lib/services/imageCache.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/services/imageCache.ts`](src/lib/services/imageCache.ts#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/storage/thumbnails.rs`](src-tauri/src/commands/storage/thumbnails.rs#L3) +- **File:** [`src/lib/stores/music.ts`](src/lib/stores/music.ts#L3) - **Line:** 3 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L3) +- **File:** [`src/lib/stores/movies.ts`](src/lib/stores/movies.ts#L3) - **Line:** 3 - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1) @@ -3820,6 +4099,224 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L622) - **Line:** 622 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/storage/thumbnails.rs`](src-tauri/src/commands/storage/thumbnails.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` + +### UR-009 + +**Locations:** 15 file(s) + +- **File:** [`src/lib/utils/validation.test.ts`](src/lib/utils/validation.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/services/deviceId.ts`](src/lib/services/deviceId.ts#L8) + - **Line:** 8 + - **Context:** `Unknown` +- **File:** [`src/lib/services/deviceId.ts`](src/lib/services/deviceId.ts#L23) + - **Line:** 23 + - **Context:** `Unknown` +- **File:** [`src/lib/services/deviceId.test.ts`](src/lib/services/deviceId.test.ts#L7) + - **Line:** 7 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L581) + - **Line:** 581 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L597) + - **Line:** 597 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/auth.test.ts`](src/lib/stores/auth.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/auth.ts`](src/lib/stores/auth.ts#L6) + - **Line:** 6 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/auth.ts`](src/lib/stores/auth.ts#L266) + - **Line:** 266 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/auth.ts`](src/lib/stores/auth.ts#L293) + - **Line:** 293 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/device.rs`](src-tauri/src/commands/device.rs#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/device.rs`](src-tauri/src/commands/device.rs#L24) + - **Line:** 24 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/device.rs`](src-tauri/src/commands/device.rs#L81) + - **Line:** 81 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/jellyfin/client.rs`](src-tauri/src/jellyfin/client.rs#L1) + - **Line:** 1 + - **Context:** `Unknown` + +### UR-010 + +**Locations:** 15 file(s) + +- **File:** [`src/lib/components/sessions/SessionPickerModal.svelte`](src/lib/components/sessions/SessionPickerModal.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/components/sessions/SessionsList.svelte`](src/lib/components/sessions/SessionsList.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/components/sessions/SessionCard.svelte`](src/lib/components/sessions/SessionCard.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/components/sessions/RemoteControls.svelte`](src/lib/components/sessions/RemoteControls.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/components/sessions/CastButton.svelte`](src/lib/components/sessions/CastButton.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/sessions.test.ts`](src/lib/stores/sessions.test.ts#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/playbackMode.ts`](src/lib/stores/playbackMode.ts#L9) + - **Line:** 9 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/playbackMode.test.ts`](src/lib/stores/playbackMode.test.ts#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/sessions.ts`](src/lib/stores/sessions.ts#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/lmsSync.ts`](src/lib/stores/lmsSync.ts#L12) + - **Line:** 12 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/remote.rs`](src-tauri/src/commands/player/remote.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/playback_mode.rs`](src-tauri/src/commands/playback_mode.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sessions.rs`](src-tauri/src/commands/sessions.rs#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/session_poller/mod.rs`](src-tauri/src/session_poller/mod.rs#L6) + - **Line:** 6 + - **Context:** `Unknown` + +### UR-017 + +**Locations:** 10 file(s) + +- **File:** [`src/lib/components/player/MiniPlayer.svelte`](src/lib/components/player/MiniPlayer.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/components/FavoriteButton.svelte`](src/lib/components/FavoriteButton.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/services/syncService.ts`](src/lib/services/syncService.ts#L7) + - **Line:** 7 + - **Context:** `Unknown` +- **File:** [`src/lib/services/syncService.ts`](src/lib/services/syncService.ts#L57) + - **Line:** 57 + - **Context:** `Unknown` +- **File:** [`src/lib/services/syncService.ts`](src/lib/services/syncService.ts#L172) + - **Line:** 172 + - **Context:** `Unknown` +- **File:** [`src/lib/services/favorites.test.ts`](src/lib/services/favorites.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/services/favorites.ts`](src/lib/services/favorites.ts#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync.rs`](src-tauri/src/commands/sync.rs#L7) + - **Line:** 7 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/storage/mod.rs`](src-tauri/src/commands/storage/mod.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` + +### UR-020 + +**Locations:** 23 file(s) + +- **File:** [`src/lib/player/adapters/types.ts`](src/lib/player/adapters/types.ts#L15) + - **Line:** 15 + - **Context:** `Unknown` +- **File:** [`src/lib/player/adapters/html5Adapter.ts`](src/lib/player/adapters/html5Adapter.ts#L19) + - **Line:** 19 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/subtitleTracks.ts`](src/lib/components/player/subtitleTracks.ts#L20) + - **Line:** 20 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/subtitleTracks.ts`](src/lib/components/player/subtitleTracks.ts#L183) + - **Line:** 183 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/subtitleTracks.ts`](src/lib/components/player/subtitleTracks.ts#L218) + - **Line:** 218 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](src/lib/components/player/subtitleTracks.test.ts#L18) + - **Line:** 18 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](src/lib/components/player/subtitleTracks.test.ts#L159) + - **Line:** 159 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](src/lib/components/player/subtitleTracks.test.ts#L282) + - **Line:** 282 + - **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#L306) + - **Line:** 306 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L315) + - **Line:** 315 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L635) + - **Line:** 635 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1779) + - **Line:** 1779 + - **Context:** `function toggleSubtitleMenu() {` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1812) + - **Line:** 1812 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2262) + - **Line:** 2262 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2842) + - **Line:** 2842 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/media.rs`](src-tauri/src/player/media.rs#L42) + - **Line:** 42 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L223) + - **Line:** 223 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L399) + - **Line:** 399 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2538) + - **Line:** 2538 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2595) + - **Line:** 2595 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2627) + - **Line:** 2627 + - **Context:** `Unknown` ### UR-023 @@ -3834,30 +4331,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/settings/+page.svelte`](src/routes/settings/+page.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L241) - - **Line:** 241 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2495) - - **Line:** 2495 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/nextEpisode.ts`](src/lib/stores/nextEpisode.ts#L9) - - **Line:** 9 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/movies.ts`](src/lib/stores/movies.ts#L3) - - **Line:** 3 - - **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 +- **File:** [`src/lib/services/nextEpisodeService.ts`](src/lib/services/nextEpisodeService.ts#L11) + - **Line:** 11 - **Context:** `Unknown` - **File:** [`src/lib/services/playerEvents.test.ts`](src/lib/services/playerEvents.test.ts#L4) - **Line:** 4 - **Context:** `Unknown` -- **File:** [`src/lib/services/nextEpisodeService.ts`](src/lib/services/nextEpisodeService.ts#L11) - - **Line:** 11 - - **Context:** `Unknown` - **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L8) - **Line:** 8 - **Context:** `Unknown` @@ -3867,15 +4346,36 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L369) - **Line:** 369 - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L249) + - **Line:** 249 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2527) + - **Line:** 2527 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/tv.ts`](src/lib/stores/tv.ts#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/nextEpisode.ts`](src/lib/stores/nextEpisode.ts#L9) + - **Line:** 9 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/home.ts`](src/lib/stores/home.ts#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/movies.ts`](src/lib/stores/movies.ts#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/autoplay.rs`](src-tauri/src/player/autoplay.rs#L2) + - **Line:** 2 + - **Context:** `Unknown` - **File:** [`src-tauri/src/player/events.rs`](src-tauri/src/player/events.rs#L6) - **Line:** 6 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/events.rs`](src-tauri/src/player/events.rs#L23) - **Line:** 23 - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/autoplay.rs`](src-tauri/src/player/autoplay.rs#L2) - - **Line:** 2 - - **Context:** `Unknown` - **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L2) - **Line:** 2 - **Context:** `Unknown` @@ -3894,9 +4394,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/commands/player/timers.rs`](src-tauri/src/commands/player/timers.rs#L145) - **Line:** 145 - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L1) - - **Line:** 1 - - **Context:** `Unknown` ### UR-025 @@ -3905,29 +4402,20 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/settings/+page.svelte`](src/routes/settings/+page.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/routes/settings/+page.svelte`](src/routes/settings/+page.svelte#L681) - - **Line:** 681 +- **File:** [`src/routes/settings/+page.svelte`](src/routes/settings/+page.svelte#L742) + - **Line:** 742 - **Context:** `Unknown` - **File:** [`src/routes/+layout.svelte`](src/routes/+layout.svelte#L272) - **Line:** 272 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1152) - - **Line:** 1152 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2843) - - **Line:** 2843 - - **Context:** `export type SyncQueueItem = { id: number; userId: string; operation: s...` -- **File:** [`src/lib/components/sync/PendingSyncList.svelte`](src/lib/components/sync/PendingSyncList.svelte#L12) - - **Line:** 12 +- **File:** [`src/lib/utils/validation.test.ts`](src/lib/utils/validation.test.ts#L4) + - **Line:** 4 - **Context:** `Unknown` - **File:** [`src/lib/components/sync/PendingSyncModal.svelte`](src/lib/components/sync/PendingSyncModal.svelte#L5) - **Line:** 5 - **Context:** `Unknown` -- **File:** [`src/lib/utils/validation.test.ts`](src/lib/utils/validation.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/services/playbackReporting.test.ts`](src/lib/services/playbackReporting.test.ts#L4) - - **Line:** 4 +- **File:** [`src/lib/components/sync/PendingSyncList.svelte`](src/lib/components/sync/PendingSyncList.svelte#L12) + - **Line:** 12 - **Context:** `Unknown` - **File:** [`src/lib/services/playbackReporting.ts`](src/lib/services/playbackReporting.ts#L10) - **Line:** 10 @@ -3944,38 +4432,38 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **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` -- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L156) - - **Line:** 156 - - **Context:** `Unknown` -- **File:** [`src/lib/services/pendingSync.logic.ts`](src/lib/services/pendingSync.logic.ts#L9) - - **Line:** 9 - - **Context:** `Unknown` -- **File:** [`src/lib/services/pendingSync.logic.test.ts`](src/lib/services/pendingSync.logic.test.ts#L1) - - **Line:** 1 - - **Context:** `Unknown` - **File:** [`src/lib/services/syncService.ts`](src/lib/services/syncService.ts#L7) - **Line:** 7 - **Context:** `Unknown` - **File:** [`src/lib/services/syncService.ts`](src/lib/services/syncService.ts#L57) - **Line:** 57 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/storage/mod.rs`](src-tauri/src/commands/storage/mod.rs#L3) - - **Line:** 3 +- **File:** [`src/lib/services/pendingSync.logic.ts`](src/lib/services/pendingSync.logic.ts#L9) + - **Line:** 9 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/playback_reporting.rs`](src-tauri/src/commands/playback_reporting.rs#L3) - - **Line:** 3 +- **File:** [`src/lib/services/skipReporting.test.ts`](src/lib/services/skipReporting.test.ts#L9) + - **Line:** 9 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2) - - **Line:** 2 +- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L156) + - **Line:** 156 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync.rs`](src-tauri/src/commands/sync.rs#L7) - - **Line:** 7 +- **File:** [`src/lib/services/pendingSync.logic.test.ts`](src/lib/services/pendingSync.logic.test.ts#L1) + - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync.rs`](src-tauri/src/commands/sync.rs#L33) - - **Line:** 33 +- **File:** [`src/lib/services/playbackReporting.test.ts`](src/lib/services/playbackReporting.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1160) + - **Line:** 1160 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2875) + - **Line:** 2875 + - **Context:** `export type SyncQueueItem = { id: number; userId: string; operation: s...` +- **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#L1937) + - **Line:** 1937 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/sync_drain.rs`](src-tauri/src/commands/sync_drain.rs#L14) - **Line:** 14 @@ -4016,17 +4504,88 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/commands/sync_drain.rs`](src-tauri/src/commands/sync_drain.rs#L802) - **Line:** 802 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync.rs`](src-tauri/src/commands/sync.rs#L7) + - **Line:** 7 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync.rs`](src-tauri/src/commands/sync.rs#L33) + - **Line:** 33 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/storage/mod.rs`](src-tauri/src/commands/storage/mod.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/playback_reporting.rs`](src-tauri/src/commands/playback_reporting.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` - **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) - **Line:** 157 - **Context:** `pub fn file_size(&self) -> Option {` -- **File:** [`src-tauri/src/repository/mod.rs`](src-tauri/src/repository/mod.rs#L243) - - **Line:** 243 +- **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1348) + - **Line:** 1348 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1937) - - **Line:** 1937 + +### UR-026 + +**Locations:** 19 file(s) + +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1) + - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1346) - - **Line:** 1346 +- **File:** [`src/lib/components/player/SleepTimerModal.svelte`](src/lib/components/player/SleepTimerModal.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playerEvents.test.ts`](src/lib/services/playerEvents.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L8) + - **Line:** 8 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L264) + - **Line:** 264 + - **Context:** `function handleMediaLoaded(duration: number): void {` +- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L324) + - **Line:** 324 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L249) + - **Line:** 249 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2527) + - **Line:** 2527 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2784) + - **Line:** 2784 + - **Context:** `export type SessionInfo = { id?: string | null; userId?: string | null...` +- **File:** [`src/lib/stores/sleepTimer.ts`](src/lib/stores/sleepTimer.ts#L10) + - **Line:** 10 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/autoplay.rs`](src-tauri/src/player/autoplay.rs#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/sleep_timer.rs`](src-tauri/src/player/sleep_timer.rs#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/sleep_timer.rs`](src-tauri/src/player/sleep_timer.rs#L81) + - **Line:** 81 + - **Context:** `pub fn cancel(&mut self) {` +- **File:** [`src-tauri/src/player/events.rs`](src-tauri/src/player/events.rs#L6) + - **Line:** 6 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/events.rs`](src-tauri/src/player/events.rs#L23) + - **Line:** 23 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L328) + - **Line:** 328 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/timers.rs`](src-tauri/src/commands/player/timers.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/timers.rs`](src-tauri/src/commands/player/timers.rs#L145) + - **Line:** 145 - **Context:** `Unknown` ### UR-027 @@ -4036,38 +4595,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/settings/+page.svelte`](src/routes/settings/+page.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L181) - - **Line:** 181 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L189) + - **Line:** 189 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1931) - - **Line:** 1931 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/android/mod.rs`](src-tauri/src/player/android/mod.rs#L563) - - **Line:** 563 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/android/mod.rs`](src-tauri/src/player/android/mod.rs#L601) - - **Line:** 601 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L658) - - **Line:** 658 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L678) - - **Line:** 678 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L747) - - **Line:** 747 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L759) - - **Line:** 759 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L833) - - **Line:** 833 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/settings.rs`](src-tauri/src/commands/player/settings.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/settings.rs`](src-tauri/src/commands/player/settings.rs#L33) - - **Line:** 33 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1939) + - **Line:** 1939 - **Context:** `Unknown` - **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L1) - **Line:** 1 @@ -4102,6 +4634,44 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L337) - **Line:** 337 - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/android/mod.rs`](src-tauri/src/player/android/mod.rs#L563) + - **Line:** 563 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/android/mod.rs`](src-tauri/src/player/android/mod.rs#L601) + - **Line:** 601 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L658) + - **Line:** 658 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L678) + - **Line:** 678 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L747) + - **Line:** 747 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L759) + - **Line:** 759 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L833) + - **Line:** 833 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/settings.rs`](src-tauri/src/commands/player/settings.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/settings.rs`](src-tauri/src/commands/player/settings.rs#L33) + - **Line:** 33 + - **Context:** `Unknown` + +### UR-028 + +**Locations:** 2 file(s) + +- **File:** [`src/lib/components/player/MiniPlayer.svelte`](src/lib/components/player/MiniPlayer.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/AudioPlayer.svelte`](src/lib/components/player/AudioPlayer.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` ### UR-029 @@ -4110,43 +4680,40 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/settings/+page.svelte`](src/routes/settings/+page.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/LibraryGrid.svelte`](src/lib/components/library/LibraryGrid.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` - **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](src/lib/components/library/GenericMediaListPage.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/stores/viewMode.test.ts`](src/lib/stores/viewMode.test.ts#L7) - - **Line:** 7 +- **File:** [`src/lib/components/library/LibraryGrid.svelte`](src/lib/components/library/LibraryGrid.svelte#L1) + - **Line:** 1 - **Context:** `Unknown` - **File:** [`src/lib/stores/library.ts`](src/lib/stores/library.ts#L2) - **Line:** 2 - **Context:** `Unknown` +- **File:** [`src/lib/stores/viewMode.test.ts`](src/lib/stores/viewMode.test.ts#L7) + - **Line:** 7 + - **Context:** `Unknown` ### UR-034 **Locations:** 10 file(s) -- **File:** [`src/routes/library/music/+page.svelte`](src/routes/library/music/+page.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` - **File:** [`src/routes/library/movies/+page.svelte`](src/routes/library/movies/+page.svelte#L8) - **Line:** 8 - **Context:** `Unknown` - **File:** [`src/routes/library/tv/+page.svelte`](src/routes/library/tv/+page.svelte#L8) - **Line:** 8 - **Context:** `Unknown` -- **File:** [`src/lib/components/home/HeroBanner.svelte`](src/lib/components/home/HeroBanner.svelte#L1) +- **File:** [`src/routes/library/music/+page.svelte`](src/routes/library/music/+page.svelte#L1) - **Line:** 1 - **Context:** `Unknown` +- **File:** [`src/lib/utils/heroMix.ts`](src/lib/utils/heroMix.ts#L8) + - **Line:** 8 + - **Context:** `Unknown` - **File:** [`src/lib/components/home/Carousel.svelte`](src/lib/components/home/Carousel.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/stores/movies.ts`](src/lib/stores/movies.ts#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/music.ts`](src/lib/stores/music.ts#L3) - - **Line:** 3 +- **File:** [`src/lib/components/home/HeroBanner.svelte`](src/lib/components/home/HeroBanner.svelte#L1) + - **Line:** 1 - **Context:** `Unknown` - **File:** [`src/lib/stores/tv.ts`](src/lib/stores/tv.ts#L3) - **Line:** 3 @@ -4154,8 +4721,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/stores/home.ts`](src/lib/stores/home.ts#L2) - **Line:** 2 - **Context:** `Unknown` -- **File:** [`src/lib/utils/heroMix.ts`](src/lib/utils/heroMix.ts#L8) - - **Line:** 8 +- **File:** [`src/lib/stores/music.ts`](src/lib/stores/music.ts#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/movies.ts`](src/lib/stores/movies.ts#L3) + - **Line:** 3 - **Context:** `Unknown` ### UR-035 @@ -4165,18 +4735,18 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/library/[id]/+page.svelte`](src/routes/library/[id]/+page.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/CastSection.svelte`](src/lib/components/library/CastSection.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` - **File:** [`src/lib/components/library/CrewLinks.svelte`](src/lib/components/library/CrewLinks.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/storage/people.rs`](src-tauri/src/commands/storage/people.rs#L3) - - **Line:** 3 +- **File:** [`src/lib/components/library/CastSection.svelte`](src/lib/components/library/CastSection.svelte#L1) + - **Line:** 1 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L4) - **Line:** 4 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/storage/people.rs`](src-tauri/src/commands/storage/people.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` ### UR-038 @@ -4190,29 +4760,17 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 42 file(s) -- **File:** [`src/lib/api/repository-client.test.ts`](src/lib/api/repository-client.test.ts#L434) - - **Line:** 434 +- **File:** [`src/lib/utils/backgroundAudio.ts`](src/lib/utils/backgroundAudio.ts#L4) + - **Line:** 4 - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.test.ts`](src/lib/api/repository-client.test.ts#L451) - - **Line:** 451 +- **File:** [`src/lib/utils/backgroundAudio.test.ts`](src/lib/utils/backgroundAudio.test.ts#L7) + - **Line:** 7 - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L234) - - **Line:** 234 +- **File:** [`src/lib/player/backgroundAudio.commands.test.ts`](src/lib/player/backgroundAudio.commands.test.ts#L7) + - **Line:** 7 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L38) - - **Line:** 38 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L51) - - **Line:** 51 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L241) - - **Line:** 241 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L264) - - **Line:** 264 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1430) - - **Line:** 1430 +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1) + - **Line:** 1 - **Context:** `Unknown` - **File:** [`src/lib/components/player/backgroundAudioHandoff.test.ts`](src/lib/components/player/backgroundAudioHandoff.test.ts#L11) - **Line:** 11 @@ -4223,23 +4781,35 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/components/player/backgroundAudioHandoff.ts`](src/lib/components/player/backgroundAudioHandoff.ts#L69) - **Line:** 69 - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/backgroundAudio.test.ts`](src/lib/utils/backgroundAudio.test.ts#L7) - - **Line:** 7 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/backgroundAudio.ts`](src/lib/utils/backgroundAudio.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` - **File:** [`src/lib/services/playerEvents.regression.test.ts`](src/lib/services/playerEvents.regression.test.ts#L155) - **Line:** 155 - **Context:** `Unknown` - **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L287) - **Line:** 287 - **Context:** `Unknown` -- **File:** [`src/lib/player/backgroundAudio.commands.test.ts`](src/lib/player/backgroundAudio.commands.test.ts#L7) - - **Line:** 7 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L38) + - **Line:** 38 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L51) + - **Line:** 51 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L249) + - **Line:** 249 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L272) + - **Line:** 272 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1438) + - **Line:** 1438 + - **Context:** `Unknown` +- **File:** [`src/lib/api/repository-client.test.ts`](src/lib/api/repository-client.test.ts#L434) + - **Line:** 434 + - **Context:** `Unknown` +- **File:** [`src/lib/api/repository-client.test.ts`](src/lib/api/repository-client.test.ts#L451) + - **Line:** 451 + - **Context:** `Unknown` +- **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L234) + - **Line:** 234 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/stream_end.rs`](src-tauri/src/player/stream_end.rs#L3) - **Line:** 3 @@ -4286,6 +4856,21 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L1559) - **Line:** 1559 - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/mod.rs`](src-tauri/src/repository/mod.rs#L129) + - **Line:** 129 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](src-tauri/src/repository/hybrid.rs#L104) + - **Line:** 104 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L450) + - **Line:** 450 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2397) + - **Line:** 2397 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2438) + - **Line:** 2438 + - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/player/timers.rs`](src-tauri/src/commands/player/timers.rs#L145) - **Line:** 145 - **Context:** `Unknown` @@ -4301,20 +4886,13 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L599) - **Line:** 599 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](src-tauri/src/repository/hybrid.rs#L104) - - **Line:** 104 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/mod.rs`](src-tauri/src/repository/mod.rs#L129) - - **Line:** 129 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L450) - - **Line:** 450 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2397) - - **Line:** 2397 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2438) - - **Line:** 2438 + +### UR-041 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/utils/pictureInPicture.ts`](src/lib/utils/pictureInPicture.ts#L4) + - **Line:** 4 - **Context:** `Unknown` ### UR-048 @@ -4327,6 +4905,9 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/components/library/episodeStrip.ts`](src/lib/components/library/episodeStrip.ts#L8) - **Line:** 8 - **Context:** `Unknown` +- **File:** [`src/lib/components/library/EpisodeFocusView.test.ts`](src/lib/components/library/EpisodeFocusView.test.ts#L7) + - **Line:** 7 + - **Context:** `Unknown` - **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](src/lib/components/library/EpisodeFocusView.svelte#L7) - **Line:** 7 - **Context:** `Unknown` @@ -4336,17 +4917,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](src/lib/components/library/EpisodeFocusView.svelte#L353) - **Line:** 353 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/EpisodeFocusView.test.ts`](src/lib/components/library/EpisodeFocusView.test.ts#L7) - - **Line:** 7 - - **Context:** `Unknown` ### UR-049 **Locations:** 22 file(s) -- **File:** [`src/routes/library/+page.svelte`](src/routes/library/+page.svelte#L17) - - **Line:** 17 - - **Context:** `Unknown` - **File:** [`src/routes/search/searchPage.test.ts`](src/routes/search/searchPage.test.ts#L14) - **Line:** 14 - **Context:** `Unknown` @@ -4359,26 +4934,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/search/+page.svelte`](src/routes/search/+page.svelte#L62) - **Line:** 62 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1404) - - **Line:** 1404 +- **File:** [`src/routes/library/+page.svelte`](src/routes/library/+page.svelte#L17) + - **Line:** 17 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2727) - - **Line:** 2727 - - **Context:** `export type SearchResult = { items: MediaItem[]; totalRecordCount: num...` -- **File:** [`src/lib/components/search/SearchScopeChips.svelte`](src/lib/components/search/SearchScopeChips.svelte#L7) - - **Line:** 7 - - **Context:** `Unknown` -- **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/stores/library.ts`](src/lib/stores/library.ts#L236) - - **Line:** 236 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/librarySearchScope.test.ts`](src/lib/stores/librarySearchScope.test.ts#L4) - - **Line:** 4 +- **File:** [`src/lib/utils/layoutShell.ts`](src/lib/utils/layoutShell.ts#L104) + - **Line:** 104 - **Context:** `Unknown` - **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L9) - **Line:** 9 @@ -4395,12 +4955,27 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L125) - **Line:** 125 - **Context:** `Unknown` -- **File:** [`src/lib/utils/layoutShell.ts`](src/lib/utils/layoutShell.ts#L104) - - **Line:** 104 +- **File:** [`src/lib/components/search/HeaderSearch.test.ts`](src/lib/components/search/HeaderSearch.test.ts#L9) + - **Line:** 9 + - **Context:** `Unknown` +- **File:** [`src/lib/components/search/SearchScopeChips.svelte`](src/lib/components/search/SearchScopeChips.svelte#L7) + - **Line:** 7 + - **Context:** `Unknown` +- **File:** [`src/lib/components/search/HeaderSearch.svelte`](src/lib/components/search/HeaderSearch.svelte#L12) + - **Line:** 12 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1412) + - **Line:** 1412 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2759) + - **Line:** 2759 + - **Context:** `export type SearchResult = { items: MediaItem[]; totalRecordCount: num...` +- **File:** [`src/lib/stores/library.ts`](src/lib/stores/library.ts#L236) + - **Line:** 236 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/librarySearchScope.test.ts`](src/lib/stores/librarySearchScope.test.ts#L4) + - **Line:** 4 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L482) - - **Line:** 482 - - **Context:** `pub struct SearchUpdateEvent {` - **File:** [`src-tauri/src/repository/types.rs`](src-tauri/src/repository/types.rs#L311) - **Line:** 311 - **Context:** `Unknown` @@ -4410,6 +4985,41 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/repository/types.rs`](src-tauri/src/repository/types.rs#L374) - **Line:** 374 - **Context:** `impl SearchOptions {` +- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L482) + - **Line:** 482 + - **Context:** `pub struct SearchUpdateEvent {` + +### UR-050 + +**Locations:** 9 file(s) + +- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L9) + - **Line:** 9 + - **Context:** `Unknown` +- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L240) + - **Line:** 240 + - **Context:** `Unknown` +- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L290) + - **Line:** 290 + - **Context:** `Unknown` +- **File:** [`src/lib/components/search/SearchResults.svelte`](src/lib/components/search/SearchResults.svelte#L9) + - **Line:** 9 + - **Context:** `Unknown` +- **File:** [`src/lib/components/settings/SearchGroupOrderList.svelte`](src/lib/components/settings/SearchGroupOrderList.svelte#L8) + - **Line:** 8 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1412) + - **Line:** 1412 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/searchGroupOrder.test.ts`](src/lib/stores/searchGroupOrder.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/searchGroupOrder.ts`](src/lib/stores/searchGroupOrder.ts#L6) + - **Line:** 6 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L482) + - **Line:** 482 + - **Context:** `pub struct SearchUpdateEvent {` ### UR-052 @@ -4418,32 +5028,32 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/library/[id]/+page.svelte`](src/routes/library/[id]/+page.svelte#L90) - **Line:** 90 - **Context:** `Unknown` -- **File:** [`src/routes/library/music/+page.svelte`](src/routes/library/music/+page.svelte#L71) - - **Line:** 71 - - **Context:** `async function load() {` - **File:** [`src/routes/library/movies/+page.svelte`](src/routes/library/movies/+page.svelte#L73) - **Line:** 73 - **Context:** `async function load() {` - **File:** [`src/routes/library/tv/+page.svelte`](src/routes/library/tv/+page.svelte#L74) - **Line:** 74 - **Context:** `async function load() {` +- **File:** [`src/routes/library/music/+page.svelte`](src/routes/library/music/+page.svelte#L71) + - **Line:** 71 + - **Context:** `async function load() {` - **File:** [`src/routes/library/favorites/+page.svelte`](src/routes/library/favorites/+page.svelte#L85) - **Line:** 85 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/MediaCard.svelte`](src/lib/components/library/MediaCard.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` - **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](src/lib/components/library/GenericMediaListPage.svelte#L101) - **Line:** 101 - **Context:** `Unknown` - **File:** [`src/lib/components/library/GenericGenreBrowser.svelte`](src/lib/components/library/GenericGenreBrowser.svelte#L64) - **Line:** 64 - **Context:** `async function reloadGenreBrowse() {` -- **File:** [`src/lib/stores/connectivity.ts`](src/lib/stores/connectivity.ts#L10) - - **Line:** 10 +- **File:** [`src/lib/components/library/MediaCard.svelte`](src/lib/components/library/MediaCard.svelte#L1) + - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/stores/connectivity.ts`](src/lib/stores/connectivity.ts#L245) - - **Line:** 245 +- **File:** [`src/lib/composables/useOfflineFilterReload.test.ts`](src/lib/composables/useOfflineFilterReload.test.ts#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/composables/useOfflineFilterReload.ts`](src/lib/composables/useOfflineFilterReload.ts#L26) + - **Line:** 26 - **Context:** `Unknown` - **File:** [`src/lib/services/offlineCatalog.ts`](src/lib/services/offlineCatalog.ts#L14) - **Line:** 14 @@ -4454,20 +5064,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/services/offlineCatalog.reload.test.ts`](src/lib/services/offlineCatalog.reload.test.ts#L11) - **Line:** 11 - **Context:** `Unknown` -- **File:** [`src/lib/composables/useOfflineFilterReload.test.ts`](src/lib/composables/useOfflineFilterReload.test.ts#L1) - - **Line:** 1 +- **File:** [`src/lib/stores/connectivity.ts`](src/lib/stores/connectivity.ts#L10) + - **Line:** 10 - **Context:** `Unknown` -- **File:** [`src/lib/composables/useOfflineFilterReload.ts`](src/lib/composables/useOfflineFilterReload.ts#L26) - - **Line:** 26 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L538) - - **Line:** 538 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L854) - - **Line:** 854 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L911) - - **Line:** 911 +- **File:** [`src/lib/stores/connectivity.ts`](src/lib/stores/connectivity.ts#L245) + - **Line:** 245 - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L3) - **Line:** 3 @@ -4484,6 +5085,38 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/repository/hybrid.rs`](src-tauri/src/repository/hybrid.rs#L8) - **Line:** 8 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L538) + - **Line:** 538 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L854) + - **Line:** 854 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L911) + - **Line:** 911 + - **Context:** `Unknown` + +### UR-054 + +**Locations:** 6 file(s) + +- **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` +- **File:** [`src/lib/components/AppHeader.svelte`](src/lib/components/AppHeader.svelte#L10) + - **Line:** 10 + - **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/search/HeaderSearch.svelte`](src/lib/components/search/HeaderSearch.svelte#L12) + - **Line:** 12 + - **Context:** `Unknown` +- **File:** [`src/lib/components/account/AccountMenu.svelte`](src/lib/components/account/AccountMenu.svelte#L7) + - **Line:** 7 + - **Context:** `Unknown` ### UR-055 @@ -4492,21 +5125,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/downloads/+page.svelte`](src/routes/downloads/+page.svelte#L14) - **Line:** 14 - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L97) - - **Line:** 97 - - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L105) - - **Line:** 105 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L847) - - **Line:** 847 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1287) - - **Line:** 1287 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1295) - - **Line:** 1295 - - **Context:** `Unknown` - **File:** [`src/lib/components/library/MediaCard.svelte`](src/lib/components/library/MediaCard.svelte#L26) - **Line:** 26 - **Context:** `Unknown` @@ -4516,23 +5134,29 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/components/downloads/DownloadedBrowse.svelte`](src/lib/components/downloads/DownloadedBrowse.svelte#L10) - **Line:** 10 - **Context:** `Unknown` -- **File:** [`src/lib/stores/downloads.test.ts`](src/lib/stores/downloads.test.ts#L315) - - **Line:** 315 - - **Context:** `Unknown` - **File:** [`src/lib/services/downloadedCatalog.ts`](src/lib/services/downloadedCatalog.ts#L12) - **Line:** 12 - **Context:** `Unknown` - **File:** [`src/lib/services/downloadedCatalog.ts`](src/lib/services/downloadedCatalog.ts#L95) - **Line:** 95 - **Context:** `function sizeOf(itemId: string): number {` -- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L1938) - - **Line:** 1938 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L855) + - **Line:** 855 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L218) - - **Line:** 218 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1295) + - **Line:** 1295 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L233) - - **Line:** 233 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1303) + - **Line:** 1303 + - **Context:** `Unknown` +- **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L97) + - **Line:** 97 + - **Context:** `Unknown` +- **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L105) + - **Line:** 105 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/downloads.test.ts`](src/lib/stores/downloads.test.ts#L315) + - **Line:** 315 - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L808) - **Line:** 808 @@ -4570,6 +5194,15 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/repository/hybrid.rs`](src-tauri/src/repository/hybrid.rs#L211) - **Line:** 211 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L218) + - **Line:** 218 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L233) + - **Line:** 233 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L1938) + - **Line:** 1938 + - **Context:** `Unknown` ### UR-056 @@ -4578,17 +5211,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/downloads/+page.svelte`](src/routes/downloads/+page.svelte#L14) - **Line:** 14 - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L113) - - **Line:** 113 +- **File:** [`src/lib/utils/formatBytes.ts`](src/lib/utils/formatBytes.ts#L8) + - **Line:** 8 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1303) - - **Line:** 1303 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1856) - - **Line:** 1856 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/LibraryGrid.svelte`](src/lib/components/library/LibraryGrid.svelte#L17) - - **Line:** 17 +- **File:** [`src/lib/utils/formatBytes.test.ts`](src/lib/utils/formatBytes.test.ts#L4) + - **Line:** 4 - **Context:** `Unknown` - **File:** [`src/lib/components/library/MediaCard.svelte`](src/lib/components/library/MediaCard.svelte#L20) - **Line:** 20 @@ -4596,26 +5223,26 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/components/library/MediaCard.svelte`](src/lib/components/library/MediaCard.svelte#L31) - **Line:** 31 - **Context:** `Unknown` +- **File:** [`src/lib/components/library/LibraryGrid.svelte`](src/lib/components/library/LibraryGrid.svelte#L17) + - **Line:** 17 + - **Context:** `Unknown` - **File:** [`src/lib/components/downloads/DownloadedBrowse.svelte`](src/lib/components/downloads/DownloadedBrowse.svelte#L10) - **Line:** 10 - **Context:** `Unknown` -- **File:** [`src/lib/utils/formatBytes.ts`](src/lib/utils/formatBytes.ts#L8) - - **Line:** 8 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/formatBytes.test.ts`](src/lib/utils/formatBytes.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` - **File:** [`src/lib/services/downloadedCatalog.ts`](src/lib/services/downloadedCatalog.ts#L12) - **Line:** 12 - **Context:** `Unknown` - **File:** [`src/lib/services/downloadedCatalog.ts`](src/lib/services/downloadedCatalog.ts#L95) - **Line:** 95 - **Context:** `function sizeOf(itemId: string): number {` -- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L250) - - **Line:** 250 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1311) + - **Line:** 1311 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/types.rs`](src-tauri/src/repository/types.rs#L259) - - **Line:** 259 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1864) + - **Line:** 1864 + - **Context:** `Unknown` +- **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L113) + - **Line:** 113 - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L990) - **Line:** 990 @@ -4623,9 +5250,15 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L3748) - **Line:** 3748 - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/types.rs`](src-tauri/src/repository/types.rs#L259) + - **Line:** 259 + - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/hybrid.rs`](src-tauri/src/repository/hybrid.rs#L218) - **Line:** 218 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L250) + - **Line:** 250 + - **Context:** `Unknown` ### UR-057 @@ -4639,6 +5272,9 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, **Locations:** 11 file(s) +- **File:** [`src/routes/search/+page.svelte`](src/routes/search/+page.svelte#L97) + - **Line:** 97 + - **Context:** `Unknown` - **File:** [`src/routes/library/[id]/+page.svelte`](src/routes/library/[id]/+page.svelte#L1) - **Line:** 1 - **Context:** `Unknown` @@ -4651,17 +5287,14 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/library/[id]/+page.svelte`](src/routes/library/[id]/+page.svelte#L444) - **Line:** 444 - **Context:** `Unknown` -- **File:** [`src/routes/search/+page.svelte`](src/routes/search/+page.svelte#L97) - - **Line:** 97 - - **Context:** `Unknown` - **File:** [`src/routes/+page.svelte`](src/routes/+page.svelte#L62) - **Line:** 62 - **Context:** `Unknown` - **File:** [`src/routes/+page.svelte`](src/routes/+page.svelte#L86) - **Line:** 86 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/MediaCard.svelte`](src/lib/components/library/MediaCard.svelte#L39) - - **Line:** 39 +- **File:** [`src/lib/components/library/EpisodeFocusView.test.ts`](src/lib/components/library/EpisodeFocusView.test.ts#L7) + - **Line:** 7 - **Context:** `Unknown` - **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](src/lib/components/library/EpisodeFocusView.svelte#L7) - **Line:** 7 @@ -4669,8 +5302,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](src/lib/components/library/EpisodeFocusView.svelte#L232) - **Line:** 232 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/EpisodeFocusView.test.ts`](src/lib/components/library/EpisodeFocusView.test.ts#L7) - - **Line:** 7 +- **File:** [`src/lib/components/library/MediaCard.svelte`](src/lib/components/library/MediaCard.svelte#L39) + - **Line:** 39 - **Context:** `Unknown` ### UR-062 @@ -4689,18 +5322,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/library/[id]/+page.svelte`](src/routes/library/[id]/+page.svelte#L308) - **Line:** 308 - **Context:** `async function handlePlayAll() {` -- **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L144) - - **Line:** 144 - - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L154) - - **Line:** 154 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1342) - - **Line:** 1342 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1355) - - **Line:** 1355 - - **Context:** `Unknown` - **File:** [`src/lib/components/library/episodeStrip.ts`](src/lib/components/library/episodeStrip.ts#L8) - **Line:** 8 - **Context:** `Unknown` @@ -4713,11 +5334,26 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/components/library/SeasonSection.svelte`](src/lib/components/library/SeasonSection.svelte#L19) - **Line:** 19 - **Context:** `Unknown` +- **File:** [`src/lib/components/library/seriesNavigation.ts`](src/lib/components/library/seriesNavigation.ts#L13) + - **Line:** 13 + - **Context:** `Unknown` - **File:** [`src/lib/components/library/seriesNavigation.test.ts`](src/lib/components/library/seriesNavigation.test.ts#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/seriesNavigation.ts`](src/lib/components/library/seriesNavigation.ts#L13) - - **Line:** 13 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1350) + - **Line:** 1350 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1363) + - **Line:** 1363 + - **Context:** `Unknown` +- **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L144) + - **Line:** 144 + - **Context:** `Unknown` +- **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L154) + - **Line:** 154 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/series_progress.rs`](src-tauri/src/repository/series_progress.rs#L12) + - **Line:** 12 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L344) - **Line:** 344 @@ -4725,17 +5361,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L365) - **Line:** 365 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/series_progress.rs`](src-tauri/src/repository/series_progress.rs#L12) - - **Line:** 12 - - **Context:** `Unknown` ### UR-063 **Locations:** 10 file(s) -- **File:** [`src/routes/library/shows/genres/+page.ts`](src/routes/library/shows/genres/+page.ts#L6) - - **Line:** 6 - - **Context:** `Unknown` - **File:** [`src/routes/library/movies/genres/+page.ts`](src/routes/library/movies/genres/+page.ts#L6) - **Line:** 6 - **Context:** `Unknown` @@ -4745,14 +5375,17 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/library/movies/+page.svelte`](src/routes/library/movies/+page.svelte#L8) - **Line:** 8 - **Context:** `Unknown` -- **File:** [`src/routes/library/tv/shows/+page.ts`](src/routes/library/tv/shows/+page.ts#L6) - - **Line:** 6 - - **Context:** `Unknown` - **File:** [`src/routes/library/tv/+page.svelte`](src/routes/library/tv/+page.svelte#L8) - **Line:** 8 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/LibraryViewTabs.svelte`](src/lib/components/library/LibraryViewTabs.svelte#L8) - - **Line:** 8 +- **File:** [`src/routes/library/tv/shows/+page.ts`](src/routes/library/tv/shows/+page.ts#L6) + - **Line:** 6 + - **Context:** `Unknown` +- **File:** [`src/routes/library/shows/genres/+page.ts`](src/routes/library/shows/genres/+page.ts#L6) + - **Line:** 6 + - **Context:** `Unknown` +- **File:** [`src/lib/utils/libraryView.ts`](src/lib/utils/libraryView.ts#L9) + - **Line:** 9 - **Context:** `Unknown` - **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](src/lib/components/library/GenericMediaListPage.svelte#L48) - **Line:** 48 @@ -4760,64 +5393,58 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/components/library/GenericGenreBrowser.svelte`](src/lib/components/library/GenericGenreBrowser.svelte#L42) - **Line:** 42 - **Context:** `Unknown` -- **File:** [`src/lib/utils/libraryView.ts`](src/lib/utils/libraryView.ts#L9) - - **Line:** 9 +- **File:** [`src/lib/components/library/LibraryViewTabs.svelte`](src/lib/components/library/LibraryViewTabs.svelte#L8) + - **Line:** 8 - **Context:** `Unknown` -### UR-064 +### UR-066 -**Locations:** 7 file(s) +**Locations:** 6 file(s) -- **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L165) - - **Line:** 165 +- **File:** [`src/routes/+layout.svelte`](src/routes/+layout.svelte#L254) + - **Line:** 254 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1369) - - **Line:** 1369 +- **File:** [`src/lib/utils/layoutShell.ts`](src/lib/utils/layoutShell.ts#L129) + - **Line:** 129 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/ClearHistoryButton.svelte`](src/lib/components/library/ClearHistoryButton.svelte#L9) - - **Line:** 9 +- **File:** [`src/lib/utils/layoutShell.test.ts`](src/lib/utils/layoutShell.test.ts#L158) + - **Line:** 158 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/SeasonSection.svelte`](src/lib/components/library/SeasonSection.svelte#L1) - - **Line:** 1 +- **File:** [`src/lib/utils/safeArea.ts`](src/lib/utils/safeArea.ts#L4) + - **Line:** 4 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L387) - - **Line:** 387 +- **File:** [`src/lib/utils/safeArea.test.ts`](src/lib/utils/safeArea.test.ts#L17) + - **Line:** 17 - **Context:** `Unknown` -- **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#L1896) - - **Line:** 1896 +- **File:** [`src/lib/components/BottomUi.svelte`](src/lib/components/BottomUi.svelte#L23) + - **Line:** 23 - **Context:** `Unknown` ### UR-067 **Locations:** 39 file(s) +- **File:** [`src/routes/library/+page.svelte`](src/routes/library/+page.svelte#L207) + - **Line:** 207 + - **Context:** `Unknown` - **File:** [`src/routes/library/favorites/+page.svelte`](src/routes/library/favorites/+page.svelte#L9) - **Line:** 9 - **Context:** `Unknown` - **File:** [`src/routes/library/favorites/+page.svelte`](src/routes/library/favorites/+page.svelte#L41) - **Line:** 41 - **Context:** `Unknown` -- **File:** [`src/routes/library/+page.svelte`](src/routes/library/+page.svelte#L207) - - **Line:** 207 - - **Context:** `Unknown` - **File:** [`src/routes/+page.svelte`](src/routes/+page.svelte#L137) - **Line:** 137 - **Context:** `Unknown` - **File:** [`src/routes/+page.svelte`](src/routes/+page.svelte#L228) - **Line:** 228 - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L322) - - **Line:** 322 +- **File:** [`src/lib/utils/favoritesView.test.ts`](src/lib/utils/favoritesView.test.ts#L1) + - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1498) - - **Line:** 1498 +- **File:** [`src/lib/utils/favoritesView.ts`](src/lib/utils/favoritesView.ts#L8) + - **Line:** 8 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1956) - - **Line:** 1956 - - **Context:** `export type GetItemsOptions = { startIndex?: number | null; limit?: nu...` - **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](src/lib/components/library/GenericMediaListPage.svelte#L1) - **Line:** 1 - **Context:** `Unknown` @@ -4830,12 +5457,21 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](src/lib/components/library/GenericMediaListPage.svelte#L288) - **Line:** 288 - **Context:** `Unknown` -- **File:** [`src/lib/stores/favorites.ts`](src/lib/stores/favorites.ts#L79) - - **Line:** 79 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1506) + - **Line:** 1506 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1964) + - **Line:** 1964 + - **Context:** `export type GetItemsOptions = { startIndex?: number | null; limit?: nu...` +- **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L322) + - **Line:** 322 - **Context:** `Unknown` - **File:** [`src/lib/stores/favorites.test.ts`](src/lib/stores/favorites.test.ts#L1) - **Line:** 1 - **Context:** `Unknown` +- **File:** [`src/lib/stores/favorites.ts`](src/lib/stores/favorites.ts#L79) + - **Line:** 79 + - **Context:** `Unknown` - **File:** [`src/lib/stores/home.ts`](src/lib/stores/home.ts#L2) - **Line:** 2 - **Context:** `Unknown` @@ -4845,21 +5481,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/stores/home.ts`](src/lib/stores/home.ts#L57) - **Line:** 57 - **Context:** `Unknown` -- **File:** [`src/lib/utils/favoritesView.ts`](src/lib/utils/favoritesView.ts#L8) - - **Line:** 8 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/favoritesView.test.ts`](src/lib/utils/favoritesView.test.ts#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L840) - - **Line:** 840 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L877) - - **Line:** 877 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/types.rs`](src-tauri/src/repository/types.rs#L298) - - **Line:** 298 - - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L1222) - **Line:** 1222 - **Context:** `Unknown` @@ -4875,6 +5496,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L4253) - **Line:** 4253 - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/types.rs`](src-tauri/src/repository/types.rs#L298) + - **Line:** 298 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/mod.rs`](src-tauri/src/repository/mod.rs#L223) + - **Line:** 223 + - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/hybrid.rs`](src-tauri/src/repository/hybrid.rs#L141) - **Line:** 141 - **Context:** `Unknown` @@ -4884,9 +5511,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/repository/hybrid.rs`](src-tauri/src/repository/hybrid.rs#L855) - **Line:** 855 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/mod.rs`](src-tauri/src/repository/mod.rs#L223) - - **Line:** 223 - - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L622) - **Line:** 622 - **Context:** `Unknown` @@ -4911,6 +5535,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2677) - **Line:** 2677 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L840) + - **Line:** 840 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L877) + - **Line:** 877 + - **Context:** `Unknown` ### UR-068 @@ -4919,6 +5549,9 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/library/[id]/+page.svelte`](src/routes/library/[id]/+page.svelte#L567) - **Line:** 567 - **Context:** `Unknown` +- **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](src/lib/components/library/EpisodeFocusView.svelte#L232) + - **Line:** 232 + - **Context:** `Unknown` - **File:** [`src/lib/components/library/ArtistDetailView.svelte`](src/lib/components/library/ArtistDetailView.svelte#L133) - **Line:** 133 - **Context:** `Unknown` @@ -4937,370 +5570,23 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/lib/components/library/PlaylistDetailView.svelte`](src/lib/components/library/PlaylistDetailView.svelte#L219) - **Line:** 219 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](src/lib/components/library/EpisodeFocusView.svelte#L232) - - **Line:** 232 - - **Context:** `Unknown` - **File:** [`src/lib/components/FavoriteButton.svelte`](src/lib/components/FavoriteButton.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/stores/favorites.ts`](src/lib/stores/favorites.ts#L8) - - **Line:** 8 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/favorites.ts`](src/lib/stores/favorites.ts#L55) - - **Line:** 55 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/favorites.test.ts`](src/lib/stores/favorites.test.ts#L1) - - **Line:** 1 - - **Context:** `Unknown` - **File:** [`src/lib/services/favorites.ts`](src/lib/services/favorites.ts#L2) - **Line:** 2 - **Context:** `Unknown` - **File:** [`src/lib/services/favorites.ts`](src/lib/services/favorites.ts#L38) - **Line:** 38 - **Context:** `Unknown` - -### IT-003 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/player/mpv_backend_test.rs`](src-tauri/src/player/mpv_backend_test.rs#L8) - - **Line:** 8 - - **Context:** `Unknown` - -### IT-004 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/player/mpv_backend_test.rs`](src-tauri/src/player/mpv_backend_test.rs#L8) - - **Line:** 8 - - **Context:** `Unknown` - -### IT-016 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L2956) - - **Line:** 2956 - - **Context:** `Unknown` - -### IT-017 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L854) - - **Line:** 854 - - **Context:** `Unknown` - -### UT-003 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/player/queue.rs`](src-tauri/src/player/queue.rs#L535) - - **Line:** 535 - - **Context:** `pub enum AddPosition {` - -### UT-004 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/player/queue.rs`](src-tauri/src/player/queue.rs#L535) - - **Line:** 535 - - **Context:** `pub enum AddPosition {` - -### UT-005 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/player/queue.rs`](src-tauri/src/player/queue.rs#L535) - - **Line:** 535 - - **Context:** `pub enum AddPosition {` - -### UT-012 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/player/sleep_timer.rs`](src-tauri/src/player/sleep_timer.rs#L81) - - **Line:** 81 - - **Context:** `pub fn cancel(&mut self) {` - -### UT-026 - -**Locations:** 2 file(s) - -- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L245) - - **Line:** 245 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L251) - - **Line:** 251 - - **Context:** `Unknown` - -### UT-027 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L245) - - **Line:** 245 - - **Context:** `Unknown` - -### UT-028 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L245) - - **Line:** 245 - - **Context:** `Unknown` - -### UT-029 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L245) - - **Line:** 245 - - **Context:** `Unknown` - -### UT-030 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L245) - - **Line:** 245 - - **Context:** `Unknown` - -### UT-031 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L245) - - **Line:** 245 - - **Context:** `Unknown` - -### UT-032 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L245) - - **Line:** 245 - - **Context:** `Unknown` - -### UT-033 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L245) - - **Line:** 245 - - **Context:** `Unknown` - -### UT-042 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L2040) - - **Line:** 2040 - - **Context:** `Unknown` - -### UT-043 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L2040) - - **Line:** 2040 - - **Context:** `Unknown` - -### UT-062 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/utils/backgroundAudio.test.ts`](src/lib/utils/backgroundAudio.test.ts#L7) - - **Line:** 7 - - **Context:** `Unknown` - -### UT-066 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/services/networkType.test.ts`](src/lib/services/networkType.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` - -### UT-083 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L747) - - **Line:** 747 - - **Context:** `Unknown` - -### UT-084 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L759) - - **Line:** 759 - - **Context:** `Unknown` - -### UT-091 - -**Locations:** 2 file(s) - -- **File:** [`src/lib/player/transport.authority.test.ts`](src/lib/player/transport.authority.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/player/index.ts`](src/lib/player/index.ts#L15) - - **Line:** 15 - - **Context:** `Unknown` - -### UT-094 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/utils/safeArea.test.ts`](src/lib/utils/safeArea.test.ts#L17) - - **Line:** 17 - - **Context:** `Unknown` - -### UT-095 - -**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` - -### UT-106 - -**Locations:** 3 file(s) - -- **File:** [`src/routes/library/favorites/+page.svelte`](src/routes/library/favorites/+page.svelte#L41) - - **Line:** 41 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/favorites.ts`](src/lib/stores/favorites.ts#L79) - - **Line:** 79 - - **Context:** `Unknown` - **File:** [`src/lib/stores/favorites.test.ts`](src/lib/stores/favorites.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 +- **File:** [`src/lib/stores/favorites.ts`](src/lib/stores/favorites.ts#L8) + - **Line:** 8 - **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) - -- **File:** [`src-tauri/src/commands/player/settings.rs`](src-tauri/src/commands/player/settings.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L1) - - **Line:** 1 - - **Context:** `Unknown` - -### UR-042 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/commands/auth.rs`](src-tauri/src/commands/auth.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` - -### UR-044 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/commands/download/pinning.rs`](src-tauri/src/commands/download/pinning.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` - -### UR-046 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/commands/player/remote.rs`](src-tauri/src/commands/player/remote.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` - -### UR-047 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/commands/storage/mod.rs`](src-tauri/src/commands/storage/mod.rs#L3) - - **Line:** 3 - - **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-066 - -**Locations:** 6 file(s) - -- **File:** [`src/routes/+layout.svelte`](src/routes/+layout.svelte#L254) - - **Line:** 254 - - **Context:** `Unknown` -- **File:** [`src/lib/components/BottomUi.svelte`](src/lib/components/BottomUi.svelte#L23) - - **Line:** 23 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/safeArea.ts`](src/lib/utils/safeArea.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/safeArea.test.ts`](src/lib/utils/safeArea.test.ts#L17) - - **Line:** 17 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/layoutShell.ts`](src/lib/utils/layoutShell.ts#L129) - - **Line:** 129 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/layoutShell.test.ts`](src/lib/utils/layoutShell.test.ts#L158) - - **Line:** 158 +- **File:** [`src/lib/stores/favorites.ts`](src/lib/stores/favorites.ts#L55) + - **Line:** 55 - **Context:** `Unknown` ### UR-069 @@ -5313,6 +5599,30 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/+layout.svelte`](src/routes/+layout.svelte#L130) - **Line:** 130 - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L678) + - **Line:** 678 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L4301) + - **Line:** 4301 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](src-tauri/src/repository/hybrid.rs#L46) + - **Line:** 46 + - **Context:** `pub fn new(online: OnlineRepository, offline: OfflineRepository) -> Se...` +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L50) + - **Line:** 50 + - **Context:** `impl OnlineRepository {` +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L590) + - **Line:** 590 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L806) + - **Line:** 806 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2714) + - **Line:** 2714 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2745) + - **Line:** 2745 + - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/favorites.rs`](src-tauri/src/commands/favorites.rs#L12) - **Line:** 12 - **Context:** `Unknown` @@ -5349,32 +5659,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L1019) - **Line:** 1019 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L678) - - **Line:** 678 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L4301) - - **Line:** 4301 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](src-tauri/src/repository/hybrid.rs#L46) - - **Line:** 46 - - **Context:** `pub fn new(online: OnlineRepository, offline: OfflineRepository) -> Se...` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L50) - - **Line:** 50 - - **Context:** `impl OnlineRepository {` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L590) - - **Line:** 590 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L806) - - **Line:** 806 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2714) - - **Line:** 2714 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2745) - - **Line:** 2745 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1339) - - **Line:** 1339 +- **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1341) + - **Line:** 1341 - **Context:** `Unknown` ### UR-071 @@ -5393,21 +5679,21 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src/routes/player/[id]/+page.svelte`](src/routes/player/[id]/+page.svelte#L319) - **Line:** 319 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L300) - - **Line:** 300 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L887) - - **Line:** 887 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1791) - - **Line:** 1791 - - **Context:** `Unknown` - **File:** [`src/lib/player/localSource.ts`](src/lib/player/localSource.ts#L12) - **Line:** 12 - **Context:** `Unknown` - **File:** [`src/lib/player/localSource.ts`](src/lib/player/localSource.ts#L55) - **Line:** 55 - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L308) + - **Line:** 308 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L895) + - **Line:** 895 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1799) + - **Line:** 1799 + - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L416) - **Line:** 416 - **Context:** `Unknown` @@ -5420,17 +5706,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L682) - **Line:** 682 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2624) - - **Line:** 2624 +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2661) + - **Line:** 2661 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2665) - - **Line:** 2665 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L276) - - **Line:** 276 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/storage/mod.rs`](src-tauri/src/commands/storage/mod.rs#L93) - - **Line:** 93 +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2702) + - **Line:** 2702 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L114) - **Line:** 114 @@ -5456,8 +5736,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L1000) - **Line:** 1000 - **Context:** `Unknown` -- **File:** [`src-tauri/src/storage/schema.rs`](src-tauri/src/storage/schema.rs#L813) - - **Line:** 813 +- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L276) + - **Line:** 276 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/storage/mod.rs`](src-tauri/src/commands/storage/mod.rs#L93) + - **Line:** 93 - **Context:** `Unknown` - **File:** [`src-tauri/src/download/cache.rs`](src-tauri/src/download/cache.rs#L33) - **Line:** 33 @@ -5474,11 +5757,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/download/cache.rs`](src-tauri/src/download/cache.rs#L544) - **Line:** 544 - **Context:** `Unknown` -- **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1018) - - **Line:** 1018 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1249) - - **Line:** 1249 +- **File:** [`src-tauri/src/storage/schema.rs`](src-tauri/src/storage/schema.rs#L813) + - **Line:** 813 - **Context:** `Unknown` - **File:** [`src-tauri/src/media_server.rs`](src-tauri/src/media_server.rs#L27) - **Line:** 27 @@ -5516,691 +5796,44 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/media_server.rs`](src-tauri/src/media_server.rs#L567) - **Line:** 567 - **Context:** `Unknown` - -### IT-013 - -**Locations:** 4 file(s) - -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L38) - - **Line:** 38 +- **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1020) + - **Line:** 1020 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L51) - - **Line:** 51 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L664) - - **Line:** 664 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L767) - - **Line:** 767 +- **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1251) + - **Line:** 1251 - **Context:** `Unknown` -### UT-061 - -**Locations:** 9 file(s) - -- **File:** [`src/lib/api/repository-client.test.ts`](src/lib/api/repository-client.test.ts#L434) - - **Line:** 434 - - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.test.ts`](src/lib/api/repository-client.test.ts#L451) - - **Line:** 451 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L38) - - **Line:** 38 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L51) - - **Line:** 51 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1430) - - **Line:** 1430 - - **Context:** `Unknown` -- **File:** [`src/lib/player/backgroundAudio.commands.test.ts`](src/lib/player/backgroundAudio.commands.test.ts#L7) - - **Line:** 7 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L664) - - **Line:** 664 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L767) - - **Line:** 767 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L599) - - **Line:** 599 - - **Context:** `Unknown` - -### UR-026 - -**Locations:** 19 file(s) - -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L241) - - **Line:** 241 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2495) - - **Line:** 2495 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2752) - - **Line:** 2752 - - **Context:** `export type SessionInfo = { id?: string | null; userId?: string | null...` -- **File:** [`src/lib/components/player/SleepTimerModal.svelte`](src/lib/components/player/SleepTimerModal.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/sleepTimer.ts`](src/lib/stores/sleepTimer.ts#L10) - - **Line:** 10 - - **Context:** `Unknown` -- **File:** [`src/lib/services/playerEvents.test.ts`](src/lib/services/playerEvents.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L8) - - **Line:** 8 - - **Context:** `Unknown` -- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L264) - - **Line:** 264 - - **Context:** `function handleMediaLoaded(duration: number): void {` -- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L324) - - **Line:** 324 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/sleep_timer.rs`](src-tauri/src/player/sleep_timer.rs#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/sleep_timer.rs`](src-tauri/src/player/sleep_timer.rs#L81) - - **Line:** 81 - - **Context:** `pub fn cancel(&mut self) {` -- **File:** [`src-tauri/src/player/events.rs`](src-tauri/src/player/events.rs#L6) - - **Line:** 6 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/events.rs`](src-tauri/src/player/events.rs#L23) - - **Line:** 23 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/autoplay.rs`](src-tauri/src/player/autoplay.rs#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L328) - - **Line:** 328 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/timers.rs`](src-tauri/src/commands/player/timers.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/timers.rs`](src-tauri/src/commands/player/timers.rs#L145) - - **Line:** 145 - - **Context:** `Unknown` - -### UT-098 +### IT-003 **Locations:** 1 file(s) -- **File:** [`src/lib/utils/layoutShell.test.ts`](src/lib/utils/layoutShell.test.ts#L158) - - **Line:** 158 - - **Context:** `Unknown` - -### UT-116 - -**Locations:** 4 file(s) - -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L300) - - **Line:** 300 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L444) - - **Line:** 444 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L496) - - **Line:** 496 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2665) - - **Line:** 2665 - - **Context:** `Unknown` - -### UT-117 - -**Locations:** 7 file(s) - -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L264) - - **Line:** 264 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/stream_end.rs`](src-tauri/src/player/stream_end.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L1377) - - **Line:** 1377 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L1407) - - **Line:** 1407 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L1464) - - **Line:** 1464 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L1495) - - **Line:** 1495 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/timers.rs`](src-tauri/src/commands/player/timers.rs#L299) - - **Line:** 299 - - **Context:** `Unknown` - -### UR-005 - -**Locations:** 73 file(s) - -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2438) - - **Line:** 2438 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2495) - - **Line:** 2495 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2692) - - **Line:** 2692 - - **Context:** `export type RemoteSessionStatus = { position: number; duration: number...` -- **File:** [`src/lib/components/player/Controls.svelte`](src/lib/components/player/Controls.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/MiniPlayer.svelte`](src/lib/components/player/MiniPlayer.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/videoFit.ts`](src/lib/components/player/videoFit.ts#L7) - - **Line:** 7 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/tapGestures.ts`](src/lib/components/player/tapGestures.ts#L21) - - **Line:** 21 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.tapSurface.test.ts`](src/lib/components/player/VideoPlayer.tapSurface.test.ts#L5) - - **Line:** 5 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.touchScrub.test.ts`](src/lib/components/player/VideoPlayer.touchScrub.test.ts#L21) - - **Line:** 21 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/playerSurface.test.ts`](src/lib/components/player/playerSurface.test.ts#L13) - - **Line:** 13 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/playerSurface.ts`](src/lib/components/player/playerSurface.ts#L8) +- **File:** [`src-tauri/src/player/mpv_backend_test.rs`](src-tauri/src/player/mpv_backend_test.rs#L8) - **Line:** 8 - **Context:** `Unknown` -- **File:** [`src/lib/components/player/AudioPlayer.svelte`](src/lib/components/player/AudioPlayer.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/backgroundAudioHandoff.ts`](src/lib/components/player/backgroundAudioHandoff.ts#L69) - - **Line:** 69 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/components/BottomUi.svelte`](src/lib/components/BottomUi.svelte#L23) - - **Line:** 23 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/queue.test.ts`](src/lib/stores/queue.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L7) - - **Line:** 7 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L105) - - **Line:** 105 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L110) - - **Line:** 110 - - **Context:** `async function next() {` -- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L115) - - **Line:** 115 - - **Context:** `async function previous() {` -- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L120) - - **Line:** 120 - - **Context:** `async function skipTo(index: number) {` -- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L125) - - **Line:** 125 - - **Context:** `async function toggleShuffle() {` -- **File:** [`src/lib/stores/appState.ts`](src/lib/stores/appState.ts#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/player.ts`](src/lib/stores/player.ts#L8) + +### IT-004 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/player/mpv_backend_test.rs`](src-tauri/src/player/mpv_backend_test.rs#L8) - **Line:** 8 - **Context:** `Unknown` -- **File:** [`src/lib/stores/player.ts`](src/lib/stores/player.ts#L31) - - **Line:** 31 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/playerVisibility.test.ts`](src/lib/stores/playerVisibility.test.ts#L9) - - **Line:** 9 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/duration.test.ts`](src/lib/utils/duration.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/layoutShell.ts`](src/lib/utils/layoutShell.ts#L17) - - **Line:** 17 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/layoutShell.test.ts`](src/lib/utils/layoutShell.test.ts#L14) - - **Line:** 14 - - **Context:** `Unknown` -- **File:** [`src/lib/services/playerEvents.test.ts`](src/lib/services/playerEvents.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/services/playbackReporting.test.ts`](src/lib/services/playbackReporting.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/services/playbackReporting.ts`](src/lib/services/playbackReporting.ts#L10) - - **Line:** 10 - - **Context:** `Unknown` -- **File:** [`src/lib/services/playbackReporting.ts`](src/lib/services/playbackReporting.ts#L21) - - **Line:** 21 - - **Context:** `Unknown` -- **File:** [`src/lib/services/playbackReporting.ts`](src/lib/services/playbackReporting.ts#L58) - - **Line:** 58 - - **Context:** `Unknown` -- **File:** [`src/lib/services/playbackReporting.ts`](src/lib/services/playbackReporting.ts#L89) - - **Line:** 89 - - **Context:** `Unknown` -- **File:** [`src/lib/services/playerEvents.regression.test.ts`](src/lib/services/playerEvents.regression.test.ts#L9) - - **Line:** 9 - - **Context:** `Unknown` -- **File:** [`src/lib/services/webviewAudio.ts`](src/lib/services/webviewAudio.ts#L18) - - **Line:** 18 - - **Context:** `Unknown` -- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L8) - - **Line:** 8 - - **Context:** `Unknown` -- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L156) - - **Line:** 156 - - **Context:** `Unknown` -- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L186) - - **Line:** 186 - - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/rustReportHost.ts`](src/lib/player/adapters/rustReportHost.ts#L13) - - **Line:** 13 - - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/types.ts`](src/lib/player/adapters/types.ts#L15) - - **Line:** 15 - - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/webviewAudioAdapter.ts`](src/lib/player/adapters/webviewAudioAdapter.ts#L18) - - **Line:** 18 - - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/nativeAdapter.ts`](src/lib/player/adapters/nativeAdapter.ts#L24) - - **Line:** 24 - - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/html5Adapter.ts`](src/lib/player/adapters/html5Adapter.ts#L19) - - **Line:** 19 - - **Context:** `Unknown` -- **File:** [`src/lib/player/transport.authority.test.ts`](src/lib/player/transport.authority.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/player/index.ts`](src/lib/player/index.ts#L15) - - **Line:** 15 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/queue.rs`](src-tauri/src/player/queue.rs#L8) - - **Line:** 8 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/queue.rs`](src-tauri/src/player/queue.rs#L20) - - **Line:** 20 - - **Context:** `pub enum RepeatMode {` + +### UT-003 + +**Locations:** 1 file(s) + - **File:** [`src-tauri/src/player/queue.rs`](src-tauri/src/player/queue.rs#L535) - **Line:** 535 - **Context:** `pub enum AddPosition {` -- **File:** [`src-tauri/src/player/state.rs`](src-tauri/src/player/state.rs#L7) - - **Line:** 7 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/state.rs`](src-tauri/src/player/state.rs#L25) - - **Line:** 25 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L42) - - **Line:** 42 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L46) - - **Line:** 46 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L50) - - **Line:** 50 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L54) - - **Line:** 54 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L58) - - **Line:** 58 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/events.rs`](src-tauri/src/player/events.rs#L6) - - **Line:** 6 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/events.rs`](src-tauri/src/player/events.rs#L23) - - **Line:** 23 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/webview_audio_backend.rs`](src-tauri/src/player/webview_audio_backend.rs#L25) - - **Line:** 25 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/webview_audio_backend.rs`](src-tauri/src/player/webview_audio_backend.rs#L184) - - **Line:** 184 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L564) - - **Line:** 564 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L573) - - **Line:** 573 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L553) - - **Line:** 553 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L561) - - **Line:** 561 - - **Context:** `pub fn is_html5_active(&self) -> bool {` -- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L605) - - **Line:** 605 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L1275) - - **Line:** 1275 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L1288) - - **Line:** 1288 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/session.rs`](src-tauri/src/commands/player/session.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/conversions.rs`](src-tauri/src/commands/conversions.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2) - - **Line:** 2 - - **Context:** `Unknown` -### UR-009 +### UT-005 -**Locations:** 15 file(s) +**Locations:** 1 file(s) -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L573) - - **Line:** 573 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L589) - - **Line:** 589 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/auth.test.ts`](src/lib/stores/auth.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/auth.ts`](src/lib/stores/auth.ts#L6) - - **Line:** 6 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/auth.ts`](src/lib/stores/auth.ts#L266) - - **Line:** 266 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/auth.ts`](src/lib/stores/auth.ts#L293) - - **Line:** 293 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/validation.test.ts`](src/lib/utils/validation.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/services/deviceId.test.ts`](src/lib/services/deviceId.test.ts#L7) - - **Line:** 7 - - **Context:** `Unknown` -- **File:** [`src/lib/services/deviceId.ts`](src/lib/services/deviceId.ts#L8) - - **Line:** 8 - - **Context:** `Unknown` -- **File:** [`src/lib/services/deviceId.ts`](src/lib/services/deviceId.ts#L23) - - **Line:** 23 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/device.rs`](src-tauri/src/commands/device.rs#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/device.rs`](src-tauri/src/commands/device.rs#L24) - - **Line:** 24 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/device.rs`](src-tauri/src/commands/device.rs#L81) - - **Line:** 81 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/jellyfin/client.rs`](src-tauri/src/jellyfin/client.rs#L1) - - **Line:** 1 - - **Context:** `Unknown` - -### UR-011 - -**Locations:** 11 file(s) - -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2420) - - **Line:** 2420 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/downloads.ts`](src/lib/stores/downloads.ts#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/downloads.test.ts`](src/lib/stores/downloads.test.ts#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src/lib/services/preload.ts`](src/lib/services/preload.ts#L5) - - **Line:** 5 - - **Context:** `Unknown` -- **File:** [`src/lib/services/preload.test.ts`](src/lib/services/preload.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/media.rs`](src-tauri/src/player/media.rs#L142) - - **Line:** 142 - - **Context:** `pub enum MediaType {` -- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L2040) - - **Line:** 2040 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/storage/mod.rs`](src-tauri/src/commands/storage/mod.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/offline.rs`](src-tauri/src/commands/offline.rs#L136) - - **Line:** 136 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L854) - - **Line:** 854 - - **Context:** `Unknown` - -### UR-017 - -**Locations:** 10 file(s) - -- **File:** [`src/lib/components/player/MiniPlayer.svelte`](src/lib/components/player/MiniPlayer.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/components/FavoriteButton.svelte`](src/lib/components/FavoriteButton.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/services/favorites.test.ts`](src/lib/services/favorites.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/services/favorites.ts`](src/lib/services/favorites.ts#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src/lib/services/syncService.ts`](src/lib/services/syncService.ts#L7) - - **Line:** 7 - - **Context:** `Unknown` -- **File:** [`src/lib/services/syncService.ts`](src/lib/services/syncService.ts#L57) - - **Line:** 57 - - **Context:** `Unknown` -- **File:** [`src/lib/services/syncService.ts`](src/lib/services/syncService.ts#L172) - - **Line:** 172 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/storage/mod.rs`](src-tauri/src/commands/storage/mod.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync.rs`](src-tauri/src/commands/sync.rs#L7) - - **Line:** 7 - - **Context:** `Unknown` - -### UR-020 - -**Locations:** 23 file(s) - -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2254) - - **Line:** 2254 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2810) - - **Line:** 2810 - - **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#L293) - - **Line:** 293 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L302) - - **Line:** 302 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L622) - - **Line:** 622 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1739) - - **Line:** 1739 - - **Context:** `function toggleSubtitleMenu() {` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1772) - - **Line:** 1772 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](src/lib/components/player/subtitleTracks.test.ts#L18) - - **Line:** 18 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](src/lib/components/player/subtitleTracks.test.ts#L159) - - **Line:** 159 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](src/lib/components/player/subtitleTracks.test.ts#L282) - - **Line:** 282 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/subtitleTracks.ts`](src/lib/components/player/subtitleTracks.ts#L20) - - **Line:** 20 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/subtitleTracks.ts`](src/lib/components/player/subtitleTracks.ts#L183) - - **Line:** 183 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/subtitleTracks.ts`](src/lib/components/player/subtitleTracks.ts#L218) - - **Line:** 218 - - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/types.ts`](src/lib/player/adapters/types.ts#L15) - - **Line:** 15 - - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/html5Adapter.ts`](src/lib/player/adapters/html5Adapter.ts#L19) - - **Line:** 19 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/media.rs`](src-tauri/src/player/media.rs#L42) - - **Line:** 42 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L223) - - **Line:** 223 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L399) - - **Line:** 399 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2501) - - **Line:** 2501 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2558) - - **Line:** 2558 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2590) - - **Line:** 2590 - - **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-050 - -**Locations:** 9 file(s) - -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1404) - - **Line:** 1404 - - **Context:** `Unknown` -- **File:** [`src/lib/components/search/SearchResults.svelte`](src/lib/components/search/SearchResults.svelte#L9) - - **Line:** 9 - - **Context:** `Unknown` -- **File:** [`src/lib/components/settings/SearchGroupOrderList.svelte`](src/lib/components/settings/SearchGroupOrderList.svelte#L8) - - **Line:** 8 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/searchGroupOrder.ts`](src/lib/stores/searchGroupOrder.ts#L6) - - **Line:** 6 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/searchGroupOrder.test.ts`](src/lib/stores/searchGroupOrder.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L9) - - **Line:** 9 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L240) - - **Line:** 240 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L290) - - **Line:** 290 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L482) - - **Line:** 482 - - **Context:** `pub struct SearchUpdateEvent {` - -### UR-053 - -**Locations:** 17 file(s) - -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1006) - - **Line:** 1006 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1017) - - **Line:** 1017 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2130) - - **Line:** 2130 - - **Context:** `export type MergedMediaItem = { id: string; title: string; artist: str...` -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2139) - - **Line:** 2139 - - **Context:** `export type NetworkStateWrapperArg = { networkType: NetworkType; unmet...` -- **File:** [`src/lib/stores/downloads.ts`](src/lib/stores/downloads.ts#L81) - - **Line:** 81 - - **Context:** `Unknown` -- **File:** [`src/lib/services/networkType.ts`](src/lib/services/networkType.ts#L10) - - **Line:** 10 - - **Context:** `Unknown` -- **File:** [`src/lib/services/networkType.test.ts`](src/lib/services/networkType.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L27) - - **Line:** 27 - - **Context:** `pub struct DownloadManagerWrapper(pub Mutex);` -- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L36) - - **Line:** 36 - - **Context:** `pub struct NetworkStateWrapper(pub NetworkStateHandle);` -- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L79) - - **Line:** 79 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L92) - - **Line:** 92 - - **Context:** `pub struct NetworkStateWrapperArg {` -- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L1312) - - **Line:** 1312 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/download/network.rs`](src-tauri/src/download/network.rs#L22) - - **Line:** 22 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/download/network.rs`](src-tauri/src/download/network.rs#L42) - - **Line:** 42 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/download/network.rs`](src-tauri/src/download/network.rs#L70) - - **Line:** 70 - - **Context:** `impl NetworkState {` -- **File:** [`src-tauri/src/download/events.rs`](src-tauri/src/download/events.rs#L47) - - **Line:** 47 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/download/cache.rs`](src-tauri/src/download/cache.rs#L86) - - **Line:** 86 - - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/queue.rs`](src-tauri/src/player/queue.rs#L535) + - **Line:** 535 + - **Context:** `pub enum AddPosition {` ### UT-010 @@ -6218,6 +5851,22 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **Line:** 2 - **Context:** `Unknown` +### UT-030 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L245) + - **Line:** 245 + - **Context:** `Unknown` + +### UT-032 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L245) + - **Line:** 245 + - **Context:** `Unknown` + ### UT-052 **Locations:** 1 file(s) @@ -6240,6 +5889,46 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **Line:** 69 - **Context:** `Unknown` +### UT-061 + +**Locations:** 9 file(s) + +- **File:** [`src/lib/player/backgroundAudio.commands.test.ts`](src/lib/player/backgroundAudio.commands.test.ts#L7) + - **Line:** 7 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L38) + - **Line:** 38 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L51) + - **Line:** 51 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1438) + - **Line:** 1438 + - **Context:** `Unknown` +- **File:** [`src/lib/api/repository-client.test.ts`](src/lib/api/repository-client.test.ts#L434) + - **Line:** 434 + - **Context:** `Unknown` +- **File:** [`src/lib/api/repository-client.test.ts`](src/lib/api/repository-client.test.ts#L451) + - **Line:** 451 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L664) + - **Line:** 664 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L767) + - **Line:** 767 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L599) + - **Line:** 599 + - **Context:** `Unknown` + +### UT-062 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/utils/backgroundAudio.test.ts`](src/lib/utils/backgroundAudio.test.ts#L7) + - **Line:** 7 + - **Context:** `Unknown` + ### UT-071 **Locations:** 1 file(s) @@ -6248,6 +5937,86 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **Line:** 4 - **Context:** `Unknown` +### UT-104 + +**Locations:** 7 file(s) + +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1964) + - **Line:** 1964 + - **Context:** `export type GetItemsOptions = { startIndex?: number | null; limit?: nu...` +- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L1222) + - **Line:** 1222 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L4253) + - **Line:** 4253 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/types.rs`](src-tauri/src/repository/types.rs#L298) + - **Line:** 298 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L622) + - **Line:** 622 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L659) + - **Line:** 659 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2677) + - **Line:** 2677 + - **Context:** `Unknown` + +### UT-105 + +**Locations:** 3 file(s) + +- **File:** [`src/lib/stores/favorites.test.ts`](src/lib/stores/favorites.test.ts#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/favorites.ts`](src/lib/stores/favorites.ts#L8) + - **Line:** 8 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/favorites.ts`](src/lib/stores/favorites.ts#L55) + - **Line:** 55 + - **Context:** `Unknown` + +### UT-106 + +**Locations:** 3 file(s) + +- **File:** [`src/routes/library/favorites/+page.svelte`](src/routes/library/favorites/+page.svelte#L41) + - **Line:** 41 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/favorites.test.ts`](src/lib/stores/favorites.test.ts#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/favorites.ts`](src/lib/stores/favorites.ts#L79) + - **Line:** 79 + - **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/domain/search_rank.rs`](src-tauri/src/domain/search_rank.rs#L106) + - **Line:** 106 + - **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/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` + ### UT-085 **Locations:** 2 file(s) @@ -6305,77 +6074,88 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **Line:** 21 - **Context:** `Unknown` +### UT-091 + +**Locations:** 2 file(s) + +- **File:** [`src/lib/player/transport.authority.test.ts`](src/lib/player/transport.authority.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/player/index.ts`](src/lib/player/index.ts#L15) + - **Line:** 15 + - **Context:** `Unknown` + ### UT-092 **Locations:** 3 file(s) -- **File:** [`src/lib/components/player/VideoPlayer.tapSurface.test.ts`](src/lib/components/player/VideoPlayer.tapSurface.test.ts#L5) - - **Line:** 5 +- **File:** [`src/lib/components/player/playerSurface.ts`](src/lib/components/player/playerSurface.ts#L8) + - **Line:** 8 - **Context:** `Unknown` - **File:** [`src/lib/components/player/playerSurface.test.ts`](src/lib/components/player/playerSurface.test.ts#L13) - **Line:** 13 - **Context:** `Unknown` -- **File:** [`src/lib/components/player/playerSurface.ts`](src/lib/components/player/playerSurface.ts#L8) - - **Line:** 8 +- **File:** [`src/lib/components/player/VideoPlayer.tapSurface.test.ts`](src/lib/components/player/VideoPlayer.tapSurface.test.ts#L5) + - **Line:** 5 - **Context:** `Unknown` ### UT-093 **Locations:** 2 file(s) -- **File:** [`src/lib/components/player/playerSurface.test.ts`](src/lib/components/player/playerSurface.test.ts#L13) - - **Line:** 13 - - **Context:** `Unknown` - **File:** [`src/lib/components/player/playerSurface.ts`](src/lib/components/player/playerSurface.ts#L8) - **Line:** 8 - **Context:** `Unknown` - -### UT-104 - -**Locations:** 7 file(s) - -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1956) - - **Line:** 1956 - - **Context:** `export type GetItemsOptions = { startIndex?: number | null; limit?: nu...` -- **File:** [`src-tauri/src/repository/types.rs`](src-tauri/src/repository/types.rs#L298) - - **Line:** 298 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L1222) - - **Line:** 1222 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L4253) - - **Line:** 4253 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L622) - - **Line:** 622 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L659) - - **Line:** 659 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L2677) - - **Line:** 2677 +- **File:** [`src/lib/components/player/playerSurface.test.ts`](src/lib/components/player/playerSurface.test.ts#L13) + - **Line:** 13 - **Context:** `Unknown` -### UT-105 +### UT-094 -**Locations:** 3 file(s) +**Locations:** 1 file(s) -- **File:** [`src/lib/stores/favorites.ts`](src/lib/stores/favorites.ts#L8) - - **Line:** 8 +- **File:** [`src/lib/utils/safeArea.test.ts`](src/lib/utils/safeArea.test.ts#L17) + - **Line:** 17 - **Context:** `Unknown` -- **File:** [`src/lib/stores/favorites.ts`](src/lib/stores/favorites.ts#L55) - - **Line:** 55 + +### UT-095 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/utils/safeArea.test.ts`](src/lib/utils/safeArea.test.ts#L17) + - **Line:** 17 - **Context:** `Unknown` -- **File:** [`src/lib/stores/favorites.test.ts`](src/lib/stores/favorites.test.ts#L1) - - **Line:** 1 + +### 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` + +### UT-098 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/utils/layoutShell.test.ts`](src/lib/utils/layoutShell.test.ts#L158) + - **Line:** 158 - **Context:** `Unknown` ### UT-107 **Locations:** 6 file(s) -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1498) - - **Line:** 1498 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1506) + - **Line:** 1506 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L806) - **Line:** 806 @@ -6401,39 +6181,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **Line:** 12 - **Context:** `Unknown` -### UT-119 - -**Locations:** 2 file(s) - -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L416) - - **Line:** 416 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2624) - - **Line:** 2624 - - **Context:** `Unknown` - -### UT-121 - -**Locations:** 2 file(s) - -- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L564) - - **Line:** 564 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L573) - - **Line:** 573 - - **Context:** `Unknown` - -### UT-123 - -**Locations:** 2 file(s) - -- **File:** [`src/lib/services/pendingSync.logic.ts`](src/lib/services/pendingSync.logic.ts#L9) - - **Line:** 9 - - **Context:** `Unknown` -- **File:** [`src/lib/services/pendingSync.logic.test.ts`](src/lib/services/pendingSync.logic.test.ts#L1) - - **Line:** 1 - - **Context:** `Unknown` - ### UT-124 **Locations:** 1 file(s) @@ -6442,6 +6189,26 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **Line:** 55 - **Context:** `Unknown` +### UR-021 + +**Locations:** 5 file(s) + +- **File:** [`src/lib/player/adapters/types.ts`](src/lib/player/adapters/types.ts#L15) + - **Line:** 15 + - **Context:** `Unknown` +- **File:** [`src/lib/player/adapters/html5Adapter.ts`](src/lib/player/adapters/html5Adapter.ts#L19) + - **Line:** 19 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/storage/series_prefs.rs`](src-tauri/src/commands/storage/series_prefs.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` + ### UT-131 **Locations:** 1 file(s) @@ -6482,6 +6249,796 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **Line:** 7 - **Context:** `Unknown` +### UT-144 + +**Locations:** 3 file(s) + +- **File:** [`src/lib/components/player/subtitleTracks.ts`](src/lib/components/player/subtitleTracks.ts#L20) + - **Line:** 20 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](src/lib/components/player/subtitleTracks.test.ts#L18) + - **Line:** 18 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L306) + - **Line:** 306 + - **Context:** `Unknown` + +### UT-145 + +**Locations:** 5 file(s) + +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2262) + - **Line:** 2262 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L223) + - **Line:** 223 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L399) + - **Line:** 399 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2538) + - **Line:** 2538 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2595) + - **Line:** 2595 + - **Context:** `Unknown` + +### UT-146 + +**Locations:** 3 file(s) + +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2842) + - **Line:** 2842 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/media.rs`](src-tauri/src/player/media.rs#L42) + - **Line:** 42 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2627) + - **Line:** 2627 + - **Context:** `Unknown` + +### UT-147 + +**Locations:** 8 file(s) + +- **File:** [`src/lib/components/player/subtitleTracks.ts`](src/lib/components/player/subtitleTracks.ts#L20) + - **Line:** 20 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/subtitleTracks.ts`](src/lib/components/player/subtitleTracks.ts#L183) + - **Line:** 183 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/subtitleTracks.ts`](src/lib/components/player/subtitleTracks.ts#L218) + - **Line:** 218 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](src/lib/components/player/subtitleTracks.test.ts#L159) + - **Line:** 159 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](src/lib/components/player/subtitleTracks.test.ts#L282) + - **Line:** 282 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L315) + - **Line:** 315 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L635) + - **Line:** 635 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1812) + - **Line:** 1812 + - **Context:** `Unknown` + +### UT-149 + +**Locations:** 2 file(s) + +- **File:** [`src/lib/player/adapters/index.ts`](src/lib/player/adapters/index.ts#L20) + - **Line:** 20 + - **Context:** `Unknown` +- **File:** [`src/lib/player/adapters/adapterSelection.test.ts`](src/lib/player/adapters/adapterSelection.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` + +### UR-012 + +**Locations:** 9 file(s) + +- **File:** [`src/lib/stores/auth.test.ts`](src/lib/stores/auth.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/auth.ts`](src/lib/stores/auth.ts#L6) + - **Line:** 6 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/auth.ts`](src/lib/stores/auth.ts#L293) + - **Line:** 293 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/auth.ts`](src/lib/stores/auth.ts#L445) + - **Line:** 445 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/credentials.rs`](src-tauri/src/credentials.rs#L10) + - **Line:** 10 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/storage/mod.rs`](src-tauri/src/commands/storage/mod.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) + - **Line:** 311 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) + - **Line:** 157 + - **Context:** `pub fn file_size(&self) -> Option {` + +### UR-013 + +**Locations:** 2 file(s) + +- **File:** [`src/lib/stores/downloads.test.ts`](src/lib/stores/downloads.test.ts#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/downloads.ts`](src/lib/stores/downloads.ts#L2) + - **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) + +- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L7) + - **Line:** 7 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L105) + - **Line:** 105 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L110) + - **Line:** 110 + - **Context:** `async function next() {` +- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L115) + - **Line:** 115 + - **Context:** `async function previous() {` +- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L120) + - **Line:** 120 + - **Context:** `async function skipTo(index: number) {` +- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L125) + - **Line:** 125 + - **Context:** `async function toggleShuffle() {` +- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L130) + - **Line:** 130 + - **Context:** `async function cycleRepeat() {` +- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L135) + - **Line:** 135 + - **Context:** `async function removeFromQueue(index: number) {` +- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L140) + - **Line:** 140 + - **Context:** `async function moveInQueue(fromIndex: number, toIndex: number) {` +- **File:** [`src/lib/stores/queue.test.ts`](src/lib/stores/queue.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/queue.rs`](src-tauri/src/player/queue.rs#L20) + - **Line:** 20 + - **Context:** `pub enum RepeatMode {` +- **File:** [`src-tauri/src/player/queue.rs`](src-tauri/src/player/queue.rs#L535) + - **Line:** 535 + - **Context:** `pub enum AddPosition {` +- **File:** [`src-tauri/src/commands/player/queue.rs`](src-tauri/src/commands/player/queue.rs#L3) + - **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) + +- **File:** [`src/lib/stores/downloads.test.ts`](src/lib/stores/downloads.test.ts#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/downloads.ts`](src/lib/stores/downloads.ts#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L2040) + - **Line:** 2040 + - **Context:** `Unknown` + +### UR-024 + +**Locations:** 2 file(s) + +- **File:** [`src/lib/stores/home.ts`](src/lib/stores/home.ts#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` + +### UR-031 + +**Locations:** 2 file(s) + +- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/settings.rs`](src-tauri/src/commands/player/settings.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` + +### UR-032 + +**Locations:** 7 file(s) + +- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L193) + - **Line:** 193 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L210) + - **Line:** 210 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L234) + - **Line:** 234 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/android/mod.rs`](src-tauri/src/player/android/mod.rs#L563) + - **Line:** 563 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/android/mod.rs`](src-tauri/src/player/android/mod.rs#L601) + - **Line:** 601 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/settings.rs`](src-tauri/src/commands/player/settings.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` + +### UR-033 + +**Locations:** 12 file(s) + +- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L193) + - **Line:** 193 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L210) + - **Line:** 210 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L234) + - **Line:** 234 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/android/mod.rs`](src-tauri/src/player/android/mod.rs#L563) + - **Line:** 563 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/android/mod.rs`](src-tauri/src/player/android/mod.rs#L601) + - **Line:** 601 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L658) + - **Line:** 658 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L712) + - **Line:** 712 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L778) + - **Line:** 778 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L788) + - **Line:** 788 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L833) + - **Line:** 833 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/settings.rs`](src-tauri/src/commands/player/settings.rs#L3) + - **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-061 + +**Locations:** 4 file(s) + +- **File:** [`src/lib/components/player/tapGestures.ts`](src/lib/components/player/tapGestures.ts#L21) + - **Line:** 21 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.touchScrub.test.ts`](src/lib/components/player/VideoPlayer.touchScrub.test.ts#L21) + - **Line:** 21 + - **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.tapSurface.test.ts`](src/lib/components/player/VideoPlayer.tapSurface.test.ts#L5) + - **Line:** 5 + - **Context:** `Unknown` + +### UT-004 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/player/queue.rs`](src-tauri/src/player/queue.rs#L535) + - **Line:** 535 + - **Context:** `pub enum AddPosition {` + +### UT-012 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/player/sleep_timer.rs`](src-tauri/src/player/sleep_timer.rs#L81) + - **Line:** 81 + - **Context:** `pub fn cancel(&mut self) {` + +### UT-026 + +**Locations:** 2 file(s) + +- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L245) + - **Line:** 245 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L251) + - **Line:** 251 + - **Context:** `Unknown` + +### UT-027 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L245) + - **Line:** 245 + - **Context:** `Unknown` + +### UT-028 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L245) + - **Line:** 245 + - **Context:** `Unknown` + +### UT-029 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L245) + - **Line:** 245 + - **Context:** `Unknown` + +### UT-031 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L245) + - **Line:** 245 + - **Context:** `Unknown` + +### UT-033 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L245) + - **Line:** 245 + - **Context:** `Unknown` + +### UT-079 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L270) + - **Line:** 270 + - **Context:** `Unknown` + +### UT-080 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L299) + - **Line:** 299 + - **Context:** `Unknown` + +### UT-081 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L326) + - **Line:** 326 + - **Context:** `Unknown` + +### UT-082 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L337) + - **Line:** 337 + - **Context:** `Unknown` + +### UT-083 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L747) + - **Line:** 747 + - **Context:** `Unknown` + +### UT-084 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L759) + - **Line:** 759 + - **Context:** `Unknown` + +### UT-121 + +**Locations:** 2 file(s) + +- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L564) + - **Line:** 564 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L573) + - **Line:** 573 + - **Context:** `Unknown` + +### UT-143 + +**Locations:** 3 file(s) + +- **File:** [`src/lib/components/player/subtitleTracks.ts`](src/lib/components/player/subtitleTracks.ts#L20) + - **Line:** 20 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](src/lib/components/player/subtitleTracks.test.ts#L18) + - **Line:** 18 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L306) + - **Line:** 306 + - **Context:** `Unknown` + +### UR-002 + +**Locations:** 19 file(s) + +- **File:** [`src/lib/services/offlineCatalog.ts`](src/lib/services/offlineCatalog.ts#L14) + - **Line:** 14 + - **Context:** `Unknown` +- **File:** [`src/lib/services/syncService.ts`](src/lib/services/syncService.ts#L7) + - **Line:** 7 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2452) + - **Line:** 2452 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/connectivity.ts`](src/lib/stores/connectivity.ts#L10) + - **Line:** 10 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/media.rs`](src-tauri/src/player/media.rs#L142) + - **Line:** 142 + - **Context:** `pub enum MediaType {` +- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](src-tauri/src/repository/hybrid.rs#L8) + - **Line:** 8 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync_drain.rs`](src-tauri/src/commands/sync_drain.rs#L14) + - **Line:** 14 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync_drain.rs`](src-tauri/src/commands/sync_drain.rs#L228) + - **Line:** 228 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/offline.rs`](src-tauri/src/commands/offline.rs#L136) + - **Line:** 136 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync.rs`](src-tauri/src/commands/sync.rs#L7) + - **Line:** 7 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/storage/mod.rs`](src-tauri/src/commands/storage/mod.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) + - **Line:** 311 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) + - **Line:** 157 + - **Context:** `pub fn file_size(&self) -> Option {` +- **File:** [`src-tauri/src/storage/schema.rs`](src-tauri/src/storage/schema.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1348) + - **Line:** 1348 + - **Context:** `Unknown` + +### UR-008 + +**Locations:** 2 file(s) + +- **File:** [`src/lib/components/library/GenericMediaListPage.searchEvent.test.ts`](src/lib/components/library/GenericMediaListPage.searchEvent.test.ts#L12) + - **Line:** 12 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/library.ts`](src/lib/stores/library.ts#L2) + - **Line:** 2 + - **Context:** `Unknown` + +### UR-011 + +**Locations:** 11 file(s) + +- **File:** [`src/lib/services/preload.test.ts`](src/lib/services/preload.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/services/preload.ts`](src/lib/services/preload.ts#L5) + - **Line:** 5 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2452) + - **Line:** 2452 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/downloads.test.ts`](src/lib/stores/downloads.test.ts#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/downloads.ts`](src/lib/stores/downloads.ts#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/media.rs`](src-tauri/src/player/media.rs#L142) + - **Line:** 142 + - **Context:** `pub enum MediaType {` +- **File:** [`src-tauri/src/commands/offline.rs`](src-tauri/src/commands/offline.rs#L136) + - **Line:** 136 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L854) + - **Line:** 854 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L2040) + - **Line:** 2040 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/storage/mod.rs`](src-tauri/src/commands/storage/mod.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` + +### UR-019 + +**Locations:** 12 file(s) + +- **File:** [`src/lib/services/playbackReporting.ts`](src/lib/services/playbackReporting.ts#L10) + - **Line:** 10 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playerEvents.test.ts`](src/lib/services/playerEvents.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L8) + - **Line:** 8 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playbackReporting.test.ts`](src/lib/services/playbackReporting.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2527) + - **Line:** 2527 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/events.rs`](src-tauri/src/player/events.rs#L6) + - **Line:** 6 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/events.rs`](src-tauri/src/player/events.rs#L23) + - **Line:** 23 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/storage/mod.rs`](src-tauri/src/commands/storage/mod.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/playback_reporting.rs`](src-tauri/src/commands/playback_reporting.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) + - **Line:** 157 + - **Context:** `pub fn file_size(&self) -> Option {` + +### UR-030 + +**Locations:** 2 file(s) + +- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](src/lib/components/library/GenericMediaListPage.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/library.ts`](src/lib/stores/library.ts#L2) + - **Line:** 2 + - **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/repository.rs`](src-tauri/src/commands/repository.rs#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/storage/people.rs`](src-tauri/src/commands/storage/people.rs#L3) + - **Line:** 3 + - **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-042 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/commands/auth.rs`](src-tauri/src/commands/auth.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` + +### UR-044 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/commands/download/pinning.rs`](src-tauri/src/commands/download/pinning.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` + +### UR-045 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/commands/download/smart_cache.rs`](src-tauri/src/commands/download/smart_cache.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` + +### UR-051 + +**Locations:** 2 file(s) + +- **File:** [`src/lib/components/library/MediaCard.svelte`](src/lib/components/library/MediaCard.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/LibraryGrid.svelte`](src/lib/components/library/LibraryGrid.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` + +### UR-064 + +**Locations:** 7 file(s) + +- **File:** [`src/lib/components/library/SeasonSection.svelte`](src/lib/components/library/SeasonSection.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/ClearHistoryButton.svelte`](src/lib/components/library/ClearHistoryButton.svelte#L9) + - **Line:** 9 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1377) + - **Line:** 1377 + - **Context:** `Unknown` +- **File:** [`src/lib/api/repository-client.ts`](src/lib/api/repository-client.ts#L165) + - **Line:** 165 + - **Context:** `Unknown` +- **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#L1896) + - **Line:** 1896 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L387) + - **Line:** 387 + - **Context:** `Unknown` + +### IT-013 + +**Locations:** 4 file(s) + +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L38) + - **Line:** 38 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L51) + - **Line:** 51 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L664) + - **Line:** 664 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L767) + - **Line:** 767 + - **Context:** `Unknown` + +### UT-066 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/services/networkType.test.ts`](src/lib/services/networkType.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` + +### UT-116 + +**Locations:** 4 file(s) + +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L308) + - **Line:** 308 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L444) + - **Line:** 444 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L496) + - **Line:** 496 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2702) + - **Line:** 2702 + - **Context:** `Unknown` + +### UT-117 + +**Locations:** 7 file(s) + +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L272) + - **Line:** 272 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/stream_end.rs`](src-tauri/src/player/stream_end.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L1377) + - **Line:** 1377 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L1407) + - **Line:** 1407 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L1464) + - **Line:** 1464 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L1495) + - **Line:** 1495 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/timers.rs`](src-tauri/src/commands/player/timers.rs#L299) + - **Line:** 299 + - **Context:** `Unknown` + +### UT-123 + +**Locations:** 2 file(s) + +- **File:** [`src/lib/services/pendingSync.logic.ts`](src/lib/services/pendingSync.logic.ts#L9) + - **Line:** 9 + - **Context:** `Unknown` +- **File:** [`src/lib/services/pendingSync.logic.test.ts`](src/lib/services/pendingSync.logic.test.ts#L1) + - **Line:** 1 + - **Context:** `Unknown` + ### UT-136 **Locations:** 1 file(s) @@ -6522,571 +7079,89 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **Line:** 1 - **Context:** `Unknown` -### UT-144 +### UR-053 -**Locations:** 3 file(s) +**Locations:** 17 file(s) -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L293) - - **Line:** 293 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](src/lib/components/player/subtitleTracks.test.ts#L18) - - **Line:** 18 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/subtitleTracks.ts`](src/lib/components/player/subtitleTracks.ts#L20) - - **Line:** 20 - - **Context:** `Unknown` - -### UT-145 - -**Locations:** 5 file(s) - -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2254) - - **Line:** 2254 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L223) - - **Line:** 223 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L399) - - **Line:** 399 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2501) - - **Line:** 2501 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2558) - - **Line:** 2558 - - **Context:** `Unknown` - -### UR-008 - -**Locations:** 2 file(s) - -- **File:** [`src/lib/components/library/GenericMediaListPage.searchEvent.test.ts`](src/lib/components/library/GenericMediaListPage.searchEvent.test.ts#L12) - - **Line:** 12 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/library.ts`](src/lib/stores/library.ts#L2) - - **Line:** 2 - - **Context:** `Unknown` - -### UR-010 - -**Locations:** 15 file(s) - -- **File:** [`src/lib/components/sessions/SessionCard.svelte`](src/lib/components/sessions/SessionCard.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/components/sessions/SessionsList.svelte`](src/lib/components/sessions/SessionsList.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/components/sessions/RemoteControls.svelte`](src/lib/components/sessions/RemoteControls.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/components/sessions/CastButton.svelte`](src/lib/components/sessions/CastButton.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/components/sessions/SessionPickerModal.svelte`](src/lib/components/sessions/SessionPickerModal.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/sessions.test.ts`](src/lib/stores/sessions.test.ts#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/sessions.ts`](src/lib/stores/sessions.ts#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/lmsSync.ts`](src/lib/stores/lmsSync.ts#L12) - - **Line:** 12 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/playbackMode.ts`](src/lib/stores/playbackMode.ts#L9) - - **Line:** 9 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/playbackMode.test.ts`](src/lib/stores/playbackMode.test.ts#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/remote.rs`](src-tauri/src/commands/player/remote.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/playback_mode.rs`](src-tauri/src/commands/playback_mode.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sessions.rs`](src-tauri/src/commands/sessions.rs#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/session_poller/mod.rs`](src-tauri/src/session_poller/mod.rs#L6) - - **Line:** 6 - - **Context:** `Unknown` - -### UR-012 - -**Locations:** 9 file(s) - -- **File:** [`src/lib/stores/auth.test.ts`](src/lib/stores/auth.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/auth.ts`](src/lib/stores/auth.ts#L6) - - **Line:** 6 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/auth.ts`](src/lib/stores/auth.ts#L293) - - **Line:** 293 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/auth.ts`](src/lib/stores/auth.ts#L445) - - **Line:** 445 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/storage/mod.rs`](src-tauri/src/commands/storage/mod.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) - - **Line:** 311 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) - - **Line:** 157 - - **Context:** `pub fn file_size(&self) -> Option {` -- **File:** [`src-tauri/src/credentials.rs`](src-tauri/src/credentials.rs#L10) +- **File:** [`src/lib/services/networkType.ts`](src/lib/services/networkType.ts#L10) - **Line:** 10 - **Context:** `Unknown` - -### UR-013 - -**Locations:** 2 file(s) - -- **File:** [`src/lib/stores/downloads.ts`](src/lib/stores/downloads.ts#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/downloads.test.ts`](src/lib/stores/downloads.test.ts#L2) - - **Line:** 2 - - **Context:** `Unknown` - -### UR-015 - -**Locations:** 13 file(s) - -- **File:** [`src/lib/stores/queue.test.ts`](src/lib/stores/queue.test.ts#L4) +- **File:** [`src/lib/services/networkType.test.ts`](src/lib/services/networkType.test.ts#L4) - **Line:** 4 - **Context:** `Unknown` -- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L7) - - **Line:** 7 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1014) + - **Line:** 1014 - **Context:** `Unknown` -- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L105) - - **Line:** 105 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1025) + - **Line:** 1025 - **Context:** `Unknown` -- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L110) - - **Line:** 110 - - **Context:** `async function next() {` -- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L115) - - **Line:** 115 - - **Context:** `async function previous() {` -- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L120) - - **Line:** 120 - - **Context:** `async function skipTo(index: number) {` -- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L125) - - **Line:** 125 - - **Context:** `async function toggleShuffle() {` -- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L130) - - **Line:** 130 - - **Context:** `async function cycleRepeat() {` -- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L135) - - **Line:** 135 - - **Context:** `async function removeFromQueue(index: number) {` -- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L140) - - **Line:** 140 - - **Context:** `async function moveInQueue(fromIndex: number, toIndex: number) {` -- **File:** [`src-tauri/src/player/queue.rs`](src-tauri/src/player/queue.rs#L20) - - **Line:** 20 - - **Context:** `pub enum RepeatMode {` -- **File:** [`src-tauri/src/player/queue.rs`](src-tauri/src/player/queue.rs#L535) - - **Line:** 535 - - **Context:** `pub enum AddPosition {` -- **File:** [`src-tauri/src/commands/player/queue.rs`](src-tauri/src/commands/player/queue.rs#L3) - - **Line:** 3 +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2138) + - **Line:** 2138 + - **Context:** `export type MergedMediaItem = { id: string; title: string; artist: str...` +- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2147) + - **Line:** 2147 + - **Context:** `export type NetworkStateWrapperArg = { networkType: NetworkType; unmet...` +- **File:** [`src/lib/stores/downloads.ts`](src/lib/stores/downloads.ts#L81) + - **Line:** 81 - **Context:** `Unknown` - -### UR-016 - -**Locations:** 2 file(s) - -- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L62) - - **Line:** 62 +- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L27) + - **Line:** 27 + - **Context:** `pub struct DownloadManagerWrapper(pub Mutex);` +- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L36) + - **Line:** 36 + - **Context:** `pub struct NetworkStateWrapper(pub NetworkStateHandle);` +- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L79) + - **Line:** 79 - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L251) - - **Line:** 251 +- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L92) + - **Line:** 92 + - **Context:** `pub struct NetworkStateWrapperArg {` +- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L1312) + - **Line:** 1312 - **Context:** `Unknown` - -### UR-018 - -**Locations:** 3 file(s) - -- **File:** [`src/lib/stores/downloads.ts`](src/lib/stores/downloads.ts#L2) - - **Line:** 2 +- **File:** [`src-tauri/src/download/cache.rs`](src-tauri/src/download/cache.rs#L86) + - **Line:** 86 - **Context:** `Unknown` -- **File:** [`src/lib/stores/downloads.test.ts`](src/lib/stores/downloads.test.ts#L2) - - **Line:** 2 +- **File:** [`src-tauri/src/download/network.rs`](src-tauri/src/download/network.rs#L22) + - **Line:** 22 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L2040) - - **Line:** 2040 - - **Context:** `Unknown` - -### UR-019 - -**Locations:** 12 file(s) - -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2495) - - **Line:** 2495 - - **Context:** `Unknown` -- **File:** [`src/lib/services/playerEvents.test.ts`](src/lib/services/playerEvents.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/services/playbackReporting.test.ts`](src/lib/services/playbackReporting.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/services/playbackReporting.ts`](src/lib/services/playbackReporting.ts#L10) - - **Line:** 10 - - **Context:** `Unknown` -- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L8) - - **Line:** 8 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/events.rs`](src-tauri/src/player/events.rs#L6) - - **Line:** 6 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/events.rs`](src-tauri/src/player/events.rs#L23) - - **Line:** 23 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/storage/mod.rs`](src-tauri/src/commands/storage/mod.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/playback_reporting.rs`](src-tauri/src/commands/playback_reporting.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) - - **Line:** 157 - - **Context:** `pub fn file_size(&self) -> Option {` - -### UT-146 - -**Locations:** 3 file(s) - -- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2810) - - **Line:** 2810 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/media.rs`](src-tauri/src/player/media.rs#L42) +- **File:** [`src-tauri/src/download/network.rs`](src-tauri/src/download/network.rs#L42) - **Line:** 42 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2590) - - **Line:** 2590 - - **Context:** `Unknown` - -### UR-021 - -**Locations:** 5 file(s) - -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/types.ts`](src/lib/player/adapters/types.ts#L15) - - **Line:** 15 - - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/html5Adapter.ts`](src/lib/player/adapters/html5Adapter.ts#L19) - - **Line:** 19 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/storage/series_prefs.rs`](src-tauri/src/commands/storage/series_prefs.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` - -### UR-024 - -**Locations:** 2 file(s) - -- **File:** [`src/lib/stores/home.ts`](src/lib/stores/home.ts#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` - -### UR-028 - -**Locations:** 2 file(s) - -- **File:** [`src/lib/components/player/MiniPlayer.svelte`](src/lib/components/player/MiniPlayer.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/AudioPlayer.svelte`](src/lib/components/player/AudioPlayer.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` - -### UR-030 - -**Locations:** 2 file(s) - -- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](src/lib/components/library/GenericMediaListPage.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/library.ts`](src/lib/stores/library.ts#L2) - - **Line:** 2 - - **Context:** `Unknown` - -### UR-032 - -**Locations:** 7 file(s) - -- **File:** [`src-tauri/src/player/android/mod.rs`](src-tauri/src/player/android/mod.rs#L563) - - **Line:** 563 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/android/mod.rs`](src-tauri/src/player/android/mod.rs#L601) - - **Line:** 601 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/settings.rs`](src-tauri/src/commands/player/settings.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L193) - - **Line:** 193 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L210) - - **Line:** 210 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L234) - - **Line:** 234 - - **Context:** `Unknown` - -### UR-033 - -**Locations:** 12 file(s) - -- **File:** [`src-tauri/src/player/android/mod.rs`](src-tauri/src/player/android/mod.rs#L563) - - **Line:** 563 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/android/mod.rs`](src-tauri/src/player/android/mod.rs#L601) - - **Line:** 601 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L658) - - **Line:** 658 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L712) - - **Line:** 712 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L778) - - **Line:** 778 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L788) - - **Line:** 788 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L833) - - **Line:** 833 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/settings.rs`](src-tauri/src/commands/player/settings.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L193) - - **Line:** 193 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L210) - - **Line:** 210 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L234) - - **Line:** 234 - - **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-045 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/commands/download/smart_cache.rs`](src-tauri/src/commands/download/smart_cache.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 +- **File:** [`src-tauri/src/download/network.rs`](src-tauri/src/download/network.rs#L70) + - **Line:** 70 + - **Context:** `impl NetworkState {` +- **File:** [`src-tauri/src/download/events.rs`](src-tauri/src/download/events.rs#L47) + - **Line:** 47 - **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-061 - -**Locations:** 4 file(s) - -- **File:** [`src/lib/components/player/tapGestures.ts`](src/lib/components/player/tapGestures.ts#L21) - - **Line:** 21 +- **File:** [`src/lib/stores/tv.ts`](src/lib/stores/tv.ts#L3) + - **Line:** 3 - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.tapSurface.test.ts`](src/lib/components/player/VideoPlayer.tapSurface.test.ts#L5) - - **Line:** 5 +- **File:** [`src/lib/stores/continueWatchingFilter.ts`](src/lib/stores/continueWatchingFilter.ts#L12) + - **Line:** 12 - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.touchScrub.test.ts`](src/lib/components/player/VideoPlayer.touchScrub.test.ts#L21) - - **Line:** 21 +- **File:** [`src/lib/stores/continueWatchingFilter.test.ts`](src/lib/stores/continueWatchingFilter.test.ts#L9) + - **Line:** 9 - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` - -### UT-143 - -**Locations:** 3 file(s) - -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L293) - - **Line:** 293 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](src/lib/components/player/subtitleTracks.test.ts#L18) - - **Line:** 18 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/subtitleTracks.ts`](src/lib/components/player/subtitleTracks.ts#L20) - - **Line:** 20 - - **Context:** `Unknown` - -### UT-147 - -**Locations:** 8 file(s) - -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L302) - - **Line:** 302 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L622) - - **Line:** 622 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1772) - - **Line:** 1772 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](src/lib/components/player/subtitleTracks.test.ts#L159) - - **Line:** 159 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](src/lib/components/player/subtitleTracks.test.ts#L282) - - **Line:** 282 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/subtitleTracks.ts`](src/lib/components/player/subtitleTracks.ts#L20) - - **Line:** 20 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/subtitleTracks.ts`](src/lib/components/player/subtitleTracks.ts#L183) - - **Line:** 183 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/subtitleTracks.ts`](src/lib/components/player/subtitleTracks.ts#L218) - - **Line:** 218 - - **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/lib/stores/home.ts`](src/lib/stores/home.ts#L2) + - **Line:** 2 - **Context:** `Unknown` ### UR-065 **Locations:** 22 file(s) -- **File:** [`src-tauri/src/commands/storage/people.rs`](src-tauri/src/commands/storage/people.rs#L56) - - **Line:** 56 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L51) - - **Line:** 51 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L96) - - **Line:** 96 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L164) - - **Line:** 164 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L281) - - **Line:** 281 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L326) - - **Line:** 326 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L740) - - **Line:** 740 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/storage/schema.rs`](src-tauri/src/storage/schema.rs#L757) - - **Line:** 757 - - **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#L62) - **Line:** 62 - **Context:** `Unknown` @@ -7123,130 +7198,52 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **File:** [`src-tauri/src/repository/hybrid.rs`](src-tauri/src/repository/hybrid.rs#L63) - **Line:** 63 - **Context:** `Unknown` -- **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1332) - - **Line:** 1332 +- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L96) + - **Line:** 96 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L164) + - **Line:** 164 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L281) + - **Line:** 281 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L326) + - **Line:** 326 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L740) + - **Line:** 740 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L51) + - **Line:** 51 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/storage/people.rs`](src-tauri/src/commands/storage/people.rs#L56) + - **Line:** 56 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/storage/schema.rs`](src-tauri/src/storage/schema.rs#L757) + - **Line:** 757 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/storage/schema.rs`](src-tauri/src/storage/schema.rs#L769) + - **Line:** 769 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/lib.rs`](src-tauri/src/lib.rs#L1334) + - **Line:** 1334 - **Context:** `Unknown` -### UT-014 +### IT-016 -**Locations:** 2 file(s) +**Locations:** 1 file(s) -- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) - - **Line:** 311 +- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L2956) + - **Line:** 2956 - **Context:** `Unknown` -- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) - - **Line:** 157 - - **Context:** `pub fn file_size(&self) -> Option {` -### UT-015 +### IT-017 -**Locations:** 2 file(s) +**Locations:** 1 file(s) -- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) - - **Line:** 311 +- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L854) + - **Line:** 854 - **Context:** `Unknown` -- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) - - **Line:** 157 - - **Context:** `pub fn file_size(&self) -> Option {` - -### UT-016 - -**Locations:** 2 file(s) - -- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) - - **Line:** 311 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) - - **Line:** 157 - - **Context:** `pub fn file_size(&self) -> Option {` - -### UT-017 - -**Locations:** 2 file(s) - -- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) - - **Line:** 311 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) - - **Line:** 157 - - **Context:** `pub fn file_size(&self) -> Option {` - -### UT-018 - -**Locations:** 2 file(s) - -- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) - - **Line:** 311 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) - - **Line:** 157 - - **Context:** `pub fn file_size(&self) -> Option {` - -### UT-019 - -**Locations:** 2 file(s) - -- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) - - **Line:** 311 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) - - **Line:** 157 - - **Context:** `pub fn file_size(&self) -> Option {` - -### UT-020 - -**Locations:** 2 file(s) - -- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) - - **Line:** 311 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) - - **Line:** 157 - - **Context:** `pub fn file_size(&self) -> Option {` - -### UT-021 - -**Locations:** 2 file(s) - -- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) - - **Line:** 311 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) - - **Line:** 157 - - **Context:** `pub fn file_size(&self) -> Option {` - -### UT-022 - -**Locations:** 2 file(s) - -- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) - - **Line:** 311 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) - - **Line:** 157 - - **Context:** `pub fn file_size(&self) -> Option {` - -### UT-023 - -**Locations:** 2 file(s) - -- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) - - **Line:** 311 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) - - **Line:** 157 - - **Context:** `pub fn file_size(&self) -> Option {` - -### UT-025 - -**Locations:** 2 file(s) - -- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) - - **Line:** 311 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) - - **Line:** 157 - - **Context:** `pub fn file_size(&self) -> Option {` ### UT-044 @@ -7342,38 +7339,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **Line:** 3686 - **Context:** `Unknown` -### UT-079 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L270) - - **Line:** 270 - - **Context:** `Unknown` - -### UT-080 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L299) - - **Line:** 299 - - **Context:** `Unknown` - -### UT-081 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L326) - - **Line:** 326 - - **Context:** `Unknown` - -### UT-082 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L337) - - **Line:** 337 - - **Context:** `Unknown` - ### UT-099 **Locations:** 3 file(s) @@ -7462,17 +7427,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **Line:** 355 - **Context:** `Unknown` -### UT-108 - -**Locations:** 2 file(s) - -- **File:** [`src-tauri/src/download/cache.rs`](src-tauri/src/download/cache.rs#L320) - - **Line:** 320 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/download/cache.rs`](src-tauri/src/download/cache.rs#L544) - - **Line:** 544 - - **Context:** `Unknown` - ### UT-109 **Locations:** 1 file(s) @@ -7547,15 +7501,15 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **Line:** 740 - **Context:** `Unknown` -### UT-120 +### UT-119 **Locations:** 2 file(s) -- **File:** [`src-tauri/src/download/cache.rs`](src-tauri/src/download/cache.rs#L220) - - **Line:** 220 +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L416) + - **Line:** 416 - **Context:** `Unknown` -- **File:** [`src-tauri/src/download/cache.rs`](src-tauri/src/download/cache.rs#L422) - - **Line:** 422 +- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L2661) + - **Line:** 2661 - **Context:** `Unknown` ### UT-122 @@ -7621,44 +7575,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **Line:** 1000 - **Context:** `Unknown` -### UT-127 - -**Locations:** 11 file(s) - -- **File:** [`src-tauri/src/media_server.rs`](src-tauri/src/media_server.rs#L27) - - **Line:** 27 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/media_server.rs`](src-tauri/src/media_server.rs#L282) - - **Line:** 282 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/media_server.rs`](src-tauri/src/media_server.rs#L327) - - **Line:** 327 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/media_server.rs`](src-tauri/src/media_server.rs#L398) - - **Line:** 398 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/media_server.rs`](src-tauri/src/media_server.rs#L449) - - **Line:** 449 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/media_server.rs`](src-tauri/src/media_server.rs#L458) - - **Line:** 458 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/media_server.rs`](src-tauri/src/media_server.rs#L473) - - **Line:** 473 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/media_server.rs`](src-tauri/src/media_server.rs#L508) - - **Line:** 508 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/media_server.rs`](src-tauri/src/media_server.rs#L515) - - **Line:** 515 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/media_server.rs`](src-tauri/src/media_server.rs#L540) - - **Line:** 540 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/media_server.rs`](src-tauri/src/media_server.rs#L567) - - **Line:** 567 - - **Context:** `Unknown` - ### UT-130 **Locations:** 2 file(s) @@ -7700,4 +7616,225 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-008, JA-010, JA-011, JA-012, - **Line:** 127 - **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-046 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/commands/player/remote.rs`](src-tauri/src/commands/player/remote.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` + +### UT-016 + +**Locations:** 2 file(s) + +- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) + - **Line:** 311 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) + - **Line:** 157 + - **Context:** `pub fn file_size(&self) -> Option {` + +### UT-017 + +**Locations:** 2 file(s) + +- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) + - **Line:** 311 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) + - **Line:** 157 + - **Context:** `pub fn file_size(&self) -> Option {` + +### UT-018 + +**Locations:** 2 file(s) + +- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) + - **Line:** 311 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) + - **Line:** 157 + - **Context:** `pub fn file_size(&self) -> Option {` + +### UT-020 + +**Locations:** 2 file(s) + +- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) + - **Line:** 311 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) + - **Line:** 157 + - **Context:** `pub fn file_size(&self) -> Option {` + +### UT-021 + +**Locations:** 2 file(s) + +- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) + - **Line:** 311 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) + - **Line:** 157 + - **Context:** `pub fn file_size(&self) -> Option {` + +### UT-022 + +**Locations:** 2 file(s) + +- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) + - **Line:** 311 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) + - **Line:** 157 + - **Context:** `pub fn file_size(&self) -> Option {` + +### UT-025 + +**Locations:** 2 file(s) + +- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) + - **Line:** 311 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) + - **Line:** 157 + - **Context:** `pub fn file_size(&self) -> Option {` + +### UT-042 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L2040) + - **Line:** 2040 + - **Context:** `Unknown` + +### UT-043 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L2040) + - **Line:** 2040 + - **Context:** `Unknown` + +### UR-047 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/commands/storage/mod.rs`](src-tauri/src/commands/storage/mod.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` + +### UT-014 + +**Locations:** 2 file(s) + +- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) + - **Line:** 311 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) + - **Line:** 157 + - **Context:** `pub fn file_size(&self) -> Option {` + +### UT-015 + +**Locations:** 2 file(s) + +- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) + - **Line:** 311 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) + - **Line:** 157 + - **Context:** `pub fn file_size(&self) -> Option {` + +### UT-019 + +**Locations:** 2 file(s) + +- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) + - **Line:** 311 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) + - **Line:** 157 + - **Context:** `pub fn file_size(&self) -> Option {` + +### UT-023 + +**Locations:** 2 file(s) + +- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L311) + - **Line:** 311 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L157) + - **Line:** 157 + - **Context:** `pub fn file_size(&self) -> Option {` + +### UT-108 + +**Locations:** 2 file(s) + +- **File:** [`src-tauri/src/download/cache.rs`](src-tauri/src/download/cache.rs#L320) + - **Line:** 320 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/download/cache.rs`](src-tauri/src/download/cache.rs#L544) + - **Line:** 544 + - **Context:** `Unknown` + +### UT-120 + +**Locations:** 2 file(s) + +- **File:** [`src-tauri/src/download/cache.rs`](src-tauri/src/download/cache.rs#L220) + - **Line:** 220 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/download/cache.rs`](src-tauri/src/download/cache.rs#L422) + - **Line:** 422 + - **Context:** `Unknown` + +### UT-127 + +**Locations:** 11 file(s) + +- **File:** [`src-tauri/src/media_server.rs`](src-tauri/src/media_server.rs#L27) + - **Line:** 27 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/media_server.rs`](src-tauri/src/media_server.rs#L282) + - **Line:** 282 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/media_server.rs`](src-tauri/src/media_server.rs#L327) + - **Line:** 327 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/media_server.rs`](src-tauri/src/media_server.rs#L398) + - **Line:** 398 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/media_server.rs`](src-tauri/src/media_server.rs#L449) + - **Line:** 449 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/media_server.rs`](src-tauri/src/media_server.rs#L458) + - **Line:** 458 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/media_server.rs`](src-tauri/src/media_server.rs#L473) + - **Line:** 473 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/media_server.rs`](src-tauri/src/media_server.rs#L508) + - **Line:** 508 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/media_server.rs`](src-tauri/src/media_server.rs#L515) + - **Line:** 515 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/media_server.rs`](src-tauri/src/media_server.rs#L540) + - **Line:** 540 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/media_server.rs`](src-tauri/src/media_server.rs#L567) + - **Line:** 567 + - **Context:** `Unknown` +