From 68ca1d585d5509690e7fe47a7e2a713eee8f878c Mon Sep 17 00:00:00 2001 From: Duncan Tourolle Date: Thu, 20 Aug 2026 20:14:15 +0200 Subject: [PATCH] chore: regenerate bindings and the traceability matrix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit bindings.ts picks up the library-exclusion commands and types from tauri-specta. The matrix regenerates because validation.ts and its test are gone — the doc link checker caught the stale references, which is the first time that gate has paid for itself on a generated artifact rather than a hand-written link. Also drops exclusions::is_excluded: a wrapper over is_excluded_by that only a test called, while the trait impls hoist the snapshot themselves. The test now calls the same path production does. --- docs/traceability.md | 12240 ++++++++++++----------- src-tauri/src/commands/library.rs | 5 +- src-tauri/src/repository/exclusions.rs | 9 +- src/lib/api/bindings.ts | 92 + 4 files changed, 6489 insertions(+), 5857 deletions(-) diff --git a/docs/traceability.md b/docs/traceability.md index 511eb31e..5bfd7209 100644 --- a/docs/traceability.md +++ b/docs/traceability.md @@ -1,22 +1,22 @@ # Code Traceability Matrix -**Generated:** 8/20/2026, 7:28:01 PM +**Generated:** 8/20/2026, 8:14:07 PM ## Summary -- **Total Files Scanned:** 368 -- **Total TRACES Found:** 871 +- **Total Files Scanned:** 370 +- **Total TRACES Found:** 942 - **Requirements Covered:** - - User Requirements (UR): 73 + - User Requirements (UR): 74 - Integration Requirements (IR): 25 - - Development Requirements (DR): 171 + - Development Requirements (DR): 176 - Jellyfin API Requirements (JA): 35 ## Requirements by Type ### User Requirements (UR) ``` -UR-002, UR-003, UR-004, UR-005, UR-006, UR-007, UR-008, UR-009, UR-010, UR-011, UR-012, UR-013, UR-014, UR-015, UR-016, UR-017, UR-018, UR-019, UR-020, UR-021, UR-022, UR-023, UR-024, UR-025, UR-026, UR-027, UR-028, UR-029, UR-030, UR-031, UR-032, UR-033, UR-034, UR-035, UR-036, UR-037, UR-038, UR-039, UR-040, UR-041, UR-042, UR-043, UR-044, UR-045, UR-046, UR-047, UR-048, UR-049, UR-050, UR-051, UR-052, UR-053, UR-054, UR-055, UR-056, UR-057, UR-058, UR-059, UR-060, UR-061, UR-062, UR-063, UR-064, UR-065, UR-066, UR-067, UR-068, UR-069, UR-071, UR-072, UR-073, UR-074, UR-075 +UR-002, UR-003, UR-004, UR-005, UR-006, UR-007, UR-008, UR-009, UR-010, UR-011, UR-012, UR-013, UR-014, UR-015, UR-016, UR-017, UR-018, UR-019, UR-020, UR-021, UR-022, UR-023, UR-024, UR-025, UR-026, UR-027, UR-028, UR-029, UR-030, UR-031, UR-032, UR-033, UR-034, UR-035, UR-036, UR-037, UR-038, UR-039, UR-040, UR-041, UR-042, UR-043, UR-044, UR-045, UR-046, UR-047, UR-048, UR-049, UR-050, UR-051, UR-052, UR-053, UR-054, UR-055, UR-056, UR-057, UR-058, UR-059, UR-060, UR-061, UR-062, UR-063, UR-064, UR-065, UR-066, UR-067, UR-068, UR-069, UR-071, UR-072, UR-073, UR-074, UR-075, UR-076 ``` ### Integration Requirements (IR) @@ -26,7 +26,7 @@ IR-003, IR-004, IR-006, IR-008, IR-009, IR-010, IR-011, IR-012, IR-013, IR-014, ### 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-042, 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, DR-153, DR-154, DR-155, DR-156, DR-157, DR-158, DR-159, DR-160, DR-162, DR-167, DR-168, DR-169, DR-170, DR-171, DR-173, DR-174, DR-175, DR-176, DR-177, DR-178, DR-179, DR-180, DR-181, DR-182, DR-183, DR-185, DR-186, DR-188, DR-189, DR-193, DR-195, DR-196, DR-197, DR-198, DR-201, DR-203 +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-042, 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, DR-153, DR-154, DR-155, DR-156, DR-157, DR-158, DR-159, DR-160, DR-162, DR-167, DR-168, DR-169, DR-170, DR-171, DR-173, DR-174, DR-175, DR-176, DR-177, DR-178, DR-179, DR-180, DR-181, DR-182, DR-183, DR-185, DR-186, DR-188, DR-189, DR-193, DR-195, DR-196, DR-197, DR-198, DR-201, DR-203, DR-204, DR-209, DR-210, DR-211, DR-212 ``` ### Jellyfin API Requirements (JA) @@ -90,11 +90,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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 +- **File:** [`src/lib/stores/auth.ts`](../src/lib/stores/auth.ts#L269) + - **Line:** 269 - **Context:** `Unknown` -- **File:** [`src/lib/stores/auth.ts`](../src/lib/stores/auth.ts#L293) - - **Line:** 293 +- **File:** [`src/lib/stores/auth.ts`](../src/lib/stores/auth.ts#L296) + - **Line:** 296 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/auth.rs`](../src-tauri/src/commands/auth.rs#L3) - **Line:** 3 @@ -113,8 +113,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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#L1467) - - **Line:** 1467 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1493) + - **Line:** 1493 - **Context:** `Unknown` ### IR-011 @@ -143,12 +143,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L8) - - **Line:** 8 - - **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 @@ -160,11 +160,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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 +- **File:** [`src/lib/stores/auth.ts`](../src/lib/stores/auth.ts#L296) + - **Line:** 296 - **Context:** `Unknown` -- **File:** [`src/lib/stores/auth.ts`](../src/lib/stores/auth.ts#L445) - - **Line:** 445 +- **File:** [`src/lib/stores/auth.ts`](../src/lib/stores/auth.ts#L448) + - **Line:** 448 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/auth.rs`](../src-tauri/src/commands/auth.rs#L3) - **Line:** 3 @@ -197,23 +197,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 18 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2428) - - **Line:** 2428 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2520) + - **Line:** 2520 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L3046) - - **Line:** 3046 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L287) - - **Line:** 287 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L382) - - **Line:** 382 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L826) - - **Line:** 826 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L2230) - - **Line:** 2230 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L3138) + - **Line:** 3138 - **Context:** `Unknown` - **File:** [`src/lib/components/player/subtitleTracks.test.ts`](../src/lib/components/player/subtitleTracks.test.ts#L221) - **Line:** 221 @@ -230,26 +218,38 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/components/player/subtitleTracks.ts`](../src/lib/components/player/subtitleTracks.ts#L245) - **Line:** 245 - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L290) + - **Line:** 290 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L385) + - **Line:** 385 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L829) + - **Line:** 829 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L2233) + - **Line:** 2233 + - **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#L223) - **Line:** 223 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L422) - **Line:** 422 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2787) - - **Line:** 2787 +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2848) + - **Line:** 2848 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2844) - - **Line:** 2844 +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2905) + - **Line:** 2905 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2876) - - **Line:** 2876 +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2937) + - **Line:** 2937 - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/media.rs`](../src-tauri/src/player/media.rs#L42) - - **Line:** 42 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1148) - - **Line:** 1148 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1174) + - **Line:** 1174 - **Context:** `Unknown` ### IR-018 @@ -259,12 +259,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L154) - **Line:** 154 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1694) - - **Line:** 1694 - - **Context:** `Unknown` - **File:** [`src-tauri/src/player/backend.rs`](../src-tauri/src/player/backend.rs#L119) - **Line:** 119 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1694) + - **Line:** 1694 + - **Context:** `Unknown` ### IR-019 @@ -276,23 +276,20 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L141) - **Line:** 141 - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/backend.rs`](../src-tauri/src/player/backend.rs#L106) + - **Line:** 106 + - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1490) - **Line:** 1490 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1673) - **Line:** 1673 - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/backend.rs`](../src-tauri/src/player/backend.rs#L106) - - **Line:** 106 - - **Context:** `Unknown` ### IR-020 **Locations:** 8 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/player/mpv_backend.rs`](../src-tauri/src/player/mpv_backend.rs#L658) - **Line:** 658 - **Context:** `Unknown` @@ -308,6 +305,9 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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` @@ -330,14 +330,14 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L4) - **Line:** 4 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1148) - - **Line:** 1148 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1174) + - **Line:** 1174 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2373) - - **Line:** 2373 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2415) + - **Line:** 2415 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2382) - - **Line:** 2382 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2428) + - **Line:** 2428 - **Context:** `Unknown` ### IR-023 @@ -352,11 +352,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 9 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1455) - - **Line:** 1455 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1497) + - **Line:** 1497 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1463) - - **Line:** 1463 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1505) + - **Line:** 1505 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L4) - **Line:** 4 @@ -367,17 +367,17 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L333) - **Line:** 333 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L862) - - **Line:** 862 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L888) + - **Line:** 888 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1179) - - **Line:** 1179 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1205) + - **Line:** 1205 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1206) - - **Line:** 1206 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1232) + - **Line:** 1232 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1384) - - **Line:** 1384 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1410) + - **Line:** 1410 - **Context:** `Unknown` ### IR-025 @@ -422,8 +422,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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#L1421) - - **Line:** 1421 +- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1441) + - **Line:** 1441 - **Context:** `Unknown` ### IR-031 @@ -441,35 +441,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 17 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2636) - - **Line:** 2636 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2728) + - **Line:** 2728 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2693) - - **Line:** 2693 - - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/html5Adapter.ts`](../src/lib/player/adapters/html5Adapter.ts#L19) - - **Line:** 19 - - **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/index.ts`](../src/lib/player/index.ts#L15) - - **Line:** 15 - - **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.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#L186) - - **Line:** 186 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2785) + - **Line:** 2785 - **Context:** `Unknown` - **File:** [`src/lib/stores/player.ts`](../src/lib/stores/player.ts#L8) - **Line:** 8 @@ -477,8 +453,29 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/stores/player.ts`](../src/lib/stores/player.ts#L31) - **Line:** 31 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1) - - **Line:** 1 +- **File:** [`src/lib/services/playerEvents.test.ts`](../src/lib/services/playerEvents.test.ts#L4) + - **Line:** 4 + - **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#L189) + - **Line:** 189 + - **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/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/player/index.ts`](../src/lib/player/index.ts#L15) + - **Line:** 15 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/events.rs`](../src-tauri/src/player/events.rs#L6) - **Line:** 6 @@ -492,13 +489,16 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/player/state.rs`](../src-tauri/src/player/state.rs#L25) - **Line:** 25 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1) + - **Line:** 1 + - **Context:** `Unknown` ### DR-002 **Locations:** 2 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2514) - - **Line:** 2514 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2606) + - **Line:** 2606 - **Context:** `export type PlaybackProgress = { itemId: string;` - **File:** [`src-tauri/src/player/media.rs`](../src-tauri/src/player/media.rs#L60) - **Line:** 60 @@ -508,8 +508,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 2 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2618) - - **Line:** 2618 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2710) + - **Line:** 2710 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/media.rs`](../src-tauri/src/player/media.rs#L142) - **Line:** 142 @@ -522,11 +522,20 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L174) - **Line:** 174 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2478) - - **Line:** 2478 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2570) + - **Line:** 2570 - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L924) - - **Line:** 924 +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L927) + - **Line:** 927 + - **Context:** `Unknown` +- **File:** [`src/lib/services/webviewAudio.ts`](../src/lib/services/webviewAudio.ts#L18) + - **Line:** 18 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playbackCapabilities.ts`](../src/lib/services/playbackCapabilities.ts#L4) + - **Line:** 4 + - **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/index.ts`](../src/lib/player/adapters/index.ts#L20) - **Line:** 20 @@ -537,21 +546,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/player/adapters/nativeAdapter.ts`](../src/lib/player/adapters/nativeAdapter.ts#L57) - **Line:** 57 - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/webviewAudioAdapter.ts`](../src/lib/player/adapters/webviewAudioAdapter.ts#L18) - - **Line:** 18 - - **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-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1907) - - **Line:** 1907 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1924) - - **Line:** 1924 - - **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 {` @@ -567,41 +561,44 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1930) + - **Line:** 1930 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1947) + - **Line:** 1947 + - **Context:** `Unknown` ### DR-005 **Locations:** 13 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2890) - - **Line:** 2890 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2982) + - **Line:** 2982 - **Context:** `export type RemoteSessionStatus = { position: number; duration: number...` -- **File:** [`src/lib/stores/appState.ts`](../src/lib/stores/appState.ts#L2) - - **Line:** 2 - - **Context:** `Unknown` - **File:** [`src/lib/stores/queue.test.ts`](../src/lib/stores/queue.test.ts#L4) - **Line:** 4 - **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 +- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L108) + - **Line:** 108 - **Context:** `Unknown` -- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L110) - - **Line:** 110 +- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L113) + - **Line:** 113 - **Context:** `async function next() {` -- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L115) - - **Line:** 115 +- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L118) + - **Line:** 118 - **Context:** `async function previous() {` -- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L120) - - **Line:** 120 +- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L123) + - **Line:** 123 - **Context:** `async function skipTo(index: number) {` -- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L125) - - **Line:** 125 +- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L128) + - **Line:** 128 - **Context:** `async function toggleShuffle() {` -- **File:** [`src-tauri/src/commands/player/queue.rs`](../src-tauri/src/commands/player/queue.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` - **File:** [`src-tauri/src/player/queue.rs`](../src-tauri/src/player/queue.rs#L8) - **Line:** 8 - **Context:** `Unknown` @@ -611,6 +608,9 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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` ### DR-006 @@ -627,6 +627,15 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **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/library/AlphabetScrollBar.svelte`](../src/lib/components/library/AlphabetScrollBar.svelte#L1) - **Line:** 1 - **Context:** `Unknown` @@ -639,40 +648,28 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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/routes/library/movies/+page.svelte`](../src/routes/library/movies/+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/routes/library/tv/+page.svelte`](../src/routes/library/tv/+page.svelte#L8) - - **Line:** 8 +- **File:** [`src/lib/stores/music.ts`](../src/lib/stores/music.ts#L3) + - **Line:** 3 - **Context:** `Unknown` ### DR-009 **Locations:** 12 file(s) -- **File:** [`src/lib/components/BottomUi.svelte`](../src/lib/components/BottomUi.svelte#L23) - - **Line:** 23 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/AudioPlayer.svelte`](../src/lib/components/player/AudioPlayer.svelte#L1) +- **File:** [`src/lib/components/player/Controls.svelte`](../src/lib/components/player/Controls.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/components/player/Controls.svelte`](../src/lib/components/player/Controls.svelte#L1) +- **File:** [`src/lib/components/player/AudioPlayer.svelte`](../src/lib/components/player/AudioPlayer.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/player/index.ts`](../src/lib/player/index.ts#L15) - - **Line:** 15 +- **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 @@ -683,18 +680,21 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/stores/playerVisibility.test.ts`](../src/lib/stores/playerVisibility.test.ts#L9) - **Line:** 9 - **Context:** `Unknown` -- **File:** [`src/lib/utils/layoutShell.test.ts`](../src/lib/utils/layoutShell.test.ts#L14) - - **Line:** 14 - - **Context:** `Unknown` - **File:** [`src/lib/utils/layoutShell.ts`](../src/lib/utils/layoutShell.ts#L17) - **Line:** 17 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/conversions.rs`](../src-tauri/src/commands/conversions.rs#L3) - - **Line:** 3 +- **File:** [`src/lib/utils/layoutShell.test.ts`](../src/lib/utils/layoutShell.test.ts#L14) + - **Line:** 14 + - **Context:** `Unknown` +- **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 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/conversions.rs`](../src-tauri/src/commands/conversions.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` ### DR-010 @@ -714,17 +714,17 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L656) - **Line:** 656 - **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/stores/library.ts`](../src/lib/stores/library.ts#L2) - - **Line:** 2 +- **File:** [`src/lib/services/deviceId.ts`](../src/lib/services/deviceId.ts#L26) + - **Line:** 26 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/device.rs`](../src-tauri/src/commands/device.rs#L4) - **Line:** 4 @@ -740,16 +740,10 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 7 file(s) -- **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/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L8) - - **Line:** 8 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3) +- **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) @@ -761,10 +755,16 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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 -**Locations:** 5 file(s) +**Locations:** 6 file(s) - **File:** [`src/lib/stores/connectivity.ts`](../src/lib/stores/connectivity.ts#L10) - **Line:** 10 @@ -772,15 +772,18 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L8) - - **Line:** 8 - - **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/online.rs`](../src-tauri/src/repository/online.rs#L1) - **Line:** 1 - **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/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L363) + - **Line:** 363 + - **Context:** `Unknown` ### DR-014 @@ -789,11 +792,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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#L58) - - **Line:** 58 +- **File:** [`src/lib/services/syncService.ts`](../src/lib/services/syncService.ts#L61) + - **Line:** 61 - **Context:** `Unknown` -- **File:** [`src/lib/services/syncService.ts`](../src/lib/services/syncService.ts#L191) - - **Line:** 191 +- **File:** [`src/lib/services/syncService.ts`](../src/lib/services/syncService.ts#L194) + - **Line:** 194 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/sync.rs`](../src-tauri/src/commands/sync.rs#L7) - **Line:** 7 @@ -801,25 +804,22 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, ### DR-015 -**Locations:** 6 file(s) +**Locations:** 5 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/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/lib/utils/validation.test.ts`](../src/lib/utils/validation.test.ts#L4) +- **File:** [`src/lib/services/preload.test.ts`](../src/lib/services/preload.test.ts#L4) - **Line:** 4 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L2400) - - **Line:** 2400 +- **File:** [`src/lib/services/preload.ts`](../src/lib/services/preload.ts#L5) + - **Line:** 5 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L2527) + - **Line:** 2527 - **Context:** `Unknown` ### DR-016 @@ -854,8 +854,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 1 file(s) -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L2400) - - **Line:** 2400 +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L2527) + - **Line:** 2527 - **Context:** `Unknown` ### DR-020 @@ -868,24 +868,24 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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#L115) - - **Line:** 115 +- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L118) + - **Line:** 118 - **Context:** `async function previous() {` -- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L130) - - **Line:** 130 +- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L133) + - **Line:** 133 - **Context:** `async function cycleRepeat() {` -- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L135) - - **Line:** 135 +- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L138) + - **Line:** 138 - **Context:** `async function removeFromQueue(index: number) {` -- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L140) - - **Line:** 140 +- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L143) + - **Line:** 143 - **Context:** `async function moveInQueue(fromIndex: number, toIndex: number) {` -- **File:** [`src-tauri/src/commands/player/queue.rs`](../src-tauri/src/commands/player/queue.rs#L3) - - **Line:** 3 - - **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/commands/player/queue.rs`](../src-tauri/src/commands/player/queue.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` ### DR-021 @@ -900,8 +900,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/services/favorites.ts`](../src/lib/services/favorites.ts#L2) - **Line:** 2 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2245) - - **Line:** 2245 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2275) + - **Line:** 2275 - **Context:** `Unknown` ### DR-022 @@ -922,20 +922,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L174) - **Line:** 174 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2478) - - **Line:** 2478 - - **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#L373) - - **Line:** 373 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L2197) - - **Line:** 2197 - - **Context:** `function toggleSubtitleMenu() {` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L2230) - - **Line:** 2230 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2570) + - **Line:** 2570 - **Context:** `Unknown` - **File:** [`src/lib/components/player/subtitleTracks.test.ts`](../src/lib/components/player/subtitleTracks.test.ts#L18) - **Line:** 18 @@ -943,24 +931,36 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/components/player/subtitleTracks.ts`](../src/lib/components/player/subtitleTracks.ts#L20) - **Line:** 20 - **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#L376) + - **Line:** 376 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L2200) + - **Line:** 2200 + - **Context:** `function toggleSubtitleMenu() {` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L2233) + - **Line:** 2233 - **Context:** `Unknown` - **File:** [`src/lib/player/adapters/types.ts`](../src/lib/player/adapters/types.ts#L15) - **Line:** 15 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1694) - - **Line:** 1694 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1907) - - **Line:** 1907 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1924) - - **Line:** 1924 +- **File:** [`src/lib/player/adapters/html5Adapter.ts`](../src/lib/player/adapters/html5Adapter.ts#L19) + - **Line:** 19 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/backend.rs`](../src-tauri/src/player/backend.rs#L119) - **Line:** 119 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1694) + - **Line:** 1694 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1930) + - **Line:** 1930 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1947) + - **Line:** 1947 + - **Context:** `Unknown` ### DR-024 @@ -975,20 +975,23 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L174) - **Line:** 174 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2478) - - **Line:** 2478 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2570) + - **Line:** 2570 - **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#L287) - - **Line:** 287 +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L290) + - **Line:** 290 + - **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/player/adapters/types.ts`](../src/lib/player/adapters/types.ts#L15) - - **Line:** 15 +- **File:** [`src-tauri/src/player/backend.rs`](../src-tauri/src/player/backend.rs#L106) + - **Line:** 106 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1490) - **Line:** 1490 @@ -996,18 +999,15 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1673) - **Line:** 1673 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1907) - - **Line:** 1907 +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1930) + - **Line:** 1930 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1924) - - **Line:** 1924 +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1947) + - **Line:** 1947 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/storage/series_prefs.rs`](../src-tauri/src/commands/storage/series_prefs.rs#L3) - **Line:** 3 - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/backend.rs`](../src-tauri/src/player/backend.rs#L106) - - **Line:** 106 - - **Context:** `Unknown` ### DR-025 @@ -1021,18 +1021,18 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 6 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1455) - - **Line:** 1455 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1497) + - **Line:** 1497 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1463) - - **Line:** 1463 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/home.ts`](../src/lib/stores/home.ts#L2) - - **Line:** 2 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1505) + - **Line:** 1505 - **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-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L307) - **Line:** 307 - **Context:** `Unknown` @@ -1055,14 +1055,44 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 20 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2693) - - **Line:** 2693 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2785) + - **Line:** 2785 - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L924) - - **Line:** 924 +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L927) + - **Line:** 927 - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/html5Adapter.ts`](../src/lib/player/adapters/html5Adapter.ts#L19) - - **Line:** 19 +- **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 + - **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#L27) + - **Line:** 27 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playbackReporting.ts`](../src/lib/services/playbackReporting.ts#L70) + - **Line:** 70 + - **Context:** `* This function is therefore the *local* half only, which is what its ...` +- **File:** [`src/lib/services/playbackReporting.ts`](../src/lib/services/playbackReporting.ts#L101) + - **Line:** 101 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playbackReporting.ts`](../src/lib/services/playbackReporting.ts#L134) + - **Line:** 134 + - **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#L159) + - **Line:** 159 + - **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 @@ -1073,41 +1103,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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/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#L24) - - **Line:** 24 - - **Context:** `Unknown` -- **File:** [`src/lib/services/playbackReporting.ts`](../src/lib/services/playbackReporting.ts#L67) - - **Line:** 67 - - **Context:** `* This function is therefore the *local* half only, which is what its ...` -- **File:** [`src/lib/services/playbackReporting.ts`](../src/lib/services/playbackReporting.ts#L98) - - **Line:** 98 - - **Context:** `Unknown` -- **File:** [`src/lib/services/playbackReporting.ts`](../src/lib/services/playbackReporting.ts#L131) - - **Line:** 131 - - **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/utils/duration.test.ts`](../src/lib/utils/duration.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/playback_reporting.rs`](../src-tauri/src/commands/playback_reporting.rs#L3) - - **Line:** 3 +- **File:** [`src/lib/player/adapters/html5Adapter.ts`](../src/lib/player/adapters/html5Adapter.ts#L19) + - **Line:** 19 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/events.rs`](../src-tauri/src/player/events.rs#L6) - **Line:** 6 @@ -1115,34 +1112,28 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/player/events.rs`](../src-tauri/src/player/events.rs#L23) - **Line:** 23 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/playback_reporting.rs`](../src-tauri/src/commands/playback_reporting.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` ### DR-029 **Locations:** 10 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2950) - - **Line:** 2950 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L3042) + - **Line:** 3042 - **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/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/stores/sleepTimer.ts`](../src/lib/stores/sleepTimer.ts#L10) - **Line:** 10 - **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/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#L426) - - **Line:** 426 +- **File:** [`src/lib/services/playerEvents.ts`](../src/lib/services/playerEvents.ts#L269) + - **Line:** 269 + - **Context:** `function handleMediaLoaded(duration: number): void {` +- **File:** [`src/lib/services/playerEvents.ts`](../src/lib/services/playerEvents.ts#L329) + - **Line:** 329 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/sleep_timer.rs`](../src-tauri/src/player/sleep_timer.rs#L4) - **Line:** 4 @@ -1150,25 +1141,28 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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#L426) + - **Line:** 426 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/timers.rs`](../src-tauri/src/commands/player/timers.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` ### DR-030 **Locations:** 18 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L214) - - **Line:** 214 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2080) - - **Line:** 2080 - - **Context:** `Unknown` - **File:** [`src/routes/settings/+page.svelte`](../src/routes/settings/+page.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/settings.rs`](../src-tauri/src/commands/player/settings.rs#L3) - - **Line:** 3 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L214) + - **Line:** 214 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/settings.rs`](../src-tauri/src/commands/player/settings.rs#L50) - - **Line:** 50 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2122) + - **Line:** 2122 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/android/mod.rs`](../src-tauri/src/player/android/mod.rs#L579) - **Line:** 579 @@ -1176,6 +1170,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/player/android/mod.rs`](../src-tauri/src/player/android/mod.rs#L617) - **Line:** 617 - **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#L50) + - **Line:** 50 + - **Context:** `Unknown` - **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L1) - **Line:** 1 - **Context:** `Unknown` @@ -1188,26 +1188,26 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L140) - **Line:** 140 - **Context:** `pub fn with_crossfade_clamped(mut self) -> Self {` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L334) - - **Line:** 334 +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L380) + - **Line:** 380 - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L351) - - **Line:** 351 +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L397) + - **Line:** 397 - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L375) - - **Line:** 375 +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L421) + - **Line:** 421 - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L411) - - **Line:** 411 +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L457) + - **Line:** 457 - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L440) - - **Line:** 440 +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L486) + - **Line:** 486 - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L467) - - **Line:** 467 +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L513) + - **Line:** 513 - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L478) - - **Line:** 478 +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L524) + - **Line:** 524 - **Context:** `Unknown` ### DR-032 @@ -1244,35 +1244,32 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 7 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/player/android/mod.rs`](../src-tauri/src/player/android/mod.rs#L579) - **Line:** 579 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/android/mod.rs`](../src-tauri/src/player/android/mod.rs#L617) - **Line:** 617 - **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#L334) - - **Line:** 334 +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L380) + - **Line:** 380 - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L351) - - **Line:** 351 +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L397) + - **Line:** 397 - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L375) - - **Line:** 375 +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L421) + - **Line:** 421 - **Context:** `Unknown` ### DR-036 **Locations:** 12 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/player/android/mod.rs`](../src-tauri/src/player/android/mod.rs#L579) - **Line:** 579 - **Context:** `Unknown` @@ -1294,50 +1291,53 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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#L334) - - **Line:** 334 +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L380) + - **Line:** 380 - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L351) - - **Line:** 351 +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L397) + - **Line:** 397 - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L375) - - **Line:** 375 +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L421) + - **Line:** 421 - **Context:** `Unknown` ### DR-037 **Locations:** 12 file(s) -- **File:** [`src/lib/components/sessions/CastButton.svelte`](../src/lib/components/sessions/CastButton.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/SessionCard.svelte`](../src/lib/components/sessions/SessionCard.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/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) - - **Line:** 12 +- **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.test.ts`](../src/lib/stores/playbackMode.test.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/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` @@ -1352,8 +1352,17 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 11 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1455) - - **Line:** 1455 +- **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/api/bindings.ts`](../src/lib/api/bindings.ts#L1497) + - **Line:** 1497 - **Context:** `Unknown` - **File:** [`src/lib/components/home/HeroBanner.svelte`](../src/lib/components/home/HeroBanner.svelte#L1) - **Line:** 1 @@ -1364,24 +1373,15 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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/music.ts`](../src/lib/stores/music.ts#L3) + - **Line:** 3 + - **Context:** `Unknown` - **File:** [`src/lib/utils/heroMix.ts`](../src/lib/utils/heroMix.ts#L8) - **Line:** 8 - **Context:** `Unknown` -- **File:** [`src/routes/library/movies/+page.svelte`](../src/routes/library/movies/+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/routes/library/tv/+page.svelte`](../src/routes/library/tv/+page.svelte#L8) - - **Line:** 8 - - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L307) - **Line:** 307 - **Context:** `Unknown` @@ -1390,6 +1390,15 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **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) - **Line:** 1 - **Context:** `Unknown` @@ -1399,20 +1408,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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/routes/library/movies/+page.svelte`](../src/routes/library/movies/+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/routes/library/tv/+page.svelte`](../src/routes/library/tv/+page.svelte#L8) - - **Line:** 8 +- **File:** [`src/lib/stores/music.ts`](../src/lib/stores/music.ts#L3) + - **Line:** 3 - **Context:** `Unknown` ### DR-040 @@ -1444,18 +1444,18 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 4 file(s) -- **File:** [`src/lib/components/library/LibraryGrid.svelte`](../src/lib/components/library/LibraryGrid.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` - **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/library/LibraryGrid.svelte`](../src/lib/components/library/LibraryGrid.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` ### DR-043 @@ -1488,38 +1488,32 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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#L2693) - - **Line:** 2693 - - **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) - - **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.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#L369) - - **Line:** 369 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2785) + - **Line:** 2785 - **Context:** `Unknown` - **File:** [`src/lib/stores/nextEpisode.ts`](../src/lib/stores/nextEpisode.ts#L9) - **Line:** 9 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/timers.rs`](../src-tauri/src/commands/player/timers.rs#L3) - - **Line:** 3 +- **File:** [`src/lib/services/playerEvents.test.ts`](../src/lib/services/playerEvents.test.ts#L4) + - **Line:** 4 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/timers.rs`](../src-tauri/src/commands/player/timers.rs#L145) - - **Line:** 145 +- **File:** [`src/lib/services/playbackReporting.test.ts`](../src/lib/services/playbackReporting.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/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/lib/services/playerEvents.ts`](../src/lib/services/playerEvents.ts#L269) + - **Line:** 269 + - **Context:** `function handleMediaLoaded(duration: number): void {` +- **File:** [`src/lib/services/playerEvents.ts`](../src/lib/services/playerEvents.ts#L374) + - **Line:** 374 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/autoplay.rs`](../src-tauri/src/player/autoplay.rs#L2) - **Line:** 2 @@ -1530,22 +1524,28 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/player/events.rs`](../src-tauri/src/player/events.rs#L23) - **Line:** 23 - **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` ### DR-048 **Locations:** 6 file(s) -- **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 +- **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/routes/settings/+page.svelte`](../src/routes/settings/+page.svelte#L1) - - **Line:** 1 +- **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#L374) + - **Line:** 374 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/autoplay.rs`](../src-tauri/src/player/autoplay.rs#L2) - **Line:** 2 @@ -1597,9 +1597,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L308) - **Line:** 308 - **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.test.ts`](../src/lib/components/player/backgroundAudioHandoff.test.ts#L12) - **Line:** 12 - **Context:** `Unknown` @@ -1609,18 +1606,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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/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#L730) - - **Line:** 730 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L843) - - **Line:** 843 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/timers.rs`](../src-tauri/src/commands/player/timers.rs#L145) - - **Line:** 145 - - **Context:** `Unknown` - **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L259) - **Line:** 259 - **Context:** `Unknown` @@ -1648,6 +1639,15 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1874) - **Line:** 1874 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/timers.rs`](../src-tauri/src/commands/player/timers.rs#L145) + - **Line:** 145 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L730) + - **Line:** 730 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L843) + - **Line:** 843 + - **Context:** `Unknown` ### DR-053 @@ -1661,12 +1661,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 2 file(s) -- **File:** [`src-tauri/src/auth/mod.rs`](../src-tauri/src/auth/mod.rs#L139) - - **Line:** 139 - - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/auth.rs`](../src-tauri/src/commands/auth.rs#L3) - **Line:** 3 - **Context:** `Unknown` +- **File:** [`src-tauri/src/auth/mod.rs`](../src-tauri/src/auth/mod.rs#L139) + - **Line:** 139 + - **Context:** `Unknown` ### DR-055 @@ -1737,6 +1737,15 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 6 file(s) +- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **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` @@ -1746,34 +1755,31 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](../src/lib/components/library/EpisodeFocusView.svelte#L360) - **Line:** 360 - **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/episodeStrip.ts`](../src/lib/components/library/episodeStrip.ts#L8) - - **Line:** 8 - - **Context:** `Unknown` -- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` ### DR-063 **Locations:** 17 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1538) - - **Line:** 1538 +- **File:** [`src/routes/library/+page.svelte`](../src/routes/library/+page.svelte#L19) + - **Line:** 19 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2925) - - **Line:** 2925 +- **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#L1580) + - **Line:** 1580 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L3017) + - **Line:** 3017 - **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 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/layoutShell.ts`](../src/lib/utils/layoutShell.ts#L104) - - **Line:** 104 +- **File:** [`src/lib/stores/library.ts`](../src/lib/stores/library.ts#L239) + - **Line:** 239 - **Context:** `Unknown` - **File:** [`src/lib/utils/searchScope.ts`](../src/lib/utils/searchScope.ts#L9) - **Line:** 9 @@ -1790,14 +1796,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/utils/searchScope.ts`](../src/lib/utils/searchScope.ts#L125) - **Line:** 125 - **Context:** `Unknown` -- **File:** [`src/routes/library/+page.svelte`](../src/routes/library/+page.svelte#L19) - - **Line:** 19 - - **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 +- **File:** [`src/lib/utils/layoutShell.ts`](../src/lib/utils/layoutShell.ts#L104) + - **Line:** 104 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L494) - **Line:** 494 @@ -1816,32 +1816,32 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 5 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/SearchScopeChips.svelte`](../src/lib/components/search/SearchScopeChips.svelte#L7) - - **Line:** 7 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/searchScope.ts`](../src/lib/utils/searchScope.ts#L125) - - **Line:** 125 - - **Context:** `Unknown` - **File:** [`src/routes/search/+page.svelte`](../src/routes/search/+page.svelte#L34) - **Line:** 34 - **Context:** `Unknown` - **File:** [`src/routes/search/+page.svelte`](../src/routes/search/+page.svelte#L62) - **Line:** 62 - **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 **Locations:** 2 file(s) -- **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/lib/stores/library.ts`](../src/lib/stores/library.ts#L239) + - **Line:** 239 + - **Context:** `Unknown` ### DR-066 @@ -1850,12 +1850,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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` +- **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` @@ -1905,27 +1905,27 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 17 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1132) - - **Line:** 1132 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1174) + - **Line:** 1174 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1143) - - **Line:** 1143 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1185) + - **Line:** 1185 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2304) - - **Line:** 2304 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2396) + - **Line:** 2396 - **Context:** `export type MergedMediaItem = { id: string; title: string; artist: str...` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2313) - - **Line:** 2313 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2405) + - **Line:** 2405 - **Context:** `export type NetworkStateWrapperArg = { networkType: NetworkType; unmet...` +- **File:** [`src/lib/stores/downloads.ts`](../src/lib/stores/downloads.ts#L84) + - **Line:** 84 + - **Context:** `Unknown` - **File:** [`src/lib/services/networkType.test.ts`](../src/lib/services/networkType.test.ts#L4) - **Line:** 4 - **Context:** `Unknown` - **File:** [`src/lib/services/networkType.ts`](../src/lib/services/networkType.ts#L10) - **Line:** 10 - **Context:** `Unknown` -- **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#L31) - **Line:** 31 - **Context:** `pub struct DownloadManagerWrapper(pub Mutex);` @@ -1938,14 +1938,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L96) - **Line:** 96 - **Context:** `pub struct NetworkStateWrapperArg {` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L1646) - - **Line:** 1646 - - **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/events.rs`](../src-tauri/src/download/events.rs#L47) - - **Line:** 47 +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L1744) + - **Line:** 1744 - **Context:** `Unknown` - **File:** [`src-tauri/src/download/network.rs`](../src-tauri/src/download/network.rs#L22) - **Line:** 22 @@ -1956,6 +1950,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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` ### DR-075 @@ -1980,12 +1980,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 2 file(s) -- **File:** [`src/lib/stores/viewMode.test.ts`](../src/lib/stores/viewMode.test.ts#L7) - - **Line:** 7 - - **Context:** `Unknown` - **File:** [`src/routes/settings/+page.svelte`](../src/routes/settings/+page.svelte#L1) - **Line:** 1 - **Context:** `Unknown` +- **File:** [`src/lib/stores/viewMode.test.ts`](../src/lib/stores/viewMode.test.ts#L7) + - **Line:** 7 + - **Context:** `Unknown` ### DR-078 @@ -2009,8 +2009,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L43) - **Line:** 43 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3019) - - **Line:** 3019 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3026) + - **Line:** 3026 - **Context:** `Unknown` ### DR-079 @@ -2020,47 +2020,50 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/stores/connectivity.ts`](../src/lib/stores/connectivity.ts#L10) - **Line:** 10 - **Context:** `Unknown` -- **File:** [`src/lib/stores/connectivity.ts`](../src/lib/stores/connectivity.ts#L245) - - **Line:** 245 +- **File:** [`src/lib/stores/connectivity.ts`](../src/lib/stores/connectivity.ts#L248) + - **Line:** 248 - **Context:** `Unknown` ### DR-080 **Locations:** 2 file(s) -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L8) - - **Line:** 8 - - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L43) - **Line:** 43 - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L8) + - **Line:** 8 + - **Context:** `Unknown` ### DR-081 **Locations:** 2 file(s) -- **File:** [`src/lib/components/downloads/DownloadedBrowse.svelte`](../src/lib/components/downloads/DownloadedBrowse.svelte#L10) - - **Line:** 10 - - **Context:** `Unknown` - **File:** [`src/routes/downloads/+page.svelte`](../src/routes/downloads/+page.svelte#L14) - **Line:** 14 - **Context:** `Unknown` +- **File:** [`src/lib/components/downloads/DownloadedBrowse.svelte`](../src/lib/components/downloads/DownloadedBrowse.svelte#L10) + - **Line:** 10 + - **Context:** `Unknown` ### DR-082 **Locations:** 21 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1413) - - **Line:** 1413 +- **File:** [`src/routes/downloads/+page.svelte`](../src/routes/downloads/+page.svelte#L14) + - **Line:** 14 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1421) - - **Line:** 1421 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1455) + - **Line:** 1455 - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L97) - - **Line:** 97 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1463) + - **Line:** 1463 - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L105) - - **Line:** 105 +- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L100) + - **Line:** 100 + - **Context:** `Unknown` +- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L108) + - **Line:** 108 - **Context:** `Unknown` - **File:** [`src/lib/components/downloads/DownloadedBrowse.svelte`](../src/lib/components/downloads/DownloadedBrowse.svelte#L10) - **Line:** 10 @@ -2068,21 +2071,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/services/downloadedCatalog.ts`](../src/lib/services/downloadedCatalog.ts#L12) - **Line:** 12 - **Context:** `Unknown` -- **File:** [`src/routes/downloads/+page.svelte`](../src/routes/downloads/+page.svelte#L14) - - **Line:** 14 - - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L222) - **Line:** 222 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L237) - **Line:** 237 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L232) - - **Line:** 232 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L243) - - **Line:** 243 - - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L848) - **Line:** 848 - **Context:** `Unknown` @@ -2095,146 +2089,152 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L990) - **Line:** 990 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3698) - - **Line:** 3698 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3705) + - **Line:** 3705 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3720) - - **Line:** 3720 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3727) + - **Line:** 3727 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3830) - - **Line:** 3830 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3837) + - **Line:** 3837 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3876) - - **Line:** 3876 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3883) + - **Line:** 3883 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3897) - - **Line:** 3897 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3904) + - **Line:** 3904 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3916) - - **Line:** 3916 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3923) + - **Line:** 3923 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L256) + - **Line:** 256 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L271) + - **Line:** 271 - **Context:** `Unknown` ### DR-083 **Locations:** 19 file(s) +- **File:** [`src/routes/downloads/+page.svelte`](../src/routes/downloads/+page.svelte#L14) + - **Line:** 14 + - **Context:** `Unknown` - **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L973) - **Line:** 973 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1421) - - **Line:** 1421 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1463) + - **Line:** 1463 - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L105) - - **Line:** 105 +- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L108) + - **Line:** 108 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L29) + - **Line:** 29 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L34) + - **Line:** 34 - **Context:** `Unknown` - **File:** [`src/lib/components/downloads/DownloadedBrowse.svelte`](../src/lib/components/downloads/DownloadedBrowse.svelte#L10) - **Line:** 10 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L26) - - **Line:** 26 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L31) - - **Line:** 31 - - **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/routes/downloads/+page.svelte`](../src/routes/downloads/+page.svelte#L14) - - **Line:** 14 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L2298) - - **Line:** 2298 +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L2425) + - **Line:** 2425 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L237) - **Line:** 237 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L232) - - **Line:** 232 - - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L857) - **Line:** 857 - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L884) - **Line:** 884 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3698) - - **Line:** 3698 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3705) + - **Line:** 3705 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3720) - - **Line:** 3720 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3727) + - **Line:** 3727 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3830) - - **Line:** 3830 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3837) + - **Line:** 3837 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3876) - - **Line:** 3876 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3883) + - **Line:** 3883 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3977) - - **Line:** 3977 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3984) + - **Line:** 3984 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L256) + - **Line:** 256 - **Context:** `Unknown` ### DR-084 **Locations:** 2 file(s) -- **File:** [`src/lib/stores/downloads.test.ts`](../src/lib/stores/downloads.test.ts#L316) - - **Line:** 316 - - **Context:** `Unknown` - **File:** [`src/routes/downloads/+page.svelte`](../src/routes/downloads/+page.svelte#L14) - **Line:** 14 - **Context:** `Unknown` +- **File:** [`src/lib/stores/downloads.test.ts`](../src/lib/stores/downloads.test.ts#L316) + - **Line:** 316 + - **Context:** `Unknown` ### DR-085 **Locations:** 15 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1429) - - **Line:** 1429 +- **File:** [`src/routes/downloads/+page.svelte`](../src/routes/downloads/+page.svelte#L14) + - **Line:** 14 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2005) - - **Line:** 2005 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1471) + - **Line:** 1471 - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L113) - - **Line:** 113 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2047) + - **Line:** 2047 - **Context:** `Unknown` -- **File:** [`src/lib/components/downloads/DownloadedBrowse.svelte`](../src/lib/components/downloads/DownloadedBrowse.svelte#L10) - - **Line:** 10 +- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L116) + - **Line:** 116 - **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 +- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L23) + - **Line:** 23 - **Context:** `Unknown` -- **File:** [`src/lib/services/downloadedCatalog.ts`](../src/lib/services/downloadedCatalog.ts#L12) - - **Line:** 12 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/formatBytes.test.ts`](../src/lib/utils/formatBytes.test.ts#L4) - - **Line:** 4 +- **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/routes/downloads/+page.svelte`](../src/routes/downloads/+page.svelte#L14) - - **Line:** 14 +- **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-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L254) - **Line:** 254 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L250) - - **Line:** 250 +- **File:** [`src-tauri/src/repository/types.rs`](../src-tauri/src/repository/types.rs#L303) + - **Line:** 303 - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L1036) - **Line:** 1036 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3938) - - **Line:** 3938 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3945) + - **Line:** 3945 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/types.rs`](../src-tauri/src/repository/types.rs#L303) - - **Line:** 303 +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L278) + - **Line:** 278 - **Context:** `Unknown` ### DR-086 @@ -2249,26 +2249,26 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 3 file(s) -- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L39) - - **Line:** 39 +- **File:** [`src/routes/+page.svelte`](../src/routes/+page.svelte#L74) + - **Line:** 74 - **Context:** `Unknown` -- **File:** [`src/routes/+page.svelte`](../src/routes/+page.svelte#L71) - - **Line:** 71 +- **File:** [`src/routes/+page.svelte`](../src/routes/+page.svelte#L98) + - **Line:** 98 - **Context:** `Unknown` -- **File:** [`src/routes/+page.svelte`](../src/routes/+page.svelte#L95) - - **Line:** 95 +- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L42) + - **Line:** 42 - **Context:** `Unknown` ### DR-088 **Locations:** 2 file(s) -- **File:** [`src/lib/services/skipReporting.test.ts`](../src/lib/services/skipReporting.test.ts#L9) - - **Line:** 9 - - **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` ### DR-089 @@ -2310,12 +2310,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 2 file(s) -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1) - - **Line:** 1 - - **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.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` ### DR-093 @@ -2369,14 +2369,14 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 9 file(s) -- **File:** [`src/lib/player/index.ts`](../src/lib/player/index.ts#L15) - - **Line:** 15 +- **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/services/playerEvents.ts`](../src/lib/services/playerEvents.ts#L8) - - **Line:** 8 +- **File:** [`src/lib/player/index.ts`](../src/lib/player/index.ts#L15) + - **Line:** 15 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L270) - **Line:** 270 @@ -2401,29 +2401,29 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 4 file(s) -- **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 +- **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/tapGestures.ts`](../src/lib/components/player/tapGestures.ts#L21) - - **Line:** 21 +- **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.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1) + - **Line:** 1 - **Context:** `Unknown` ### DR-099 **Locations:** 2 file(s) -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1) - - **Line:** 1 - - **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` ### DR-100 @@ -2440,20 +2440,20 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 8 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1476) - - **Line:** 1476 +- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L191) + - **Line:** 191 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1489) - - **Line:** 1489 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1518) + - **Line:** 1518 - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L144) - - **Line:** 144 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1531) + - **Line:** 1531 - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L154) - - **Line:** 154 +- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L147) + - **Line:** 147 - **Context:** `Unknown` -- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L188) - - **Line:** 188 +- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L157) + - **Line:** 157 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L356) - **Line:** 356 @@ -2469,50 +2469,50 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 7 file(s) +- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L191) + - **Line:** 191 + - **Context:** `Unknown` +- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L312) + - **Line:** 312 + - **Context:** `async function handlePlayAll() {` +- **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/EpisodeRow.svelte`](../src/lib/components/library/EpisodeRow.svelte#L17) - **Line:** 17 - **Context:** `Unknown` - **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/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L188) - - **Line:** 188 - - **Context:** `Unknown` -- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L309) - - **Line:** 309 - - **Context:** `async function handlePlayAll() {` ### DR-103 **Locations:** 6 file(s) -- **File:** [`src/lib/components/library/SeasonSection.svelte`](../src/lib/components/library/SeasonSection.svelte#L1) +- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L1) - **Line:** 1 - **Context:** `Unknown` +- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L118) + - **Line:** 118 + - **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/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/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L1) +- **File:** [`src/lib/components/library/SeasonSection.svelte`](../src/lib/components/library/SeasonSection.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L115) - - **Line:** 115 - - **Context:** `Unknown` -- **File:** [`src/routes/library/tv/+page.svelte`](../src/routes/library/tv/+page.svelte#L8) - - **Line:** 8 - - **Context:** `Unknown` ### DR-104 @@ -2526,61 +2526,61 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 10 file(s) -- **File:** [`src/lib/components/library/GenericGenreBrowser.svelte`](../src/lib/components/library/GenericGenreBrowser.svelte#L42) - - **Line:** 42 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](../src/lib/components/library/GenericMediaListPage.svelte#L48) - - **Line:** 48 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/LibraryViewTabs.svelte`](../src/lib/components/library/LibraryViewTabs.svelte#L8) - - **Line:** 8 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/libraryView.ts`](../src/lib/utils/libraryView.ts#L9) - - **Line:** 9 - - **Context:** `Unknown` -- **File:** [`src/routes/library/movies/+page.svelte`](../src/routes/library/movies/+page.svelte#L8) - - **Line:** 8 - - **Context:** `Unknown` -- **File:** [`src/routes/library/movies/all/+page.ts`](../src/routes/library/movies/all/+page.ts#L6) +- **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` -- **File:** [`src/routes/library/shows/genres/+page.ts`](../src/routes/library/shows/genres/+page.ts#L6) +- **File:** [`src/routes/library/movies/all/+page.ts`](../src/routes/library/movies/all/+page.ts#L6) + - **Line:** 6 + - **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/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/routes/library/tv/shows/+page.ts`](../src/routes/library/tv/shows/+page.ts#L6) - - **Line:** 6 +- **File:** [`src/lib/components/library/LibraryViewTabs.svelte`](../src/lib/components/library/LibraryViewTabs.svelte#L8) + - **Line:** 8 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/GenericGenreBrowser.svelte`](../src/lib/components/library/GenericGenreBrowser.svelte#L45) + - **Line:** 45 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](../src/lib/components/library/GenericMediaListPage.svelte#L50) + - **Line:** 50 + - **Context:** `Unknown` +- **File:** [`src/lib/utils/libraryView.ts`](../src/lib/utils/libraryView.ts#L9) + - **Line:** 9 - **Context:** `Unknown` ### DR-106 **Locations:** 7 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1503) - - **Line:** 1503 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1545) + - **Line:** 1545 - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L165) - - **Line:** 165 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/ClearHistoryButton.svelte`](../src/lib/components/library/ClearHistoryButton.svelte#L9) - - **Line:** 9 +- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L168) + - **Line:** 168 - **Context:** `Unknown` - **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-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L399) - **Line:** 399 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L245) - - **Line:** 245 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2321) + - **Line:** 2321 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2287) - - **Line:** 2287 +- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L247) + - **Line:** 247 - **Context:** `Unknown` ### DR-107 @@ -2601,17 +2601,17 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L62) - **Line:** 62 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L2541) - - **Line:** 2541 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L2548) + - **Line:** 2548 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L2581) - - **Line:** 2581 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L2588) + - **Line:** 2588 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3299) - - **Line:** 3299 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3306) + - **Line:** 3306 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3355) - - **Line:** 3355 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3362) + - **Line:** 3362 - **Context:** `Unknown` ### DR-109 @@ -2633,22 +2633,22 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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#L1421) - - **Line:** 1421 +- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1441) + - **Line:** 1441 - **Context:** `Unknown` ### DR-110 **Locations:** 8 file(s) -- **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/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L63) - - **Line:** 63 +- **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 @@ -2656,74 +2656,74 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L501) - **Line:** 501 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3137) - - **Line:** 3137 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3144) + - **Line:** 3144 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3246) - - **Line:** 3246 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3253) + - **Line:** 3253 - **Context:** `Unknown` -- **File:** [`src-tauri/src/storage/schema.rs`](../src-tauri/src/storage/schema.rs#L757) - - **Line:** 757 +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L64) + - **Line:** 64 - **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/commands/storage/people.rs`](../src-tauri/src/commands/storage/people.rs#L56) - - **Line:** 56 +- **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#L3080) - - **Line:** 3080 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/storage/schema.rs`](../src-tauri/src/storage/schema.rs#L769) - - **Line:** 769 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3087) + - **Line:** 3087 - **Context:** `Unknown` ### DR-112 **Locations:** 6 file(s) +- **File:** [`src/routes/+layout.svelte`](../src/routes/+layout.svelte#L264) + - **Line:** 264 + - **Context:** `Unknown` - **File:** [`src/lib/components/BottomUi.svelte`](../src/lib/components/BottomUi.svelte#L23) - **Line:** 23 - **Context:** `Unknown` -- **File:** [`src/lib/utils/layoutShell.test.ts`](../src/lib/utils/layoutShell.test.ts#L158) - - **Line:** 158 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/layoutShell.ts`](../src/lib/utils/layoutShell.ts#L129) - - **Line:** 129 - - **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 + - **Context:** `Unknown` - **File:** [`src/lib/utils/safeArea.ts`](../src/lib/utils/safeArea.ts#L4) - **Line:** 4 - **Context:** `Unknown` -- **File:** [`src/routes/+layout.svelte`](../src/routes/+layout.svelte#L261) - - **Line:** 261 - - **Context:** `Unknown` ### DR-113 **Locations:** 4 file(s) -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L767) - - **Line:** 767 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L771) + - **Line:** 771 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1032) - - **Line:** 1032 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1058) + - **Line:** 1058 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3598) - - **Line:** 3598 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3728) + - **Line:** 3728 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3629) - - **Line:** 3629 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3759) + - **Line:** 3759 - **Context:** `Unknown` ### DR-114 @@ -2733,19 +2733,19 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L688) - **Line:** 688 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4491) - - **Line:** 4491 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4605) + - **Line:** 4605 - **Context:** `Unknown` ### DR-115 **Locations:** 16 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1647) - - **Line:** 1647 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1689) + - **Line:** 1689 - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L330) - - **Line:** 330 +- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L333) + - **Line:** 333 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L898) - **Line:** 898 @@ -2753,96 +2753,90 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L935) - **Line:** 935 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L173) - - **Line:** 173 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L2014) + - **Line:** 2014 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L188) - - **Line:** 188 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4370) + - **Line:** 4370 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L969) - - **Line:** 969 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4405) + - **Line:** 4405 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L233) - - **Line:** 233 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L933) + - **Line:** 933 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L2007) - - **Line:** 2007 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2251) + - **Line:** 2251 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4363) - - **Line:** 4363 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3510) + - **Line:** 3510 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4398) - - **Line:** 4398 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3532) + - **Line:** 3532 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L907) - - **Line:** 907 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3541) + - **Line:** 3541 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2221) - - **Line:** 2221 +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L196) + - **Line:** 196 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3447) - - **Line:** 3447 +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L212) + - **Line:** 212 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3469) - - **Line:** 3469 +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L1032) + - **Line:** 1032 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3478) - - **Line:** 3478 +- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L235) + - **Line:** 235 - **Context:** `Unknown` ### DR-116 **Locations:** 11 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2105) - - **Line:** 2105 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2175) + - **Line:** 2175 - **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` -- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](../src/lib/components/library/GenericMediaListPage.svelte#L151) - - **Line:** 151 +- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](../src/lib/components/library/GenericMediaListPage.svelte#L154) + - **Line:** 154 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](../src/lib/components/library/GenericMediaListPage.svelte#L167) - - **Line:** 167 +- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](../src/lib/components/library/GenericMediaListPage.svelte#L170) + - **Line:** 170 - **Context:** `function handleSearch(query: string) {` -- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](../src/lib/components/library/GenericMediaListPage.svelte#L288) - - **Line:** 288 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L1267) - - **Line:** 1267 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4443) - - **Line:** 4443 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L799) - - **Line:** 799 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L836) - - **Line:** 836 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3500) - - **Line:** 3500 +- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](../src/lib/components/library/GenericMediaListPage.svelte#L291) + - **Line:** 291 - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/types.rs`](../src-tauri/src/repository/types.rs#L342) - **Line:** 342 - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L1269) + - **Line:** 1269 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4450) + - **Line:** 4450 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L803) + - **Line:** 803 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L862) + - **Line:** 862 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3563) + - **Line:** 3563 + - **Context:** `Unknown` ### DR-117 **Locations:** 8 file(s) -- **File:** [`src/lib/stores/favorites.test.ts`](../src/lib/stores/favorites.test.ts#L1) - - **Line:** 1 +- **File:** [`src/routes/library/favorites/+page.svelte`](../src/routes/library/favorites/+page.svelte#L9) + - **Line:** 9 - **Context:** `Unknown` -- **File:** [`src/lib/stores/favorites.ts`](../src/lib/stores/favorites.ts#L79) - - **Line:** 79 - - **Context:** `Unknown` -- **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 +- **File:** [`src/routes/library/favorites/+page.svelte`](../src/routes/library/favorites/+page.svelte#L44) + - **Line:** 44 - **Context:** `Unknown` - **File:** [`src/routes/library/+page.svelte`](../src/routes/library/+page.svelte#L215) - **Line:** 215 @@ -2850,68 +2844,68 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/routes/library/+page.svelte`](../src/routes/library/+page.svelte#L258) - **Line:** 258 - **Context:** `Unknown` -- **File:** [`src/routes/library/favorites/+page.svelte`](../src/routes/library/favorites/+page.svelte#L9) - - **Line:** 9 +- **File:** [`src/lib/stores/favorites.ts`](../src/lib/stores/favorites.ts#L79) + - **Line:** 79 - **Context:** `Unknown` -- **File:** [`src/routes/library/favorites/+page.svelte`](../src/routes/library/favorites/+page.svelte#L41) - - **Line:** 41 +- **File:** [`src/lib/stores/favorites.test.ts`](../src/lib/stores/favorites.test.ts#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **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` ### DR-118 **Locations:** 5 file(s) +- **File:** [`src/routes/+page.svelte`](../src/routes/+page.svelte#L158) + - **Line:** 158 + - **Context:** `Unknown` +- **File:** [`src/routes/+page.svelte`](../src/routes/+page.svelte#L258) + - **Line:** 258 + - **Context:** `Unknown` - **File:** [`src/lib/stores/home.ts`](../src/lib/stores/home.ts#L2) - **Line:** 2 - **Context:** `Unknown` -- **File:** [`src/lib/stores/home.ts`](../src/lib/stores/home.ts#L18) - - **Line:** 18 +- **File:** [`src/lib/stores/home.ts`](../src/lib/stores/home.ts#L21) + - **Line:** 21 - **Context:** `Unknown` -- **File:** [`src/lib/stores/home.ts`](../src/lib/stores/home.ts#L60) - - **Line:** 60 - - **Context:** `Unknown` -- **File:** [`src/routes/+page.svelte`](../src/routes/+page.svelte#L155) - - **Line:** 155 - - **Context:** `Unknown` -- **File:** [`src/routes/+page.svelte`](../src/routes/+page.svelte#L255) - - **Line:** 255 +- **File:** [`src/lib/stores/home.ts`](../src/lib/stores/home.ts#L63) + - **Line:** 63 - **Context:** `Unknown` ### DR-119 **Locations:** 15 file(s) -- **File:** [`src/lib/components/FavoriteButton.svelte`](../src/lib/components/FavoriteButton.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/ArtistDetailView.svelte`](../src/lib/components/library/ArtistDetailView.svelte#L133) - - **Line:** 133 +- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L587) + - **Line:** 587 - **Context:** `Unknown` - **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](../src/lib/components/library/EpisodeFocusView.svelte#L233) - **Line:** 233 - **Context:** `Unknown` +- **File:** [`src/lib/components/library/ArtistDetailView.svelte`](../src/lib/components/library/ArtistDetailView.svelte#L136) + - **Line:** 136 + - **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/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L45) - - **Line:** 45 +- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L48) + - **Line:** 48 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L139) - - **Line:** 139 +- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L142) + - **Line:** 142 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L295) - - **Line:** 295 +- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L298) + - **Line:** 298 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/PlaylistDetailView.svelte`](../src/lib/components/library/PlaylistDetailView.svelte#L219) - - **Line:** 219 +- **File:** [`src/lib/components/library/PlaylistDetailView.svelte`](../src/lib/components/library/PlaylistDetailView.svelte#L222) + - **Line:** 222 - **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) +- **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) @@ -2923,22 +2917,28 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/stores/favorites.ts`](../src/lib/stores/favorites.ts#L79) - **Line:** 79 - **Context:** `Unknown` -- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L584) - - **Line:** 584 +- **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#L41) + - **Line:** 41 - **Context:** `Unknown` ### DR-120 **Locations:** 19 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1647) - - **Line:** 1647 +- **File:** [`src/routes/library/favorites/+page.svelte`](../src/routes/library/favorites/+page.svelte#L76) + - **Line:** 76 - **Context:** `Unknown` -- **File:** [`src/routes/+layout.svelte`](../src/routes/+layout.svelte#L137) - - **Line:** 137 +- **File:** [`src/routes/+layout.svelte`](../src/routes/+layout.svelte#L140) + - **Line:** 140 - **Context:** `Unknown` -- **File:** [`src/routes/library/favorites/+page.svelte`](../src/routes/library/favorites/+page.svelte#L73) - - **Line:** 73 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1689) + - **Line:** 1689 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L12) - **Line:** 12 @@ -2979,43 +2979,43 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L1077) - **Line:** 1077 - **Context:** `Unknown` -- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1428) - - **Line:** 1428 - - **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#L132) - **Line:** 132 - **Context:** `impl OnlineRepository {` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L47) + - **Line:** 47 + - **Context:** `pub fn new(online: OnlineRepository, offline: OfflineRepository) -> Se...` +- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1448) + - **Line:** 1448 + - **Context:** `Unknown` ### DR-123 **Locations:** 8 file(s) +- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L320) + - **Line:** 320 + - **Context:** `Unknown` +- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L324) + - **Line:** 324 + - **Context:** `Unknown` - **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L367) - **Line:** 367 - **Context:** `Unknown` - **File:** [`src/lib/player/localSource.ts`](../src/lib/player/localSource.ts#L12) - **Line:** 12 - **Context:** `Unknown` -- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L315) - - **Line:** 315 - - **Context:** `Unknown` -- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L319) - - **Line:** 319 - - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L510) - **Line:** 510 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L562) - **Line:** 562 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2994) - - **Line:** 2994 +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L3055) + - **Line:** 3055 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2113) - - **Line:** 2113 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2139) + - **Line:** 2139 - **Context:** `Unknown` ### DR-126 @@ -3033,11 +3033,14 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 6 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1940) - - **Line:** 1940 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1982) + - **Line:** 1982 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L280) - - **Line:** 280 +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L359) + - **Line:** 359 + - **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 @@ -3048,9 +3051,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/download/cache.rs`](../src-tauri/src/download/cache.rs#L428) - **Line:** 428 - **Context:** `Unknown` -- **File:** [`src-tauri/src/storage/schema.rs`](../src-tauri/src/storage/schema.rs#L813) - - **Line:** 813 - - **Context:** `Unknown` ### DR-128 @@ -3062,8 +3062,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L748) - **Line:** 748 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2910) - - **Line:** 2910 +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2971) + - **Line:** 2971 - **Context:** `Unknown` ### DR-129 @@ -3073,8 +3073,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L308) - **Line:** 308 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/timers.rs`](../src-tauri/src/commands/player/timers.rs#L145) - - **Line:** 145 +- **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/stream_end.rs`](../src-tauri/src/player/stream_end.rs#L54) + - **Line:** 54 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L279) - **Line:** 279 @@ -3091,11 +3094,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1810) - **Line:** 1810 - **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/stream_end.rs`](../src-tauri/src/player/stream_end.rs#L54) - - **Line:** 54 +- **File:** [`src-tauri/src/commands/player/timers.rs`](../src-tauri/src/commands/player/timers.rs#L145) + - **Line:** 145 - **Context:** `Unknown` ### DR-130 @@ -3108,14 +3108,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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-tauri/src/commands/player/timers.rs`](../src-tauri/src/commands/player/timers.rs#L299) - - **Line:** 299 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1779) - - **Line:** 1779 +- **File:** [`src/lib/services/playerEvents.ts`](../src/lib/services/playerEvents.ts#L292) + - **Line:** 292 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/mpv_backend.rs`](../src-tauri/src/player/mpv_backend.rs#L564) - **Line:** 564 @@ -3123,6 +3117,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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#L1779) + - **Line:** 1779 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/timers.rs`](../src-tauri/src/commands/player/timers.rs#L299) + - **Line:** 299 + - **Context:** `Unknown` ### DR-131 @@ -3167,25 +3167,34 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L1007) - **Line:** 1007 - **Context:** `Unknown` -- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1435) - - **Line:** 1435 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2366) + - **Line:** 2366 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L253) - - **Line:** 253 +- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L255) + - **Line:** 255 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2328) - - **Line:** 2328 +- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1455) + - **Line:** 1455 - **Context:** `Unknown` ### DR-132 **Locations:** 12 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1278) - - **Line:** 1278 +- **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#L3079) - - **Line:** 3079 +- **File:** [`src/routes/settings/+page.svelte`](../src/routes/settings/+page.svelte#L909) + - **Line:** 909 + - **Context:** `Unknown` +- **File:** [`src/routes/+layout.svelte`](../src/routes/+layout.svelte#L291) + - **Line:** 291 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1320) + - **Line:** 1320 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L3171) + - **Line:** 3171 - **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 @@ -3199,15 +3208,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/services/pendingSync.logic.ts`](../src/lib/services/pendingSync.logic.ts#L9) - **Line:** 9 - **Context:** `Unknown` -- **File:** [`src/routes/+layout.svelte`](../src/routes/+layout.svelte#L288) - - **Line:** 288 - - **Context:** `Unknown` -- **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#L791) - - **Line:** 791 - - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/sync.rs`](../src-tauri/src/commands/sync.rs#L7) - **Line:** 7 - **Context:** `Unknown` @@ -3222,22 +3222,22 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 2 file(s) +- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L246) + - **Line:** 246 + - **Context:** `Unknown` - **File:** [`src/lib/player/localSource.ts`](../src/lib/player/localSource.ts#L55) - **Line:** 55 - **Context:** `Unknown` -- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L241) - - **Line:** 241 - - **Context:** `Unknown` ### DR-134 **Locations:** 2 file(s) -- **File:** [`src/lib/services/imageCache.ts`](../src/lib/services/imageCache.ts#L47) - - **Line:** 47 +- **File:** [`src/lib/services/imageCache.ts`](../src/lib/services/imageCache.ts#L50) + - **Line:** 50 - **Context:** `Unknown` -- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1093) - - **Line:** 1093 +- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1101) + - **Line:** 1101 - **Context:** `Unknown` ### DR-135 @@ -3278,24 +3278,18 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 18 file(s) +- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L255) + - **Line:** 255 + - **Context:** `Unknown` +- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L324) + - **Line:** 324 + - **Context:** `Unknown` - **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1013) - **Line:** 1013 - **Context:** `Unknown` -- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L250) - - **Line:** 250 - - **Context:** `Unknown` -- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L319) - - **Line:** 319 - - **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#L1093) - - **Line:** 1093 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1338) - - **Line:** 1338 - - **Context:** `Unknown` - **File:** [`src-tauri/src/media_server.rs`](../src-tauri/src/media_server.rs#L27) - **Line:** 27 - **Context:** `Unknown` @@ -3332,19 +3326,25 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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#L1101) + - **Line:** 1101 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1358) + - **Line:** 1358 + - **Context:** `Unknown` ### DR-140 **Locations:** 3 file(s) -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L523) - - **Line:** 523 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L527) + - **Line:** 527 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L616) - - **Line:** 616 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L620) + - **Line:** 620 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2857) - - **Line:** 2857 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2920) + - **Line:** 2920 - **Context:** `Unknown` ### DR-141 @@ -3362,14 +3362,20 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 11 file(s) -- **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](../src/lib/components/library/EpisodeFocusView.svelte#L7) - - **Line:** 7 +- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L1) + - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](../src/lib/components/library/EpisodeFocusView.svelte#L233) - - **Line:** 233 +- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L133) + - **Line:** 133 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](../src/lib/components/library/EpisodeFocusView.svelte#L360) - - **Line:** 360 +- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L219) + - **Line:** 219 + - **Context:** `Unknown` +- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L448) + - **Line:** 448 + - **Context:** `Unknown` +- **File:** [`src/routes/search/+page.svelte`](../src/routes/search/+page.svelte#L97) + - **Line:** 97 - **Context:** `Unknown` - **File:** [`src/lib/components/library/EpisodeFocusView.test.ts`](../src/lib/components/library/EpisodeFocusView.test.ts#L7) - **Line:** 7 @@ -3380,31 +3386,46 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/components/library/seriesNavigation.ts`](../src/lib/components/library/seriesNavigation.ts#L13) - **Line:** 13 - **Context:** `Unknown` -- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L1) - - **Line:** 1 +- **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](../src/lib/components/library/EpisodeFocusView.svelte#L7) + - **Line:** 7 - **Context:** `Unknown` -- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L130) - - **Line:** 130 +- **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](../src/lib/components/library/EpisodeFocusView.svelte#L233) + - **Line:** 233 - **Context:** `Unknown` -- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L216) - - **Line:** 216 - - **Context:** `Unknown` -- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L445) - - **Line:** 445 - - **Context:** `Unknown` -- **File:** [`src/routes/search/+page.svelte`](../src/routes/search/+page.svelte#L97) - - **Line:** 97 +- **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](../src/lib/components/library/EpisodeFocusView.svelte#L360) + - **Line:** 360 - **Context:** `Unknown` ### DR-143 **Locations:** 11 file(s) -- **File:** [`src/lib/components/library/GenericGenreBrowser.svelte`](../src/lib/components/library/GenericGenreBrowser.svelte#L64) - - **Line:** 64 +- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L94) + - **Line:** 94 + - **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/favorites/+page.svelte`](../src/routes/library/favorites/+page.svelte#L88) + - **Line:** 88 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/GenericGenreBrowser.svelte`](../src/lib/components/library/GenericGenreBrowser.svelte#L67) + - **Line:** 67 - **Context:** `async function reloadGenreBrowse() {` -- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](../src/lib/components/library/GenericMediaListPage.svelte#L101) - - **Line:** 101 +- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](../src/lib/components/library/GenericMediaListPage.svelte#L103) + - **Line:** 103 + - **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/services/offlineCatalog.ts`](../src/lib/services/offlineCatalog.ts#L46) + - **Line:** 46 - **Context:** `Unknown` - **File:** [`src/lib/composables/useOfflineFilterReload.test.ts`](../src/lib/composables/useOfflineFilterReload.test.ts#L1) - **Line:** 1 @@ -3412,37 +3433,13 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/composables/useOfflineFilterReload.ts`](../src/lib/composables/useOfflineFilterReload.ts#L26) - **Line:** 26 - **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/services/offlineCatalog.ts`](../src/lib/services/offlineCatalog.ts#L43) - - **Line:** 43 - - **Context:** `Unknown` -- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L91) - - **Line:** 91 - - **Context:** `Unknown` -- **File:** [`src/routes/library/favorites/+page.svelte`](../src/routes/library/favorites/+page.svelte#L85) - - **Line:** 85 - - **Context:** `Unknown` -- **File:** [`src/routes/library/movies/+page.svelte`](../src/routes/library/movies/+page.svelte#L73) - - **Line:** 73 - - **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/tv/+page.svelte`](../src/routes/library/tv/+page.svelte#L74) - - **Line:** 74 - - **Context:** `async function load() {` ### DR-147 **Locations:** 5 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 +- **File:** [`src/routes/search/searchPage.test.ts`](../src/routes/search/searchPage.test.ts#L14) + - **Line:** 14 - **Context:** `Unknown` - **File:** [`src/routes/search/+page.svelte`](../src/routes/search/+page.svelte#L34) - **Line:** 34 @@ -3450,8 +3447,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/routes/search/+page.svelte`](../src/routes/search/+page.svelte#L62) - **Line:** 62 - **Context:** `Unknown` -- **File:** [`src/routes/search/searchPage.test.ts`](../src/routes/search/searchPage.test.ts#L14) - - **Line:** 14 +- **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` ### DR-148 @@ -3480,18 +3480,18 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 4 file(s) -- **File:** [`src/lib/player/adapters/adapterSelection.test.ts`](../src/lib/player/adapters/adapterSelection.test.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/stores/nativeVideo.ts`](../src/lib/stores/nativeVideo.ts#L3) - **Line:** 3 - **Context:** `Unknown` - **File:** [`src/lib/utils/videoSurface.ts`](../src/lib/utils/videoSurface.ts#L4) - **Line:** 4 - **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/player/adapters/index.ts`](../src/lib/player/adapters/index.ts#L20) + - **Line:** 20 + - **Context:** `Unknown` ### DR-151 @@ -3505,12 +3505,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **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` +- **File:** [`src/lib/services/playbackCapabilities.ts`](../src/lib/services/playbackCapabilities.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` ### DR-153 @@ -3524,8 +3524,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 7 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1615) - - **Line:** 1615 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1657) + - **Line:** 1657 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L735) - **Line:** 735 @@ -3550,20 +3550,20 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 5 file(s) -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L367) - - **Line:** 367 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L581) - - **Line:** 581 - - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L688) - **Line:** 688 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4578) - - **Line:** 4578 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4692) + - **Line:** 4692 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4664) - - **Line:** 4664 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4778) + - **Line:** 4778 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L408) + - **Line:** 408 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L635) + - **Line:** 635 - **Context:** `Unknown` ### DR-156 @@ -3595,8 +3595,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/components/library/WatchedToggleButton.svelte`](../src/lib/components/library/WatchedToggleButton.svelte#L13) - **Line:** 13 - **Context:** `Unknown` -- **File:** [`src/lib/services/syncService.ts`](../src/lib/services/syncService.ts#L121) - - **Line:** 121 +- **File:** [`src/lib/services/syncService.ts`](../src/lib/services/syncService.ts#L124) + - **Line:** 124 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/storage/mod.rs`](../src-tauri/src/commands/storage/mod.rs#L891) - **Line:** 891 @@ -3626,59 +3626,53 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 1 file(s) -- **File:** [`src/lib/utils/pictureInPicture.ts`](../src/lib/utils/pictureInPicture.ts#L107) - - **Line:** 107 +- **File:** [`src/lib/utils/pictureInPicture.ts`](../src/lib/utils/pictureInPicture.ts#L111) + - **Line:** 111 - **Context:** `Unknown` ### DR-162 **Locations:** 39 file(s) +- **File:** [`src/routes/settings/+page.svelte`](../src/routes/settings/+page.svelte#L77) + - **Line:** 77 + - **Context:** `Unknown` +- **File:** [`src/routes/settings/+page.svelte`](../src/routes/settings/+page.svelte#L405) + - **Line:** 405 + - **Context:** `function handleEpisodeLimitChange(value: number) {` +- **File:** [`src/routes/settings/+page.svelte`](../src/routes/settings/+page.svelte#L819) + - **Line:** 819 + - **Context:** `Unknown` - **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L233) - **Line:** 233 - **Context:** `Unknown` - **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L254) - **Line:** 254 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2996) - - **Line:** 2996 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L3088) + - **Line:** 3088 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L3021) - - **Line:** 3021 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L3113) + - **Line:** 3113 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L3156) - - **Line:** 3156 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L3248) + - **Line:** 3248 - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L258) - - **Line:** 258 +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L261) + - **Line:** 261 - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L766) - - **Line:** 766 +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L769) + - **Line:** 769 - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L2160) - - **Line:** 2160 +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L2163) + - **Line:** 2163 - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L2589) - - **Line:** 2589 +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L2592) + - **Line:** 2592 - **Context:** `Unknown` - **File:** [`src/lib/player/index.ts`](../src/lib/player/index.ts#L195) - **Line:** 195 - **Context:** `Unknown` -- **File:** [`src/routes/settings/+page.svelte`](../src/routes/settings/+page.svelte#L71) - - **Line:** 71 - - **Context:** `Unknown` -- **File:** [`src/routes/settings/+page.svelte`](../src/routes/settings/+page.svelte#L343) - - **Line:** 343 - - **Context:** `function handleEpisodeLimitChange(value: number) {` -- **File:** [`src/routes/settings/+page.svelte`](../src/routes/settings/+page.svelte#L701) - - **Line:** 701 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L350) - - **Line:** 350 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1573) - - **Line:** 1573 - - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/player/settings.rs`](../src-tauri/src/commands/player/settings.rs#L3) - **Line:** 3 - **Context:** `Unknown` @@ -3697,8 +3691,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/commands/player/settings.rs`](../src-tauri/src/commands/player/settings.rs#L158) - **Line:** 158 - **Context:** `Unknown` -- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1307) - - **Line:** 1307 +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L350) + - **Line:** 350 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1573) + - **Line:** 1573 - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L26) - **Line:** 26 @@ -3712,29 +3709,32 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L59) - **Line:** 59 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L523) - - **Line:** 523 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L527) + - **Line:** 527 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L653) - - **Line:** 653 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L657) + - **Line:** 657 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1665) - - **Line:** 1665 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1691) + - **Line:** 1691 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1949) - - **Line:** 1949 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1975) + - **Line:** 1975 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2755) - - **Line:** 2755 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2818) + - **Line:** 2818 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2779) - - **Line:** 2779 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2842) + - **Line:** 2842 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2801) - - **Line:** 2801 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2864) + - **Line:** 2864 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2824) - - **Line:** 2824 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2887) + - **Line:** 2887 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1315) + - **Line:** 1315 - **Context:** `Unknown` - **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L164) - **Line:** 164 @@ -3742,14 +3742,14 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L299) - **Line:** 299 - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L604) - - **Line:** 604 +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L650) + - **Line:** 650 - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L640) - - **Line:** 640 +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L686) + - **Line:** 686 - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L667) - - **Line:** 667 +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L713) + - **Line:** 713 - **Context:** `Unknown` ### DR-167 @@ -3759,8 +3759,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L848) - **Line:** 848 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3760) - - **Line:** 3760 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3767) + - **Line:** 3767 - **Context:** `Unknown` ### DR-168 @@ -3773,11 +3773,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L936) - **Line:** 936 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L1147) - - **Line:** 1147 +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L1226) + - **Line:** 1226 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L1181) - - **Line:** 1181 +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L1260) + - **Line:** 1260 - **Context:** `Unknown` - **File:** [`src-tauri/src/download/stop.rs`](../src-tauri/src/download/stop.rs#L3) - **Line:** 3 @@ -3818,26 +3818,26 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L457) - **Line:** 457 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L210) - - **Line:** 210 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2216) + - **Line:** 2216 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L345) - - **Line:** 345 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3402) + - **Line:** 3402 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L367) - - **Line:** 367 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3434) + - **Line:** 3434 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2190) - - **Line:** 2190 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3460) + - **Line:** 3460 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3339) - - **Line:** 3339 +- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L212) + - **Line:** 212 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3371) - - **Line:** 3371 +- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L347) + - **Line:** 347 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3397) - - **Line:** 3397 +- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L369) + - **Line:** 369 - **Context:** `Unknown` ### DR-173 @@ -3847,8 +3847,44 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L881) - **Line:** 881 - **Context:** `Unknown` -- **File:** [`src/lib/stores/downloads.ts`](../src/lib/stores/downloads.ts#L200) - - **Line:** 200 +- **File:** [`src/lib/stores/downloads.ts`](../src/lib/stores/downloads.ts#L203) + - **Line:** 203 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L442) + - **Line:** 442 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L473) + - **Line:** 473 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L524) + - **Line:** 524 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L546) + - **Line:** 546 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L679) + - **Line:** 679 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3238) + - **Line:** 3238 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3303) + - **Line:** 3303 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3334) + - **Line:** 3334 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3367) + - **Line:** 3367 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3396) + - **Line:** 3396 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3410) + - **Line:** 3410 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3437) + - **Line:** 3437 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L915) - **Line:** 915 @@ -3856,52 +3892,22 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L956) - **Line:** 956 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L363) - - **Line:** 363 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L394) - - **Line:** 394 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L445) - - **Line:** 445 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L467) - - **Line:** 467 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L600) - - **Line:** 600 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3018) - - **Line:** 3018 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3083) - - **Line:** 3083 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3114) - - **Line:** 3114 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3147) - - **Line:** 3147 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3176) - - **Line:** 3176 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3190) - - **Line:** 3190 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3217) - - **Line:** 3217 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L134) - - **Line:** 134 +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L135) + - **Line:** 135 - **Context:** `Unknown` ### DR-174 **Locations:** 8 file(s) -- **File:** [`src/lib/components/common/CachedImage.svelte`](../src/lib/components/common/CachedImage.svelte#L18) - - **Line:** 18 +- **File:** [`src/routes/library/+page.svelte`](../src/routes/library/+page.svelte#L48) + - **Line:** 48 + - **Context:** `Unknown` +- **File:** [`src/routes/library/+page.svelte`](../src/routes/library/+page.svelte#L258) + - **Line:** 258 + - **Context:** `Unknown` +- **File:** [`src/routes/+page.svelte`](../src/routes/+page.svelte#L124) + - **Line:** 124 - **Context:** `Unknown` - **File:** [`src/lib/components/library/MosaicGrid.svelte`](../src/lib/components/library/MosaicGrid.svelte#L14) - **Line:** 14 @@ -3915,22 +3921,19 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/components/library/mosaic.ts`](../src/lib/components/library/mosaic.ts#L12) - **Line:** 12 - **Context:** `Unknown` -- **File:** [`src/routes/+page.svelte`](../src/routes/+page.svelte#L121) - - **Line:** 121 - - **Context:** `Unknown` -- **File:** [`src/routes/library/+page.svelte`](../src/routes/library/+page.svelte#L48) - - **Line:** 48 - - **Context:** `Unknown` -- **File:** [`src/routes/library/+page.svelte`](../src/routes/library/+page.svelte#L258) - - **Line:** 258 +- **File:** [`src/lib/components/common/CachedImage.svelte`](../src/lib/components/common/CachedImage.svelte#L18) + - **Line:** 18 - **Context:** `Unknown` ### DR-175 **Locations:** 9 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2137) - - **Line:** 2137 +- **File:** [`src/routes/library/+page.svelte`](../src/routes/library/+page.svelte#L48) + - **Line:** 48 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2207) + - **Line:** 2207 - **Context:** `export type Library = { id: string; name: string; collectionType: stri...` - **File:** [`src/lib/components/library/libraryMosaic.ts`](../src/lib/components/library/libraryMosaic.ts#L12) - **Line:** 12 @@ -3938,9 +3941,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/utils/favoritesView.ts`](../src/lib/utils/favoritesView.ts#L44) - **Line:** 44 - **Context:** `Unknown` -- **File:** [`src/routes/library/+page.svelte`](../src/routes/library/+page.svelte#L48) - - **Line:** 48 - - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/types.rs`](../src-tauri/src/repository/types.rs#L47) - **Line:** 47 - **Context:** `Unknown` @@ -3961,11 +3961,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 24 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2288) - - **Line:** 2288 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L355) - - **Line:** 355 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2380) + - **Line:** 2380 - **Context:** `Unknown` - **File:** [`src/lib/components/player/subtitleTracks.test.ts`](../src/lib/components/player/subtitleTracks.test.ts#L67) - **Line:** 67 @@ -3979,6 +3976,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/components/player/subtitleTracks.ts`](../src/lib/components/player/subtitleTracks.ts#L75) - **Line:** 75 - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L358) + - **Line:** 358 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/types.rs`](../src-tauri/src/repository/types.rs#L265) + - **Line:** 265 + - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L84) - **Line:** 84 - **Context:** `Unknown` @@ -4012,26 +4015,23 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L390) - **Line:** 390 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1739) - - **Line:** 1739 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1765) + - **Line:** 1765 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1809) - - **Line:** 1809 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1835) + - **Line:** 1835 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1922) - - **Line:** 1922 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1948) + - **Line:** 1948 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1968) - - **Line:** 1968 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1994) + - **Line:** 1994 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2980) - - **Line:** 2980 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3043) + - **Line:** 3043 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3003) - - **Line:** 3003 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/types.rs`](../src-tauri/src/repository/types.rs#L265) - - **Line:** 265 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3066) + - **Line:** 3066 - **Context:** `Unknown` ### DR-177 @@ -4053,26 +4053,23 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L89) - **Line:** 89 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L463) - - **Line:** 463 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L467) + - **Line:** 467 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L523) - - **Line:** 523 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L527) + - **Line:** 527 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2951) - - **Line:** 2951 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3014) + - **Line:** 3014 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3047) - - **Line:** 3047 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3110) + - **Line:** 3110 - **Context:** `Unknown` ### DR-178 **Locations:** 13 file(s) -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1952) - - **Line:** 1952 - - **Context:** `Unknown` - **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L303) - **Line:** 303 - **Context:** `Unknown` @@ -4109,16 +4106,19 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4270) - **Line:** 4270 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1975) + - **Line:** 1975 + - **Context:** `Unknown` ### DR-179 **Locations:** 15 file(s) -- **File:** [`src/lib/services/playbackReporting.ts`](../src/lib/services/playbackReporting.ts#L24) - - **Line:** 24 +- **File:** [`src/lib/services/playbackReporting.ts`](../src/lib/services/playbackReporting.ts#L27) + - **Line:** 27 - **Context:** `Unknown` -- **File:** [`src/lib/services/playbackReporting.ts`](../src/lib/services/playbackReporting.ts#L67) - - **Line:** 67 +- **File:** [`src/lib/services/playbackReporting.ts`](../src/lib/services/playbackReporting.ts#L70) + - **Line:** 70 - **Context:** `* This function is therefore the *local* half only, which is what its ...` - **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L67) - **Line:** 67 @@ -4164,61 +4164,61 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 6 file(s) -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L460) - - **Line:** 460 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L480) - - **Line:** 480 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2958) - - **Line:** 2958 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2978) - - **Line:** 2978 - - **Context:** `Unknown` - **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L877) - **Line:** 877 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4013) - **Line:** 4013 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L460) + - **Line:** 460 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L480) + - **Line:** 480 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L3019) + - **Line:** 3019 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L3039) + - **Line:** 3039 + - **Context:** `Unknown` ### DR-181 **Locations:** 11 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1556) - - **Line:** 1556 +- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L351) + - **Line:** 351 - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L224) - - **Line:** 224 +- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L546) + - **Line:** 546 - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1771) - - **Line:** 1771 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1598) + - **Line:** 1598 + - **Context:** `Unknown` +- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L227) + - **Line:** 227 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1774) + - **Line:** 1774 - **Context:** `Unknown` - **File:** [`src/lib/player/adapters/html5Adapter.test.ts`](../src/lib/player/adapters/html5Adapter.test.ts#L214) - **Line:** 214 - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/html5Adapter.ts`](../src/lib/player/adapters/html5Adapter.ts#L169) - - **Line:** 169 - - **Context:** `Unknown` -- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L346) - - **Line:** 346 - - **Context:** `Unknown` -- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L541) - - **Line:** 541 +- **File:** [`src/lib/player/adapters/html5Adapter.ts`](../src/lib/player/adapters/html5Adapter.ts#L172) + - **Line:** 172 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L592) - **Line:** 592 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L523) - - **Line:** 523 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L527) + - **Line:** 527 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2857) - - **Line:** 2857 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2920) + - **Line:** 2920 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2901) - - **Line:** 2901 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2964) + - **Line:** 2964 - **Context:** `Unknown` ### DR-182 @@ -4228,15 +4228,15 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/components/player/VideoPlayer.nativeReveal.test.ts`](../src/lib/components/player/VideoPlayer.nativeReveal.test.ts#L16) - **Line:** 16 - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L504) - - **Line:** 504 - - **Context:** `Unknown` - **File:** [`src/lib/components/player/mediaReady.test.ts`](../src/lib/components/player/mediaReady.test.ts#L4) - **Line:** 4 - **Context:** `Unknown` - **File:** [`src/lib/components/player/mediaReady.ts`](../src/lib/components/player/mediaReady.ts#L4) - **Line:** 4 - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L507) + - **Line:** 507 + - **Context:** `Unknown` ### DR-183 @@ -4258,37 +4258,37 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 1 file(s) -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L533) - - **Line:** 533 +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L536) + - **Line:** 536 - **Context:** `Unknown` ### DR-188 **Locations:** 2 file(s) -- **File:** [`src/lib/stores/nativeVideo.default.test.ts`](../src/lib/stores/nativeVideo.default.test.ts#L15) - - **Line:** 15 - - **Context:** `Unknown` - **File:** [`src/lib/stores/nativeVideo.ts`](../src/lib/stores/nativeVideo.ts#L73) - **Line:** 73 - **Context:** `Unknown` +- **File:** [`src/lib/stores/nativeVideo.default.test.ts`](../src/lib/stores/nativeVideo.default.test.ts#L15) + - **Line:** 15 + - **Context:** `Unknown` ### DR-189 **Locations:** 4 file(s) -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L471) - - **Line:** 471 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1885) - - **Line:** 1885 - - **Context:** `Unknown` - **File:** [`src/lib/components/player/controlsVisibility.test.ts`](../src/lib/components/player/controlsVisibility.test.ts#L4) - **Line:** 4 - **Context:** `Unknown` - **File:** [`src/lib/components/player/controlsVisibility.ts`](../src/lib/components/player/controlsVisibility.ts#L4) - **Line:** 4 - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L474) + - **Line:** 474 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1888) + - **Line:** 1888 + - **Context:** `Unknown` ### DR-193 @@ -4305,23 +4305,23 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 1 file(s) -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1481) - - **Line:** 1481 +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1484) + - **Line:** 1484 - **Context:** `Unknown` ### DR-196 **Locations:** 3 file(s) -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1797) - - **Line:** 1797 - - **Context:** `Unknown` - **File:** [`src/lib/components/player/backgroundAudioHandoff.test.ts`](../src/lib/components/player/backgroundAudioHandoff.test.ts#L95) - **Line:** 95 - **Context:** `Unknown` - **File:** [`src/lib/components/player/backgroundAudioHandoff.ts`](../src/lib/components/player/backgroundAudioHandoff.ts#L110) - **Line:** 110 - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1800) + - **Line:** 1800 + - **Context:** `Unknown` ### DR-197 @@ -4342,25 +4342,25 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/stores/tv.ts`](../src/lib/stores/tv.ts#L3) - **Line:** 3 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L884) - - **Line:** 884 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L910) + - **Line:** 910 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3558) - - **Line:** 3558 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3688) + - **Line:** 3688 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3579) - - **Line:** 3579 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3709) + - **Line:** 3709 - **Context:** `Unknown` ### DR-198 **Locations:** 3 file(s) -- **File:** [`src/lib/services/imageCache.ts`](../src/lib/services/imageCache.ts#L47) - - **Line:** 47 +- **File:** [`src/lib/services/imageCache.ts`](../src/lib/services/imageCache.ts#L50) + - **Line:** 50 - **Context:** `Unknown` -- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1093) - - **Line:** 1093 +- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1101) + - **Line:** 1101 - **Context:** `Unknown` - **File:** [`scripts/tauri-security-config.test.ts`](../scripts/tauri-security-config.test.ts#L11) - **Line:** 11 @@ -4370,9 +4370,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 7 file(s) -- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L464) - - **Line:** 464 - - **Context:** `Unknown` - **File:** [`src-tauri/src/player/seek.rs`](../src-tauri/src/player/seek.rs#L103) - **Line:** 103 - **Context:** `Unknown` @@ -4391,6 +4388,9 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/player/seek.rs`](../src-tauri/src/player/seek.rs#L192) - **Line:** 192 - **Context:** `Unknown` +- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L468) + - **Line:** 468 + - **Context:** `Unknown` ### DR-203 @@ -4403,6 +4403,253 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **Line:** 91 - **Context:** `Unknown` +### DR-204 + +**Locations:** 3 file(s) + +- **File:** [`src/lib/utils/logger.ts`](../src/lib/utils/logger.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/utils/logger.test.ts`](../src/lib/utils/logger.test.ts#L19) + - **Line:** 19 + - **Context:** `Unknown` +- **File:** [`src/lib/utils/logger.test.ts`](../src/lib/utils/logger.test.ts#L330) + - **Line:** 330 + - **Context:** `Unknown` + +### DR-209 + +**Locations:** 44 file(s) + +- **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#L98) + - **Line:** 98 + - **Context:** `Unknown` +- **File:** [`src/routes/settings/+page.svelte`](../src/routes/settings/+page.svelte#L188) + - **Line:** 188 + - **Context:** `Unknown` +- **File:** [`src/routes/settings/+page.svelte`](../src/routes/settings/+page.svelte#L207) + - **Line:** 207 + - **Context:** `Unknown` +- **File:** [`src/routes/settings/+page.svelte`](../src/routes/settings/+page.svelte#L484) + - **Line:** 484 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1089) + - **Line:** 1089 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1101) + - **Line:** 1101 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1119) + - **Line:** 1119 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2133) + - **Line:** 2133 + - **Context:** `export type EqPreset = "flat" | "rock" | "pop" | "jazz" | "classical" ...` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2222) + - **Line:** 2222 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](../src/lib/components/library/GenericMediaListPage.svelte#L125) + - **Line:** 125 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/music.ts`](../src/lib/stores/music.ts#L104) + - **Line:** 104 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/library.rs`](../src-tauri/src/commands/library.rs#L10) + - **Line:** 10 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/library.rs`](../src-tauri/src/commands/library.rs#L47) + - **Line:** 47 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/library.rs`](../src-tauri/src/commands/library.rs#L68) + - **Line:** 68 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/library.rs`](../src-tauri/src/commands/library.rs#L83) + - **Line:** 83 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/library.rs`](../src-tauri/src/commands/library.rs#L112) + - **Line:** 112 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/library.rs`](../src-tauri/src/commands/library.rs#L184) + - **Line:** 184 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/library.rs`](../src-tauri/src/commands/library.rs#L220) + - **Line:** 220 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/library.rs`](../src-tauri/src/commands/library.rs#L274) + - **Line:** 274 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/library.rs`](../src-tauri/src/commands/library.rs#L295) + - **Line:** 295 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/library.rs`](../src-tauri/src/commands/library.rs#L307) + - **Line:** 307 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L22) + - **Line:** 22 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L34) + - **Line:** 34 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L48) + - **Line:** 48 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L63) + - **Line:** 63 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L87) + - **Line:** 87 + - **Context:** `/ pure function and can be tested without touching process state.` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L123) + - **Line:** 123 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L191) + - **Line:** 191 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L203) + - **Line:** 203 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L232) + - **Line:** 232 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L275) + - **Line:** 275 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L293) + - **Line:** 293 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L316) + - **Line:** 316 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L334) + - **Line:** 334 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L164) + - **Line:** 164 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L265) + - **Line:** 265 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L363) + - **Line:** 363 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L408) + - **Line:** 408 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L526) + - **Line:** 526 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L611) + - **Line:** 611 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1327) + - **Line:** 1327 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L334) + - **Line:** 334 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L354) + - **Line:** 354 + - **Context:** `impl LibrarySettings {` + +### DR-210 + +**Locations:** 8 file(s) + +- **File:** [`src-tauri/src/thumbnail/cache.rs`](../src-tauri/src/thumbnail/cache.rs#L39) + - **Line:** 39 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/thumbnail/cache.rs`](../src-tauri/src/thumbnail/cache.rs#L74) + - **Line:** 74 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/thumbnail/cache.rs`](../src-tauri/src/thumbnail/cache.rs#L200) + - **Line:** 200 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/thumbnail/cache.rs`](../src-tauri/src/thumbnail/cache.rs#L628) + - **Line:** 628 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/thumbnail/cache.rs`](../src-tauri/src/thumbnail/cache.rs#L668) + - **Line:** 668 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/thumbnail/cache.rs`](../src-tauri/src/thumbnail/cache.rs#L706) + - **Line:** 706 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/thumbnail/cache.rs`](../src-tauri/src/thumbnail/cache.rs#L735) + - **Line:** 735 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/thumbnail/cache.rs`](../src-tauri/src/thumbnail/cache.rs#L766) + - **Line:** 766 + - **Context:** `Unknown` + +### DR-211 + +**Locations:** 10 file(s) + +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L138) + - **Line:** 138 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L156) + - **Line:** 156 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L186) + - **Line:** 186 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L329) + - **Line:** 329 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L1374) + - **Line:** 1374 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L1514) + - **Line:** 1514 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L1867) + - **Line:** 1867 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L2560) + - **Line:** 2560 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L2589) + - **Line:** 2589 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L2616) + - **Line:** 2616 + - **Context:** `Unknown` + +### DR-212 + +**Locations:** 9 file(s) + +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1716) + - **Line:** 1716 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1735) + - **Line:** 1735 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2804) + - **Line:** 2804 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L1253) + - **Line:** 1253 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4500) + - **Line:** 4500 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4553) + - **Line:** 4553 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L814) + - **Line:** 814 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3602) + - **Line:** 3602 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3638) + - **Line:** 3638 + - **Context:** `Unknown` + ### JA-001 **Locations:** 1 file(s) @@ -4451,8 +4698,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L4) - **Line:** 4 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1148) - - **Line:** 1148 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1174) + - **Line:** 1174 - **Context:** `Unknown` ### JA-006 @@ -4462,8 +4709,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L4) - **Line:** 4 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1467) - - **Line:** 1467 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1493) + - **Line:** 1493 - **Context:** `Unknown` ### JA-007 @@ -4478,14 +4725,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 8 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2428) - - **Line:** 2428 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2520) + - **Line:** 2520 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L3046) - - **Line:** 3046 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L826) - - **Line:** 826 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L3138) + - **Line:** 3138 - **Context:** `Unknown` - **File:** [`src/lib/components/player/subtitleTracks.test.ts`](../src/lib/components/player/subtitleTracks.test.ts#L221) - **Line:** 221 @@ -4493,25 +4737,28 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/components/player/subtitleTracks.ts`](../src/lib/components/player/subtitleTracks.ts#L210) - **Line:** 210 - **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#L2876) - - **Line:** 2876 +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L829) + - **Line:** 829 - **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#L223) + - **Line:** 223 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2937) + - **Line:** 2937 + - **Context:** `Unknown` ### JA-009 **Locations:** 2 file(s) -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L287) - - **Line:** 287 +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L290) + - **Line:** 290 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1148) - - **Line:** 1148 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1174) + - **Line:** 1174 - **Context:** `Unknown` ### JA-010 @@ -4551,54 +4798,54 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 5 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1455) - - **Line:** 1455 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1497) + - **Line:** 1497 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L307) - **Line:** 307 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L767) - - **Line:** 767 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L771) + - **Line:** 771 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1179) - - **Line:** 1179 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1205) + - **Line:** 1205 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1384) - - **Line:** 1384 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1410) + - **Line:** 1410 - **Context:** `Unknown` ### JA-014 **Locations:** 4 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1463) - - **Line:** 1463 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1505) + - **Line:** 1505 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L333) - **Line:** 333 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L884) - - **Line:** 884 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L910) + - **Line:** 910 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1206) - - **Line:** 1206 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1232) + - **Line:** 1232 - **Context:** `Unknown` ### JA-015 **Locations:** 4 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1455) - - **Line:** 1455 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1497) + - **Line:** 1497 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L307) - **Line:** 307 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1179) - - **Line:** 1179 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1205) + - **Line:** 1205 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1384) - - **Line:** 1384 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1410) + - **Line:** 1410 - **Context:** `Unknown` ### JA-016 @@ -4608,8 +4855,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L3) - **Line:** 3 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L862) - - **Line:** 862 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L888) + - **Line:** 888 - **Context:** `Unknown` ### JA-017 @@ -4624,8 +4871,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 1 file(s) -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2245) - - **Line:** 2245 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2275) + - **Line:** 2275 - **Context:** `Unknown` ### JA-019 @@ -4648,10 +4895,10 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 6 file(s) -- **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/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/stores/lmsSync.ts`](../src/lib/stores/lmsSync.ts#L12) @@ -4674,12 +4921,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/components/sessions/RemoteControls.svelte`](../src/lib/components/sessions/RemoteControls.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/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` ### JA-023 @@ -4688,12 +4935,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/components/sessions/RemoteControls.svelte`](../src/lib/components/sessions/RemoteControls.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/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` ### JA-024 @@ -4716,12 +4963,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/stores/lmsSync.ts`](../src/lib/stores/lmsSync.ts#L12) - **Line:** 12 - **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/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` ### JA-026 @@ -4730,12 +4977,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/components/sessions/RemoteControls.svelte`](../src/lib/components/sessions/RemoteControls.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/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` ### JA-028 @@ -4769,8 +5016,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L4) - **Line:** 4 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2373) - - **Line:** 2373 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2415) + - **Line:** 2415 - **Context:** `Unknown` ### JA-031 @@ -4783,105 +5030,105 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L4) - **Line:** 4 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2382) - - **Line:** 2382 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2428) + - **Line:** 2428 - **Context:** `Unknown` ### JA-032 **Locations:** 10 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1570) - - **Line:** 1570 - - **Context:** `Unknown` - **File:** [`src/lib/api/repository-client.test.ts`](../src/lib/api/repository-client.test.ts#L437) - **Line:** 437 - **Context:** `Unknown` - **File:** [`src/lib/api/repository-client.test.ts`](../src/lib/api/repository-client.test.ts#L454) - **Line:** 454 - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L242) - - **Line:** 242 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1612) + - **Line:** 1612 + - **Context:** `Unknown` +- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L245) + - **Line:** 245 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L611) - **Line:** 611 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L102) - - **Line:** 102 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L620) + - **Line:** 620 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L129) - - **Line:** 129 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3141) + - **Line:** 3141 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L616) - - **Line:** 616 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3182) + - **Line:** 3182 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3078) - - **Line:** 3078 +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L103) + - **Line:** 103 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3119) - - **Line:** 3119 +- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L131) + - **Line:** 131 - **Context:** `Unknown` ### JA-033 **Locations:** 7 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1647) - - **Line:** 1647 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1689) + - **Line:** 1689 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L898) - **Line:** 898 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L233) - - **Line:** 233 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L933) + - **Line:** 933 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L907) - - **Line:** 907 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2251) + - **Line:** 2251 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2221) - - **Line:** 2221 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2321) + - **Line:** 2321 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2287) - - **Line:** 2287 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3510) + - **Line:** 3510 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3447) - - **Line:** 3447 +- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L235) + - **Line:** 235 - **Context:** `Unknown` ### JA-034 **Locations:** 3 file(s) -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L767) - - **Line:** 767 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L771) + - **Line:** 771 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1032) - - **Line:** 1032 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1058) + - **Line:** 1058 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3598) - - **Line:** 3598 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3728) + - **Line:** 3728 - **Context:** `Unknown` ### JA-035 **Locations:** 2 file(s) -- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L253) - - **Line:** 253 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2366) + - **Line:** 2366 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2328) - - **Line:** 2328 +- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L255) + - **Line:** 255 - **Context:** `Unknown` ### JA-036 **Locations:** 2 file(s) -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L884) - - **Line:** 884 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L910) + - **Line:** 910 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3558) - - **Line:** 3558 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3688) + - **Line:** 3688 - **Context:** `Unknown` ### UR-003 @@ -4891,44 +5138,20 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L174) - **Line:** 174 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2478) - - **Line:** 2478 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2570) + - **Line:** 2570 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2514) - - **Line:** 2514 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2606) + - **Line:** 2606 - **Context:** `export type PlaybackProgress = { itemId: string;` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2618) - - **Line:** 2618 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.nativeReveal.test.ts`](../src/lib/components/player/VideoPlayer.nativeReveal.test.ts#L16) - - **Line:** 16 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L471) - - **Line:** 471 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L504) - - **Line:** 504 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L533) - - **Line:** 533 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1481) - - **Line:** 1481 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1797) - - **Line:** 1797 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1885) - - **Line:** 1885 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2710) + - **Line:** 2710 - **Context:** `Unknown` - **File:** [`src/lib/components/player/backgroundAudioHandoff.test.ts`](../src/lib/components/player/backgroundAudioHandoff.test.ts#L95) - **Line:** 95 - **Context:** `Unknown` -- **File:** [`src/lib/components/player/backgroundAudioHandoff.ts`](../src/lib/components/player/backgroundAudioHandoff.ts#L110) - - **Line:** 110 +- **File:** [`src/lib/components/player/VideoPlayer.nativeReveal.test.ts`](../src/lib/components/player/VideoPlayer.nativeReveal.test.ts#L16) + - **Line:** 16 - **Context:** `Unknown` - **File:** [`src/lib/components/player/controlsVisibility.test.ts`](../src/lib/components/player/controlsVisibility.test.ts#L4) - **Line:** 4 @@ -4942,11 +5165,59 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/components/player/mediaReady.ts`](../src/lib/components/player/mediaReady.ts#L4) - **Line:** 4 - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/adapterSelection.test.ts`](../src/lib/player/adapters/adapterSelection.test.ts#L4) +- **File:** [`src/lib/components/player/backgroundAudioHandoff.ts`](../src/lib/components/player/backgroundAudioHandoff.ts#L110) + - **Line:** 110 + - **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#L474) + - **Line:** 474 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L507) + - **Line:** 507 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L536) + - **Line:** 536 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1484) + - **Line:** 1484 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1800) + - **Line:** 1800 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1888) + - **Line:** 1888 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/nativeVideo.ts`](../src/lib/stores/nativeVideo.ts#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/nativeVideo.ts`](../src/lib/stores/nativeVideo.ts#L73) + - **Line:** 73 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/nativeVideo.default.test.ts`](../src/lib/stores/nativeVideo.default.test.ts#L15) + - **Line:** 15 + - **Context:** `Unknown` +- **File:** [`src/lib/utils/nativeVideoLayers.test.ts`](../src/lib/utils/nativeVideoLayers.test.ts#L4) - **Line:** 4 - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/html5Adapter.ts`](../src/lib/player/adapters/html5Adapter.ts#L19) - - **Line:** 19 +- **File:** [`src/lib/utils/videoSurface.ts`](../src/lib/utils/videoSurface.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/playbackCapabilities.ts`](../src/lib/services/playbackCapabilities.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/adapterSelection.test.ts`](../src/lib/player/adapters/adapterSelection.test.ts#L4) + - **Line:** 4 - **Context:** `Unknown` - **File:** [`src/lib/player/adapters/index.ts`](../src/lib/player/adapters/index.ts#L20) - **Line:** 20 @@ -4957,50 +5228,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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/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/stores/nativeVideo.default.test.ts`](../src/lib/stores/nativeVideo.default.test.ts#L15) - - **Line:** 15 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/nativeVideo.ts`](../src/lib/stores/nativeVideo.ts#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/nativeVideo.ts`](../src/lib/stores/nativeVideo.ts#L73) - - **Line:** 73 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/nativeVideoLayers.test.ts`](../src/lib/utils/nativeVideoLayers.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/videoSurface.ts`](../src/lib/utils/videoSurface.ts#L4) - - **Line:** 4 - - **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/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#L1907) - - **Line:** 1907 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1924) - - **Line:** 1924 - - **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#L251) - - **Line:** 251 +- **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#L60) - **Line:** 60 @@ -5008,14 +5237,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/player/media.rs`](../src-tauri/src/player/media.rs#L142) - **Line:** 142 - **Context:** `pub enum MediaType {` -- **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#L536) - - **Line:** 536 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L3251) - - **Line:** 3251 +- **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#L251) + - **Line:** 251 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/mpv_backend_test.rs`](../src-tauri/src/player/mpv_backend_test.rs#L8) - **Line:** 8 @@ -5026,10 +5252,607 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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/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#L536) + - **Line:** 536 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L3251) + - **Line:** 3251 + - **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#L1930) + - **Line:** 1930 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1947) + - **Line:** 1947 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/mod.rs`](../src-tauri/src/commands/mod.rs#L2) + - **Line:** 2 + - **Context:** `Unknown` + +### UR-004 + +**Locations:** 65 file(s) + +- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L351) + - **Line:** 351 + - **Context:** `Unknown` +- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L546) + - **Line:** 546 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L331) + - **Line:** 331 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1598) + - **Line:** 1598 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2606) + - **Line:** 2606 + - **Context:** `export type PlaybackProgress = { itemId: string;` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2710) + - **Line:** 2710 + - **Context:** `Unknown` +- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L227) + - **Line:** 227 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/hlsRecovery.test.ts`](../src/lib/components/player/hlsRecovery.test.ts#L16) + - **Line:** 16 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/hlsRecovery.ts`](../src/lib/components/player/hlsRecovery.ts#L11) + - **Line:** 11 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.nativeReveal.test.ts`](../src/lib/components/player/VideoPlayer.nativeReveal.test.ts#L16) + - **Line:** 16 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/mediaReady.test.ts`](../src/lib/components/player/mediaReady.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/mediaReady.ts`](../src/lib/components/player/mediaReady.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/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L507) + - **Line:** 507 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1774) + - **Line:** 1774 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/nativeVideo.ts`](../src/lib/stores/nativeVideo.ts#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/nativeVideo.ts`](../src/lib/stores/nativeVideo.ts#L73) + - **Line:** 73 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/nativeVideo.default.test.ts`](../src/lib/stores/nativeVideo.default.test.ts#L15) + - **Line:** 15 + - **Context:** `Unknown` +- **File:** [`src/lib/utils/nativeVideoLayers.test.ts`](../src/lib/utils/nativeVideoLayers.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/utils/videoSurface.ts`](../src/lib/utils/videoSurface.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/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/playerEvents.ts`](../src/lib/services/playerEvents.ts#L292) + - **Line:** 292 + - **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/player/adapters/index.ts`](../src/lib/player/adapters/index.ts#L20) + - **Line:** 20 + - **Context:** `Unknown` +- **File:** [`src/lib/player/adapters/html5Adapter.test.ts`](../src/lib/player/adapters/html5Adapter.test.ts#L214) + - **Line:** 214 + - **Context:** `Unknown` +- **File:** [`src/lib/player/adapters/html5Adapter.ts`](../src/lib/player/adapters/html5Adapter.ts#L172) + - **Line:** 172 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/android/mod.rs`](../src-tauri/src/player/android/mod.rs#L438) + - **Line:** 438 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/media.rs`](../src-tauri/src/player/media.rs#L60) + - **Line:** 60 + - **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/player/stream_end.rs`](../src-tauri/src/player/stream_end.rs#L91) + - **Line:** 91 + - **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#L251) + - **Line:** 251 + - **Context:** `Unknown` +- **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/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/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#L1689) + - **Line:** 1689 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1779) + - **Line:** 1779 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1810) + - **Line:** 1810 + - **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/repository.rs`](../src-tauri/src/commands/repository.rs#L592) + - **Line:** 592 + - **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/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L29) + - **Line:** 29 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L40) + - **Line:** 40 + - **Context:** `pub fn clamp_max_audio_channels(reported: Option) -> u32 {` +- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L120) + - **Line:** 120 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L150) + - **Line:** 150 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L213) + - **Line:** 213 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L238) + - **Line:** 238 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L260) + - **Line:** 260 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L277) + - **Line:** 277 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L306) + - **Line:** 306 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L344) + - **Line:** 344 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L362) + - **Line:** 362 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L527) + - **Line:** 527 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1765) + - **Line:** 1765 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1835) + - **Line:** 1835 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1948) + - **Line:** 1948 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2216) + - **Line:** 2216 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2920) + - **Line:** 2920 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2964) + - **Line:** 2964 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3043) + - **Line:** 3043 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3402) + - **Line:** 3402 + - **Context:** `Unknown` + +### UR-005 + +**Locations:** 103 file(s) + +- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L546) + - **Line:** 546 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L174) + - **Line:** 174 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2570) + - **Line:** 2570 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2728) + - **Line:** 2728 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2785) + - **Line:** 2785 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2982) + - **Line:** 2982 + - **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/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/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/VideoPlayer.touchScrub.test.ts`](../src/lib/components/player/VideoPlayer.touchScrub.test.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/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/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/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L536) + - **Line:** 536 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L927) + - **Line:** 927 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1484) + - **Line:** 1484 + - **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/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/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/stores/queue.ts`](../src/lib/stores/queue.ts#L7) + - **Line:** 7 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L108) + - **Line:** 108 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L113) + - **Line:** 113 + - **Context:** `async function next() {` +- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L118) + - **Line:** 118 + - **Context:** `async function previous() {` +- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L123) + - **Line:** 123 + - **Context:** `async function skipTo(index: number) {` +- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L128) + - **Line:** 128 + - **Context:** `async function toggleShuffle() {` +- **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/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/playbackCapabilities.ts`](../src/lib/services/playbackCapabilities.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#L27) + - **Line:** 27 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playbackReporting.ts`](../src/lib/services/playbackReporting.ts#L70) + - **Line:** 70 + - **Context:** `* This function is therefore the *local* half only, which is what its ...` +- **File:** [`src/lib/services/playbackReporting.ts`](../src/lib/services/playbackReporting.ts#L101) + - **Line:** 101 + - **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#L159) + - **Line:** 159 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playerEvents.ts`](../src/lib/services/playerEvents.ts#L189) + - **Line:** 189 + - **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/nativeAdapter.ts`](../src/lib/player/adapters/nativeAdapter.ts#L57) + - **Line:** 57 + - **Context:** `Unknown` +- **File:** [`src/lib/player/adapters/html5Adapter.test.ts`](../src/lib/player/adapters/html5Adapter.test.ts#L214) + - **Line:** 214 + - **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/player/adapters/html5Adapter.ts`](../src/lib/player/adapters/html5Adapter.ts#L172) + - **Line:** 172 + - **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/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/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/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/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/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#L303) + - **Line:** 303 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L499) + - **Line:** 499 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L536) + - **Line:** 536 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L651) + - **Line:** 651 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L659) + - **Line:** 659 + - **Context:** `pub fn is_html5_active(&self) -> bool {` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L703) + - **Line:** 703 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L763) + - **Line:** 763 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L872) + - **Line:** 872 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L944) + - **Line:** 944 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L959) + - **Line:** 959 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L970) + - **Line:** 970 + - **Context:** `pub fn observed_duration(&self) -> Option {` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1008) + - **Line:** 1008 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1306) + - **Line:** 1306 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1585) + - **Line:** 1585 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1601) + - **Line:** 1601 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L3251) + - **Line:** 3251 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4076) + - **Line:** 4076 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4119) + - **Line:** 4119 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4192) + - **Line:** 4192 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4207) + - **Line:** 4207 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4365) + - **Line:** 4365 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4383) + - **Line:** 4383 + - **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#L1930) + - **Line:** 1930 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1947) + - **Line:** 1947 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1975) + - **Line:** 1975 + - **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-007 + +**Locations:** 19 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/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/library.ts`](../src/lib/stores/library.ts#L2) + - **Line:** 2 + - **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/music.ts`](../src/lib/stores/music.ts#L3) + - **Line:** 3 + - **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) + - **Line:** 3 + - **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/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#L803) + - **Line:** 803 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L814) + - **Line:** 814 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3602) + - **Line:** 3602 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3638) + - **Line:** 3638 + - **Context:** `Unknown` ### UR-009 -**Locations:** 15 file(s) +**Locations:** 14 file(s) - **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L640) - **Line:** 640 @@ -5037,29 +5860,26 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L656) - **Line:** 656 - **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/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 +- **File:** [`src/lib/stores/auth.ts`](../src/lib/stores/auth.ts#L269) + - **Line:** 269 - **Context:** `Unknown` -- **File:** [`src/lib/stores/auth.ts`](../src/lib/stores/auth.ts#L293) - - **Line:** 293 +- **File:** [`src/lib/stores/auth.ts`](../src/lib/stores/auth.ts#L296) + - **Line:** 296 - **Context:** `Unknown` -- **File:** [`src/lib/utils/validation.test.ts`](../src/lib/utils/validation.test.ts#L4) - - **Line:** 4 +- **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#L26) + - **Line:** 26 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/device.rs`](../src-tauri/src/commands/device.rs#L4) - **Line:** 4 @@ -5077,6 +5897,291 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **Line:** 1 - **Context:** `Unknown` +### UR-010 + +**Locations:** 16 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/playbackMode.test.ts`](../src/lib/stores/playbackMode.test.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/sessions.ts`](../src/lib/stores/sessions.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/playback_mode/mod.rs`](../src-tauri/src/playback_mode/mod.rs#L165) + - **Line:** 165 + - **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:** 16 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#L296) + - **Line:** 296 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/auth.ts`](../src/lib/stores/auth.ts#L448) + - **Line:** 448 + - **Context:** `Unknown` +- **File:** [`src/lib/services/imageCache.ts`](../src/lib/services/imageCache.ts#L50) + - **Line:** 50 + - **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) + - **Line:** 10 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/credentials.rs`](../src-tauri/src/credentials.rs#L480) + - **Line:** 480 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/credentials.rs`](../src-tauri/src/credentials.rs#L905) + - **Line:** 905 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/credentials.rs`](../src-tauri/src/credentials.rs#L924) + - **Line:** 924 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/credentials.rs`](../src-tauri/src/credentials.rs#L941) + - **Line:** 941 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1101) + - **Line:** 1101 + - **Context:** `Unknown` +- **File:** [`scripts/tauri-security-config.test.ts`](../scripts/tauri-security-config.test.ts#L11) + - **Line:** 11 + - **Context:** `Unknown` + +### 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-015 + +**Locations:** 13 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` +- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L108) + - **Line:** 108 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L113) + - **Line:** 113 + - **Context:** `async function next() {` +- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L118) + - **Line:** 118 + - **Context:** `async function previous() {` +- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L123) + - **Line:** 123 + - **Context:** `async function skipTo(index: number) {` +- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L128) + - **Line:** 128 + - **Context:** `async function toggleShuffle() {` +- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L133) + - **Line:** 133 + - **Context:** `async function cycleRepeat() {` +- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L138) + - **Line:** 138 + - **Context:** `async function removeFromQueue(index: number) {` +- **File:** [`src/lib/stores/queue.ts`](../src/lib/stores/queue.ts#L143) + - **Line:** 143 + - **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 + - **Context:** `Unknown` + +### UR-018 + +**Locations:** 20 file(s) + +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L881) + - **Line:** 881 + - **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/lib/stores/downloads.ts`](../src/lib/stores/downloads.ts#L203) + - **Line:** 203 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L442) + - **Line:** 442 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L473) + - **Line:** 473 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L524) + - **Line:** 524 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L546) + - **Line:** 546 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L679) + - **Line:** 679 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L2527) + - **Line:** 2527 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3238) + - **Line:** 3238 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3303) + - **Line:** 3303 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3334) + - **Line:** 3334 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3367) + - **Line:** 3367 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3396) + - **Line:** 3396 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3410) + - **Line:** 3410 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3437) + - **Line:** 3437 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L915) + - **Line:** 915 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L956) + - **Line:** 956 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L135) + - **Line:** 135 + - **Context:** `Unknown` + +### UR-019 + +**Locations:** 18 file(s) + +- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L351) + - **Line:** 351 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1497) + - **Line:** 1497 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2785) + - **Line:** 2785 + - **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/repository.rs`](../src-tauri/src/commands/repository.rs#L307) + - **Line:** 307 + - **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 {` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L771) + - **Line:** 771 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1205) + - **Line:** 1205 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1410) + - **Line:** 1410 + - **Context:** `Unknown` + ### UR-020 **Locations:** 51 file(s) @@ -5084,35 +6189,14 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L154) - **Line:** 154 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2288) - - **Line:** 2288 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2380) + - **Line:** 2380 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2428) - - **Line:** 2428 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2520) + - **Line:** 2520 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L3046) - - **Line:** 3046 - - **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#L355) - - **Line:** 355 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L373) - - **Line:** 373 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L382) - - **Line:** 382 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L826) - - **Line:** 826 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L2197) - - **Line:** 2197 - - **Context:** `function toggleSubtitleMenu() {` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L2230) - - **Line:** 2230 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L3138) + - **Line:** 3138 - **Context:** `Unknown` - **File:** [`src/lib/components/player/subtitleTracks.test.ts`](../src/lib/components/player/subtitleTracks.test.ts#L18) - **Line:** 18 @@ -5144,12 +6228,39 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/components/player/subtitleTracks.ts`](../src/lib/components/player/subtitleTracks.ts#L245) - **Line:** 245 - **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#L358) + - **Line:** 358 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L376) + - **Line:** 376 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L385) + - **Line:** 385 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L829) + - **Line:** 829 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L2200) + - **Line:** 2200 + - **Context:** `function toggleSubtitleMenu() {` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L2233) + - **Line:** 2233 - **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/player/backend.rs`](../src-tauri/src/player/backend.rs#L119) + - **Line:** 119 + - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1) - **Line:** 1 - **Context:** `Unknown` @@ -5162,20 +6273,17 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1694) - **Line:** 1694 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2787) - - **Line:** 2787 +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2848) + - **Line:** 2848 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2844) - - **Line:** 2844 +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2905) + - **Line:** 2905 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2876) - - **Line:** 2876 +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2937) + - **Line:** 2937 - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/backend.rs`](../src-tauri/src/player/backend.rs#L119) - - **Line:** 119 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/media.rs`](../src-tauri/src/player/media.rs#L42) - - **Line:** 42 +- **File:** [`src-tauri/src/repository/types.rs`](../src-tauri/src/repository/types.rs#L265) + - **Line:** 265 - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L84) - **Line:** 84 @@ -5210,59 +6318,554 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L390) - **Line:** 390 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1041) - - **Line:** 1041 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1067) + - **Line:** 1067 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1739) - - **Line:** 1739 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1765) + - **Line:** 1765 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1809) - - **Line:** 1809 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1835) + - **Line:** 1835 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1922) - - **Line:** 1922 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1948) + - **Line:** 1948 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1968) - - **Line:** 1968 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1994) + - **Line:** 1994 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2980) - - **Line:** 2980 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3043) + - **Line:** 3043 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3003) - - **Line:** 3003 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/types.rs`](../src-tauri/src/repository/types.rs#L265) - - **Line:** 265 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3066) + - **Line:** 3066 - **Context:** `Unknown` -### UR-036 +### UR-021 -**Locations:** 5 file(s) +**Locations:** 13 file(s) -- **File:** [`src/lib/components/library/PersonDetailView.svelte`](../src/lib/components/library/PersonDetailView.svelte#L1) +- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L546) + - **Line:** 546 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L124) + - **Line:** 124 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L141) + - **Line:** 141 + - **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#L290) + - **Line:** 290 + - **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/backend.rs`](../src-tauri/src/player/backend.rs#L106) + - **Line:** 106 + - **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#L1490) + - **Line:** 1490 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1673) + - **Line:** 1673 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/storage/series_prefs.rs`](../src-tauri/src/commands/storage/series_prefs.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1174) + - **Line:** 1174 + - **Context:** `Unknown` + +### UR-023 + +**Locations:** 32 file(s) + +- **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/settings/+page.svelte`](../src/routes/settings/+page.svelte#L1) + - **Line:** 1 + - **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#L1497) + - **Line:** 1497 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1505) + - **Line:** 1505 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2785) + - **Line:** 2785 + - **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/lib/stores/tv.ts`](../src/lib/stores/tv.ts#L3) + - **Line:** 3 + - **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` +- **File:** [`src/lib/services/playerEvents.ts`](../src/lib/services/playerEvents.ts#L269) + - **Line:** 269 + - **Context:** `function handleMediaLoaded(duration: number): void {` +- **File:** [`src/lib/services/playerEvents.ts`](../src/lib/services/playerEvents.ts#L374) + - **Line:** 374 + - **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/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#L426) + - **Line:** 426 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1632) + - **Line:** 1632 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1874) + - **Line:** 1874 + - **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` - **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) +- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L307) + - **Line:** 307 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L333) + - **Line:** 333 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L910) + - **Line:** 910 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1205) + - **Line:** 1205 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1232) + - **Line:** 1232 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L1) + - **Line:** 1 + - **Context:** `Unknown` + +### UR-025 + +**Locations:** 68 file(s) + +- **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#L909) + - **Line:** 909 + - **Context:** `Unknown` +- **File:** [`src/routes/+layout.svelte`](../src/routes/+layout.svelte#L291) + - **Line:** 291 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1320) + - **Line:** 1320 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1657) + - **Line:** 1657 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L3171) + - **Line:** 3171 + - **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/services/playbackReporting.test.ts`](../src/lib/services/playbackReporting.test.ts#L4) + - **Line:** 4 + - **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` +- **File:** [`src/lib/services/pendingSync.logic.test.ts`](../src/lib/services/pendingSync.logic.test.ts#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/services/pendingSync.logic.ts`](../src/lib/services/pendingSync.logic.ts#L9) + - **Line:** 9 + - **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#L27) + - **Line:** 27 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playbackReporting.ts`](../src/lib/services/playbackReporting.ts#L101) + - **Line:** 101 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playbackReporting.ts`](../src/lib/services/playbackReporting.ts#L134) + - **Line:** 134 + - **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#L61) + - **Line:** 61 + - **Context:** `Unknown` +- **File:** [`src/lib/services/playerEvents.ts`](../src/lib/services/playerEvents.ts#L159) + - **Line:** 159 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L67) + - **Line:** 67 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L119) + - **Line:** 119 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L303) + - **Line:** 303 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L763) + - **Line:** 763 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L944) + - **Line:** 944 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L978) + - **Line:** 978 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L987) + - **Line:** 987 + - **Context:** `pub fn set_report_sink(&self, sink: Arc) {` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1306) + - **Line:** 1306 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1550) + - **Line:** 1550 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4192) + - **Line:** 4192 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4243) + - **Line:** 4243 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4270) + - **Line:** 4270 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4308) + - **Line:** 4308 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4336) + - **Line:** 4336 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4365) + - **Line:** 4365 + - **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/online.rs`](../src-tauri/src/repository/online.rs#L2373) - - **Line:** 2373 +- **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#L2382) - - **Line:** 2382 +- **File:** [`src-tauri/src/commands/sync.rs`](../src-tauri/src/commands/sync.rs#L33) + - **Line:** 33 + - **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/repository.rs`](../src-tauri/src/commands/repository.rs#L735) + - **Line:** 735 + - **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#L76) + - **Line:** 76 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L236) + - **Line:** 236 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L380) + - **Line:** 380 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L427) + - **Line:** 427 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L474) + - **Line:** 474 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L606) + - **Line:** 606 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L672) + - **Line:** 672 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L702) + - **Line:** 702 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L736) + - **Line:** 736 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L765) + - **Line:** 765 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L811) + - **Line:** 811 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L856) + - **Line:** 856 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L885) + - **Line:** 885 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L915) + - **Line:** 915 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L954) + - **Line:** 954 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L992) + - **Line:** 992 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L1007) + - **Line:** 1007 + - **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 {` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L688) + - **Line:** 688 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4692) + - **Line:** 4692 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4778) + - **Line:** 4778 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2366) + - **Line:** 2366 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L408) + - **Line:** 408 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L635) + - **Line:** 635 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L255) + - **Line:** 255 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1455) + - **Line:** 1455 - **Context:** `Unknown` -### UR-037 +### UR-026 -**Locations:** 4 file(s) +**Locations:** 19 file(s) +- **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#L2785) + - **Line:** 2785 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L3042) + - **Line:** 3042 + - **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#L269) + - **Line:** 269 + - **Context:** `function handleMediaLoaded(duration: number): void {` +- **File:** [`src/lib/services/playerEvents.ts`](../src/lib/services/playerEvents.ts#L329) + - **Line:** 329 + - **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/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#L426) + - **Line:** 426 + - **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 + +**Locations:** 23 file(s) + +- **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#L214) + - **Line:** 214 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2122) + - **Line:** 2122 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/android/mod.rs`](../src-tauri/src/player/android/mod.rs#L579) + - **Line:** 579 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/android/mod.rs`](../src-tauri/src/player/android/mod.rs#L617) + - **Line:** 617 + - **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#L50) + - **Line:** 50 + - **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` +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L46) + - **Line:** 46 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L140) + - **Line:** 140 + - **Context:** `pub fn with_crossfade_clamped(mut self) -> Self {` +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L380) + - **Line:** 380 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L397) + - **Line:** 397 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L421) + - **Line:** 421 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L457) + - **Line:** 457 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L486) + - **Line:** 486 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L513) + - **Line:** 513 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L524) + - **Line:** 524 + - **Context:** `Unknown` + +### UR-029 + +**Locations:** 5 file(s) + +- **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/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L1) +- **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 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/library.ts`](../src/lib/stores/library.ts#L2) + - **Line:** 2 + - **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-034 + +**Locations:** 17 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) @@ -5271,11 +6874,118 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/routes/library/tv/+page.svelte`](../src/routes/library/tv/+page.svelte#L8) - **Line:** 8 - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1497) + - **Line:** 1497 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1505) + - **Line:** 1505 + - **Context:** `Unknown` +- **File:** [`src/lib/components/home/HeroBanner.svelte`](../src/lib/components/home/HeroBanner.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/components/home/Carousel.svelte`](../src/lib/components/home/Carousel.svelte#L1) + - **Line:** 1 + - **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/lib/stores/tv.ts`](../src/lib/stores/tv.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/utils/heroMix.ts`](../src/lib/utils/heroMix.ts#L8) + - **Line:** 8 + - **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/repository.rs`](../src-tauri/src/commands/repository.rs#L307) + - **Line:** 307 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L333) + - **Line:** 333 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L888) + - **Line:** 888 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1410) + - **Line:** 1410 + - **Context:** `Unknown` + +### UR-035 + +**Locations:** 7 file(s) + +- **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 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1174) + - **Line:** 1174 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2415) + - **Line:** 2415 + - **Context:** `Unknown` + +### UR-037 + +**Locations:** 4 file(s) + +- **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/library/LibraryGrid.svelte`](../src/lib/components/library/LibraryGrid.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` + +### UR-038 + +**Locations:** 1 file(s) + +- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L1) + - **Line:** 1 + - **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-040 **Locations:** 70 file(s) +- **File:** [`src/lib/api/repository-client.test.ts`](../src/lib/api/repository-client.test.ts#L437) + - **Line:** 437 + - **Context:** `Unknown` +- **File:** [`src/lib/api/repository-client.test.ts`](../src/lib/api/repository-client.test.ts#L454) + - **Line:** 454 + - **Context:** `Unknown` - **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L38) - **Line:** 38 - **Context:** `Unknown` @@ -5288,26 +6998,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L331) - **Line:** 331 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1570) - - **Line:** 1570 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1612) + - **Line:** 1612 - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.test.ts`](../src/lib/api/repository-client.test.ts#L437) - - **Line:** 437 - - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.test.ts`](../src/lib/api/repository-client.test.ts#L454) - - **Line:** 454 - - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L242) - - **Line:** 242 - - **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#L1771) - - **Line:** 1771 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1797) - - **Line:** 1797 +- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L245) + - **Line:** 245 - **Context:** `Unknown` - **File:** [`src/lib/components/player/backgroundAudioHandoff.test.ts`](../src/lib/components/player/backgroundAudioHandoff.test.ts#L12) - **Line:** 12 @@ -5324,14 +7019,14 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/components/player/backgroundAudioHandoff.ts`](../src/lib/components/player/backgroundAudioHandoff.ts#L110) - **Line:** 110 - **Context:** `Unknown` -- **File:** [`src/lib/player/backgroundAudio.commands.test.ts`](../src/lib/player/backgroundAudio.commands.test.ts#L7) - - **Line:** 7 +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1) + - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/services/playerEvents.regression.test.ts`](../src/lib/services/playerEvents.regression.test.ts#L155) - - **Line:** 155 +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1774) + - **Line:** 1774 - **Context:** `Unknown` -- **File:** [`src/lib/services/playerEvents.ts`](../src/lib/services/playerEvents.ts#L287) - - **Line:** 287 +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1800) + - **Line:** 1800 - **Context:** `Unknown` - **File:** [`src/lib/utils/backgroundAudio.test.ts`](../src/lib/utils/backgroundAudio.test.ts#L7) - **Line:** 7 @@ -5339,35 +7034,38 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/utils/backgroundAudio.ts`](../src/lib/utils/backgroundAudio.ts#L4) - **Line:** 4 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L460) - - **Line:** 460 +- **File:** [`src/lib/services/playerEvents.regression.test.ts`](../src/lib/services/playerEvents.regression.test.ts#L155) + - **Line:** 155 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L480) - - **Line:** 480 +- **File:** [`src/lib/services/playerEvents.ts`](../src/lib/services/playerEvents.ts#L292) + - **Line:** 292 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L730) - - **Line:** 730 +- **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#L843) - - **Line:** 843 +- **File:** [`src-tauri/src/player/stream_end.rs`](../src-tauri/src/player/stream_end.rs#L3) + - **Line:** 3 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2958) - - **Line:** 2958 +- **File:** [`src-tauri/src/player/stream_end.rs`](../src-tauri/src/player/stream_end.rs#L54) + - **Line:** 54 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2978) - - **Line:** 2978 +- **File:** [`src-tauri/src/player/stream_end.rs`](../src-tauri/src/player/stream_end.rs#L91) + - **Line:** 91 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/timers.rs`](../src-tauri/src/commands/player/timers.rs#L145) - - **Line:** 145 +- **File:** [`src-tauri/src/player/seek.rs`](../src-tauri/src/player/seek.rs#L103) + - **Line:** 103 - **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/seek.rs`](../src-tauri/src/player/seek.rs#L152) + - **Line:** 152 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L611) - - **Line:** 611 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L464) - - **Line:** 464 +- **File:** [`src-tauri/src/player/seek.rs`](../src-tauri/src/player/seek.rs#L168) + - **Line:** 168 + - **Context:** `/ which backends reject (the "Raw(-10)" class of error).` +- **File:** [`src-tauri/src/player/seek.rs`](../src-tauri/src/player/seek.rs#L181) + - **Line:** 181 + - **Context:** `/ this function exists to prevent.` +- **File:** [`src-tauri/src/player/seek.rs`](../src-tauri/src/player/seek.rs#L192) + - **Line:** 192 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L119) - **Line:** 119 @@ -5444,1288 +7142,117 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4336) - **Line:** 4336 - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/seek.rs`](../src-tauri/src/player/seek.rs#L103) - - **Line:** 103 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/seek.rs`](../src-tauri/src/player/seek.rs#L152) - - **Line:** 152 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/seek.rs`](../src-tauri/src/player/seek.rs#L168) - - **Line:** 168 - - **Context:** `/ which backends reject (the "Raw(-10)" class of error).` -- **File:** [`src-tauri/src/player/seek.rs`](../src-tauri/src/player/seek.rs#L181) - - **Line:** 181 - - **Context:** `/ this function exists to prevent.` -- **File:** [`src-tauri/src/player/seek.rs`](../src-tauri/src/player/seek.rs#L192) - - **Line:** 192 - - **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/stream_end.rs`](../src-tauri/src/player/stream_end.rs#L54) - - **Line:** 54 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/stream_end.rs`](../src-tauri/src/player/stream_end.rs#L91) - - **Line:** 91 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L102) - - **Line:** 102 - - **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#L616) - - **Line:** 616 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2824) - - **Line:** 2824 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3078) - - **Line:** 3078 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3119) - - **Line:** 3119 - - **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#L730) - - **Line:** 730 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L843) - - **Line:** 843 - - **Context:** `Unknown` - -### IT-017 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L877) - - **Line:** 877 - - **Context:** `Unknown` - -### UT-042 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L2400) - - **Line:** 2400 - - **Context:** `Unknown` - -### UT-043 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L2400) - - **Line:** 2400 - - **Context:** `Unknown` - -### UT-044 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/commands/offline.rs`](../src-tauri/src/commands/offline.rs#L136) - - **Line:** 136 - - **Context:** `Unknown` - -### UT-061 - -**Locations:** 9 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/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1570) - - **Line:** 1570 - - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.test.ts`](../src/lib/api/repository-client.test.ts#L437) - - **Line:** 437 - - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.test.ts`](../src/lib/api/repository-client.test.ts#L454) - - **Line:** 454 - - **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#L730) - - **Line:** 730 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L843) - - **Line:** 843 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L611) - - **Line:** 611 - - **Context:** `Unknown` - -### UR-004 - -**Locations:** 65 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L331) - - **Line:** 331 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1556) - - **Line:** 1556 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2514) - - **Line:** 2514 - - **Context:** `export type PlaybackProgress = { itemId: string;` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2618) - - **Line:** 2618 - - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L224) - - **Line:** 224 - - **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.nativeReveal.test.ts`](../src/lib/components/player/VideoPlayer.nativeReveal.test.ts#L16) - - **Line:** 16 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L504) - - **Line:** 504 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1771) - - **Line:** 1771 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/hlsRecovery.test.ts`](../src/lib/components/player/hlsRecovery.test.ts#L16) - - **Line:** 16 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/hlsRecovery.ts`](../src/lib/components/player/hlsRecovery.ts#L11) - - **Line:** 11 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/mediaReady.test.ts`](../src/lib/components/player/mediaReady.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/mediaReady.ts`](../src/lib/components/player/mediaReady.ts#L4) - - **Line:** 4 - - **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/player/adapters/html5Adapter.test.ts`](../src/lib/player/adapters/html5Adapter.test.ts#L214) - - **Line:** 214 - - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/html5Adapter.ts`](../src/lib/player/adapters/html5Adapter.ts#L169) - - **Line:** 169 - - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/index.ts`](../src/lib/player/adapters/index.ts#L20) - - **Line:** 20 - - **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.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/stores/nativeVideo.default.test.ts`](../src/lib/stores/nativeVideo.default.test.ts#L15) - - **Line:** 15 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/nativeVideo.ts`](../src/lib/stores/nativeVideo.ts#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/nativeVideo.ts`](../src/lib/stores/nativeVideo.ts#L73) - - **Line:** 73 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/nativeVideoLayers.test.ts`](../src/lib/utils/nativeVideoLayers.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/videoSurface.ts`](../src/lib/utils/videoSurface.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L346) - - **Line:** 346 - - **Context:** `Unknown` -- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L541) - - **Line:** 541 - - **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/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1) - - **Line:** 1 +- **File:** [`src-tauri/src/commands/player/timers.rs`](../src-tauri/src/commands/player/timers.rs#L145) + - **Line:** 145 - **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/repository.rs`](../src-tauri/src/commands/repository.rs#L592) - - **Line:** 592 +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L460) + - **Line:** 460 - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/android/mod.rs`](../src-tauri/src/player/android/mod.rs#L438) - - **Line:** 438 +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L480) + - **Line:** 480 - **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#L251) - - **Line:** 251 +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L730) + - **Line:** 730 - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/media.rs`](../src-tauri/src/player/media.rs#L60) - - **Line:** 60 +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L843) + - **Line:** 843 - **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/player/mod.rs`](../src-tauri/src/player/mod.rs#L2) - - **Line:** 2 +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L3019) + - **Line:** 3019 - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1689) - - **Line:** 1689 +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L3039) + - **Line:** 3039 - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1779) - - **Line:** 1779 +- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L611) + - **Line:** 611 - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1810) - - **Line:** 1810 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L620) + - **Line:** 620 - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mpv_backend_test.rs`](../src-tauri/src/player/mpv_backend_test.rs#L8) - - **Line:** 8 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2887) + - **Line:** 2887 - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/stream_end.rs`](../src-tauri/src/player/stream_end.rs#L91) - - **Line:** 91 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3141) + - **Line:** 3141 - **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/repository/online.rs`](../src-tauri/src/repository/online.rs#L3182) + - **Line:** 3182 - **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/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L103) + - **Line:** 103 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L29) - - **Line:** 29 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L40) - - **Line:** 40 - - **Context:** `pub fn clamp_max_audio_channels(reported: Option) -> u32 {` -- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L120) - - **Line:** 120 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L150) - - **Line:** 150 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L213) - - **Line:** 213 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L238) - - **Line:** 238 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L260) - - **Line:** 260 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L277) - - **Line:** 277 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L306) - - **Line:** 306 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L344) - - **Line:** 344 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L362) - - **Line:** 362 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L523) - - **Line:** 523 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1739) - - **Line:** 1739 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1809) - - **Line:** 1809 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1922) - - **Line:** 1922 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2190) - - **Line:** 2190 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2857) - - **Line:** 2857 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2901) - - **Line:** 2901 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2980) - - **Line:** 2980 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3339) - - **Line:** 3339 - - **Context:** `Unknown` - -### UR-005 - -**Locations:** 103 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L174) - - **Line:** 174 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2478) - - **Line:** 2478 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2636) - - **Line:** 2636 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2693) - - **Line:** 2693 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2890) - - **Line:** 2890 - - **Context:** `export type RemoteSessionStatus = { position: number; duration: number...` -- **File:** [`src/lib/components/BottomUi.svelte`](../src/lib/components/BottomUi.svelte#L23) - - **Line:** 23 - - **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/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/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#L533) - - **Line:** 533 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L924) - - **Line:** 924 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1481) - - **Line:** 1481 - - **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/backgroundAudioHandoff.ts`](../src/lib/components/player/backgroundAudioHandoff.ts#L69) - - **Line:** 69 - - **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 - - **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/videoFit.ts`](../src/lib/components/player/videoFit.ts#L7) - - **Line:** 7 - - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/html5Adapter.test.ts`](../src/lib/player/adapters/html5Adapter.test.ts#L214) - - **Line:** 214 - - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/html5Adapter.ts`](../src/lib/player/adapters/html5Adapter.ts#L19) - - **Line:** 19 - - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/html5Adapter.ts`](../src/lib/player/adapters/html5Adapter.ts#L169) - - **Line:** 169 - - **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/nativeAdapter.ts`](../src/lib/player/adapters/nativeAdapter.ts#L57) - - **Line:** 57 - - **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/index.ts`](../src/lib/player/index.ts#L15) - - **Line:** 15 - - **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/services/playbackCapabilities.ts`](../src/lib/services/playbackCapabilities.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#L24) - - **Line:** 24 - - **Context:** `Unknown` -- **File:** [`src/lib/services/playbackReporting.ts`](../src/lib/services/playbackReporting.ts#L67) - - **Line:** 67 - - **Context:** `* This function is therefore the *local* half only, which is what its ...` -- **File:** [`src/lib/services/playbackReporting.ts`](../src/lib/services/playbackReporting.ts#L98) - - **Line:** 98 - - **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.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/services/playerEvents.ts`](../src/lib/services/playerEvents.ts#L186) - - **Line:** 186 - - **Context:** `Unknown` -- **File:** [`src/lib/services/webviewAudio.ts`](../src/lib/services/webviewAudio.ts#L18) - - **Line:** 18 - - **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/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/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/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/utils/layoutShell.ts`](../src/lib/utils/layoutShell.ts#L17) - - **Line:** 17 - - **Context:** `Unknown` -- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L541) - - **Line:** 541 - - **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` -- **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#L1907) - - **Line:** 1907 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1924) - - **Line:** 1924 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1952) - - **Line:** 1952 - - **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/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/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#L303) - - **Line:** 303 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L499) - - **Line:** 499 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L536) - - **Line:** 536 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L651) - - **Line:** 651 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L659) - - **Line:** 659 - - **Context:** `pub fn is_html5_active(&self) -> bool {` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L703) - - **Line:** 703 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L763) - - **Line:** 763 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L872) - - **Line:** 872 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L944) - - **Line:** 944 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L959) - - **Line:** 959 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L970) - - **Line:** 970 - - **Context:** `pub fn observed_duration(&self) -> Option {` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1008) - - **Line:** 1008 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1306) - - **Line:** 1306 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1585) - - **Line:** 1585 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1601) - - **Line:** 1601 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L3251) - - **Line:** 3251 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4076) - - **Line:** 4076 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4119) - - **Line:** 4119 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4192) - - **Line:** 4192 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4207) - - **Line:** 4207 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4365) - - **Line:** 4365 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4383) - - **Line:** 4383 - - **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/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/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` - -### UR-018 - -**Locations:** 20 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L881) - - **Line:** 881 - - **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/lib/stores/downloads.ts`](../src/lib/stores/downloads.ts#L200) - - **Line:** 200 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L915) - - **Line:** 915 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L956) - - **Line:** 956 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L363) - - **Line:** 363 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L394) - - **Line:** 394 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L445) - - **Line:** 445 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L467) - - **Line:** 467 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L600) - - **Line:** 600 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L2400) - - **Line:** 2400 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3018) - - **Line:** 3018 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3083) - - **Line:** 3083 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3114) - - **Line:** 3114 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3147) - - **Line:** 3147 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3176) - - **Line:** 3176 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3190) - - **Line:** 3190 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3217) - - **Line:** 3217 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L134) - - **Line:** 134 - - **Context:** `Unknown` - -### UR-019 - -**Locations:** 18 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1455) - - **Line:** 1455 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2693) - - **Line:** 2693 - - **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.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/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L346) - - **Line:** 346 - - **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/playback_reporting.rs`](../src-tauri/src/commands/playback_reporting.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L307) - - **Line:** 307 - - **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/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/repository/online.rs`](../src-tauri/src/repository/online.rs#L767) - - **Line:** 767 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1179) - - **Line:** 1179 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1384) - - **Line:** 1384 - - **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-021 - -**Locations:** 13 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L124) - - **Line:** 124 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L141) - - **Line:** 141 - - **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#L287) - - **Line:** 287 - - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/html5Adapter.ts`](../src/lib/player/adapters/html5Adapter.ts#L19) - - **Line:** 19 - - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/types.ts`](../src/lib/player/adapters/types.ts#L15) - - **Line:** 15 - - **Context:** `Unknown` -- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L541) - - **Line:** 541 - - **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#L1490) - - **Line:** 1490 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1673) - - **Line:** 1673 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/storage/series_prefs.rs`](../src-tauri/src/commands/storage/series_prefs.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/backend.rs`](../src-tauri/src/player/backend.rs#L106) - - **Line:** 106 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1148) - - **Line:** 1148 - - **Context:** `Unknown` - -### UR-023 - -**Locations:** 32 file(s) - -- **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#L1455) - - **Line:** 1455 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1463) - - **Line:** 1463 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2693) - - **Line:** 2693 - - **Context:** `Unknown` -- **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/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#L369) - - **Line:** 369 - - **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/lib/stores/nextEpisode.ts`](../src/lib/stores/nextEpisode.ts#L9) - - **Line:** 9 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/tv.ts`](../src/lib/stores/tv.ts#L3) - - **Line:** 3 - - **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/settings/+page.svelte`](../src/routes/settings/+page.svelte#L1) - - **Line:** 1 - - **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` -- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L307) - - **Line:** 307 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L333) - - **Line:** 333 - - **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/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#L426) - - **Line:** 426 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1632) - - **Line:** 1632 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1874) - - **Line:** 1874 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L884) - - **Line:** 884 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1179) - - **Line:** 1179 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1206) - - **Line:** 1206 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L1) - - **Line:** 1 - - **Context:** `Unknown` - -### UR-025 - -**Locations:** 69 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1278) - - **Line:** 1278 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1615) - - **Line:** 1615 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L3079) - - **Line:** 3079 - - **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/services/pendingSync.logic.test.ts`](../src/lib/services/pendingSync.logic.test.ts#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/services/pendingSync.logic.ts`](../src/lib/services/pendingSync.logic.ts#L9) - - **Line:** 9 - - **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#L24) - - **Line:** 24 - - **Context:** `Unknown` -- **File:** [`src/lib/services/playbackReporting.ts`](../src/lib/services/playbackReporting.ts#L98) - - **Line:** 98 - - **Context:** `Unknown` -- **File:** [`src/lib/services/playbackReporting.ts`](../src/lib/services/playbackReporting.ts#L131) +- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L131) - **Line:** 131 - **Context:** `Unknown` -- **File:** [`src/lib/services/playerEvents.ts`](../src/lib/services/playerEvents.ts#L156) - - **Line:** 156 +- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L468) + - **Line:** 468 - **Context:** `Unknown` -- **File:** [`src/lib/services/skipReporting.test.ts`](../src/lib/services/skipReporting.test.ts#L9) - - **Line:** 9 - - **Context:** `Unknown` -- **File:** [`src/lib/services/skipReporting.ts`](../src/lib/services/skipReporting.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/services/syncService.ts`](../src/lib/services/syncService.ts#L58) - - **Line:** 58 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/validation.test.ts`](../src/lib/utils/validation.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/routes/+layout.svelte`](../src/routes/+layout.svelte#L288) - - **Line:** 288 - - **Context:** `Unknown` -- **File:** [`src/routes/settings/+page.svelte`](../src/routes/settings/+page.svelte#L1) + +### UR-048 + +**Locations:** 6 file(s) + +- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L1) - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/routes/settings/+page.svelte`](../src/routes/settings/+page.svelte#L791) - - **Line:** 791 - - **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/playback_reporting.rs`](../src-tauri/src/commands/playback_reporting.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L735) - - **Line:** 735 - - **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/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#L14) - - **Line:** 14 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L76) - - **Line:** 76 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L236) - - **Line:** 236 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L380) - - **Line:** 380 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L427) - - **Line:** 427 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L474) - - **Line:** 474 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L606) - - **Line:** 606 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L672) - - **Line:** 672 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L702) - - **Line:** 702 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L736) - - **Line:** 736 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L765) - - **Line:** 765 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L811) - - **Line:** 811 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L856) - - **Line:** 856 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L885) - - **Line:** 885 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L915) - - **Line:** 915 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L954) - - **Line:** 954 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L992) - - **Line:** 992 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L1007) - - **Line:** 1007 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1435) - - **Line:** 1435 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L67) - - **Line:** 67 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L119) - - **Line:** 119 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L303) - - **Line:** 303 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L763) - - **Line:** 763 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L944) - - **Line:** 944 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L978) - - **Line:** 978 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L987) - - **Line:** 987 - - **Context:** `pub fn set_report_sink(&self, sink: Arc) {` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1306) - - **Line:** 1306 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1550) - - **Line:** 1550 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4192) - - **Line:** 4192 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4243) - - **Line:** 4243 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4270) - - **Line:** 4270 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4308) - - **Line:** 4308 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4336) - - **Line:** 4336 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4365) - - **Line:** 4365 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L367) - - **Line:** 367 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L581) - - **Line:** 581 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L253) - - **Line:** 253 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L688) - - **Line:** 688 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4578) - - **Line:** 4578 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4664) - - **Line:** 4664 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2328) - - **Line:** 2328 - - **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-026 - -**Locations:** 19 file(s) - -- **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#L2693) - - **Line:** 2693 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2950) - - **Line:** 2950 - - **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/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) +- **File:** [`src/lib/components/library/episodeStrip.ts`](../src/lib/components/library/episodeStrip.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 +- **File:** [`src/lib/components/library/EpisodeFocusView.test.ts`](../src/lib/components/library/EpisodeFocusView.test.ts#L7) + - **Line:** 7 - **Context:** `Unknown` -- **File:** [`src/lib/stores/sleepTimer.ts`](../src/lib/stores/sleepTimer.ts#L10) - - **Line:** 10 +- **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](../src/lib/components/library/EpisodeFocusView.svelte#L7) + - **Line:** 7 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/timers.rs`](../src-tauri/src/commands/player/timers.rs#L3) - - **Line:** 3 +- **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](../src/lib/components/library/EpisodeFocusView.svelte#L272) + - **Line:** 272 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/timers.rs`](../src-tauri/src/commands/player/timers.rs#L145) - - **Line:** 145 - - **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/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#L426) - - **Line:** 426 - - **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) {` - -### UR-027 - -**Locations:** 23 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L214) - - **Line:** 214 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2080) - - **Line:** 2080 - - **Context:** `Unknown` -- **File:** [`src/routes/settings/+page.svelte`](../src/routes/settings/+page.svelte#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` -- **File:** [`src-tauri/src/commands/player/settings.rs`](../src-tauri/src/commands/player/settings.rs#L50) - - **Line:** 50 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/android/mod.rs`](../src-tauri/src/player/android/mod.rs#L579) - - **Line:** 579 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/android/mod.rs`](../src-tauri/src/player/android/mod.rs#L617) - - **Line:** 617 - - **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/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/settings.rs`](../src-tauri/src/settings.rs#L46) - - **Line:** 46 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L140) - - **Line:** 140 - - **Context:** `pub fn with_crossfade_clamped(mut self) -> Self {` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L334) - - **Line:** 334 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L351) - - **Line:** 351 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L375) - - **Line:** 375 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L411) - - **Line:** 411 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L440) - - **Line:** 440 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L467) - - **Line:** 467 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L478) - - **Line:** 478 +- **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](../src/lib/components/library/EpisodeFocusView.svelte#L360) + - **Line:** 360 - **Context:** `Unknown` ### UR-049 **Locations:** 22 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1538) - - **Line:** 1538 +- **File:** [`src/routes/library/+page.svelte`](../src/routes/library/+page.svelte#L19) + - **Line:** 19 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2925) - - **Line:** 2925 +- **File:** [`src/routes/search/searchPage.test.ts`](../src/routes/search/searchPage.test.ts#L14) + - **Line:** 14 + - **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/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#L1580) + - **Line:** 1580 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L3017) + - **Line:** 3017 - **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/components/search/SearchScopeChips.svelte`](../src/lib/components/search/SearchScopeChips.svelte#L7) - - **Line:** 7 - - **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 - **Context:** `Unknown` -- **File:** [`src/lib/utils/layoutShell.ts`](../src/lib/utils/layoutShell.ts#L104) - - **Line:** 104 +- **File:** [`src/lib/stores/library.ts`](../src/lib/stores/library.ts#L239) + - **Line:** 239 - **Context:** `Unknown` - **File:** [`src/lib/utils/searchScope.ts`](../src/lib/utils/searchScope.ts#L9) - **Line:** 9 @@ -6742,20 +7269,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/utils/searchScope.ts`](../src/lib/utils/searchScope.ts#L125) - **Line:** 125 - **Context:** `Unknown` -- **File:** [`src/routes/library/+page.svelte`](../src/routes/library/+page.svelte#L19) - - **Line:** 19 - - **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/routes/search/+page.svelte`](../src/routes/search/+page.svelte#L62) - - **Line:** 62 - - **Context:** `Unknown` -- **File:** [`src/routes/search/searchPage.test.ts`](../src/routes/search/searchPage.test.ts#L14) - - **Line:** 14 +- **File:** [`src/lib/utils/layoutShell.ts`](../src/lib/utils/layoutShell.ts#L104) + - **Line:** 104 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L494) - **Line:** 494 @@ -6770,817 +7285,113 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **Line:** 439 - **Context:** `impl SearchOptions {` -### UR-050 +### UR-052 -**Locations:** 9 file(s) +**Locations:** 23 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1538) - - **Line:** 1538 +- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L94) + - **Line:** 94 - **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.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/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#L494) - - **Line:** 494 - - **Context:** `pub struct SearchUpdateEvent {` - -### UR-051 - -**Locations:** 2 file(s) - -- **File:** [`src/lib/components/library/LibraryGrid.svelte`](../src/lib/components/library/LibraryGrid.svelte#L1) - - **Line:** 1 +- **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/favorites/+page.svelte`](../src/routes/library/favorites/+page.svelte#L88) + - **Line:** 88 - **Context:** `Unknown` +- **File:** [`src/lib/components/library/GenericGenreBrowser.svelte`](../src/lib/components/library/GenericGenreBrowser.svelte#L67) + - **Line:** 67 + - **Context:** `async function reloadGenreBrowse() {` - **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L1) - **Line:** 1 - **Context:** `Unknown` - -### UR-074 - -**Locations:** 48 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L233) - - **Line:** 233 +- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](../src/lib/components/library/GenericMediaListPage.svelte#L103) + - **Line:** 103 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L254) - - **Line:** 254 +- **File:** [`src/lib/stores/connectivity.ts`](../src/lib/stores/connectivity.ts#L10) + - **Line:** 10 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2996) - - **Line:** 2996 +- **File:** [`src/lib/stores/connectivity.ts`](../src/lib/stores/connectivity.ts#L248) + - **Line:** 248 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L3021) - - **Line:** 3021 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L3156) - - **Line:** 3156 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L258) - - **Line:** 258 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L766) - - **Line:** 766 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L2160) - - **Line:** 2160 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L2589) - - **Line:** 2589 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/hlsRecovery.test.ts`](../src/lib/components/player/hlsRecovery.test.ts#L16) - - **Line:** 16 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/hlsRecovery.ts`](../src/lib/components/player/hlsRecovery.ts#L11) +- **File:** [`src/lib/services/offlineCatalog.reload.test.ts`](../src/lib/services/offlineCatalog.reload.test.ts#L11) - **Line:** 11 - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/html5Adapter.test.ts`](../src/lib/player/adapters/html5Adapter.test.ts#L253) - - **Line:** 253 +- **File:** [`src/lib/services/offlineCatalog.ts`](../src/lib/services/offlineCatalog.ts#L14) + - **Line:** 14 - **Context:** `Unknown` -- **File:** [`src/lib/player/index.ts`](../src/lib/player/index.ts#L195) - - **Line:** 195 +- **File:** [`src/lib/services/offlineCatalog.ts`](../src/lib/services/offlineCatalog.ts#L46) + - **Line:** 46 - **Context:** `Unknown` -- **File:** [`src/routes/settings/+page.svelte`](../src/routes/settings/+page.svelte#L71) - - **Line:** 71 +- **File:** [`src/lib/composables/useOfflineFilterReload.test.ts`](../src/lib/composables/useOfflineFilterReload.test.ts#L1) + - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/routes/settings/+page.svelte`](../src/routes/settings/+page.svelte#L343) - - **Line:** 343 - - **Context:** `function handleEpisodeLimitChange(value: number) {` -- **File:** [`src/routes/settings/+page.svelte`](../src/routes/settings/+page.svelte#L701) - - **Line:** 701 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L350) - - **Line:** 350 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1573) - - **Line:** 1573 - - **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#L25) - - **Line:** 25 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/settings.rs`](../src-tauri/src/commands/player/settings.rs#L85) - - **Line:** 85 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/settings.rs`](../src-tauri/src/commands/player/settings.rs#L107) - - **Line:** 107 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/settings.rs`](../src-tauri/src/commands/player/settings.rs#L122) - - **Line:** 122 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/settings.rs`](../src-tauri/src/commands/player/settings.rs#L158) - - **Line:** 158 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1307) - - **Line:** 1307 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L26) +- **File:** [`src/lib/composables/useOfflineFilterReload.ts`](../src/lib/composables/useOfflineFilterReload.ts#L26) - **Line:** 26 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L35) - - **Line:** 35 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L42) - - **Line:** 42 - - **Context:** `pub fn set_streaming_quality(quality: StreamingQuality) {` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L59) - - **Line:** 59 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L73) - - **Line:** 73 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L89) - - **Line:** 89 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L463) - - **Line:** 463 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L523) - - **Line:** 523 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L653) - - **Line:** 653 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1665) - - **Line:** 1665 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1949) - - **Line:** 1949 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2755) - - **Line:** 2755 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2779) - - **Line:** 2779 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2801) - - **Line:** 2801 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2824) - - **Line:** 2824 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2901) - - **Line:** 2901 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2951) - - **Line:** 2951 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3047) - - **Line:** 3047 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L164) - - **Line:** 164 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L299) - - **Line:** 299 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L604) - - **Line:** 604 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L640) - - **Line:** 640 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L667) - - **Line:** 667 - - **Context:** `Unknown` - -### UT-010 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/stores/downloads.test.ts`](../src/lib/stores/downloads.test.ts#L2) - - **Line:** 2 - - **Context:** `Unknown` - -### UT-024 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/stores/downloads.test.ts`](../src/lib/stores/downloads.test.ts#L2) - - **Line:** 2 - - **Context:** `Unknown` - -### UT-052 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/stores/downloads.test.ts`](../src/lib/stores/downloads.test.ts#L316) - - **Line:** 316 - - **Context:** `Unknown` - -### UT-060 - -**Locations:** 4 file(s) - -- **File:** [`src/lib/components/player/backgroundAudioHandoff.test.ts`](../src/lib/components/player/backgroundAudioHandoff.test.ts#L12) - - **Line:** 12 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/backgroundAudioHandoff.ts`](../src/lib/components/player/backgroundAudioHandoff.ts#L4) - - **Line:** 4 - - **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/backgroundAudioHandoff.ts`](../src/lib/components/player/backgroundAudioHandoff.ts#L110) - - **Line:** 110 - - **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-071 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/utils/formatBytes.test.ts`](../src/lib/utils/formatBytes.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` - -### UT-085 - -**Locations:** 2 file(s) - -- **File:** [`src/lib/components/player/tapGestures.ts`](../src/lib/components/player/tapGestures.ts#L21) - - **Line:** 21 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mpv_backend.rs`](../src-tauri/src/player/mpv_backend.rs#L778) - - **Line:** 778 - - **Context:** `Unknown` - -### UT-086 - -**Locations:** 2 file(s) - -- **File:** [`src/lib/components/player/tapGestures.ts`](../src/lib/components/player/tapGestures.ts#L21) - - **Line:** 21 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mpv_backend.rs`](../src-tauri/src/player/mpv_backend.rs#L788) - - **Line:** 788 - - **Context:** `Unknown` - -### UT-087 - -**Locations:** 2 file(s) - -- **File:** [`src/lib/components/player/tapGestures.ts`](../src/lib/components/player/tapGestures.ts#L21) - - **Line:** 21 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mpv_backend.rs`](../src-tauri/src/player/mpv_backend.rs#L833) - - **Line:** 833 - - **Context:** `Unknown` - -### UT-088 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/components/player/tapGestures.ts`](../src/lib/components/player/tapGestures.ts#L21) - - **Line:** 21 - - **Context:** `Unknown` - -### UT-089 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/components/player/VideoPlayer.touchScrub.test.ts`](../src/lib/components/player/VideoPlayer.touchScrub.test.ts#L21) - - **Line:** 21 - - **Context:** `Unknown` - -### UT-090 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/components/player/VideoPlayer.touchScrub.test.ts`](../src/lib/components/player/VideoPlayer.touchScrub.test.ts#L21) - - **Line:** 21 - - **Context:** `Unknown` - -### UT-091 - -**Locations:** 2 file(s) - -- **File:** [`src/lib/player/index.ts`](../src/lib/player/index.ts#L15) - - **Line:** 15 - - **Context:** `Unknown` -- **File:** [`src/lib/player/transport.authority.test.ts`](../src/lib/player/transport.authority.test.ts#L4) - - **Line:** 4 - - **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 - - **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 - - **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-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-098 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/utils/layoutShell.test.ts`](../src/lib/utils/layoutShell.test.ts#L158) - - **Line:** 158 - - **Context:** `Unknown` - -### UT-103 - -**Locations:** 6 file(s) - -- **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L12) - - **Line:** 12 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L78) - - **Line:** 78 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L286) - - **Line:** 286 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L320) - - **Line:** 320 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L340) - - **Line:** 340 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L356) - - **Line:** 356 - - **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/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/routes/library/favorites/+page.svelte`](../src/routes/library/favorites/+page.svelte#L41) - - **Line:** 41 - - **Context:** `Unknown` - -### UT-115 - -**Locations:** 2 file(s) - -- **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#L763) - - **Line:** 763 - - **Context:** `Unknown` - -### UT-117 - -**Locations:** 8 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L331) - - **Line:** 331 - - **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/player/mod.rs`](../src-tauri/src/player/mod.rs#L1689) - - **Line:** 1689 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1722) - - **Line:** 1722 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1779) - - **Line:** 1779 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1810) - - **Line:** 1810 - - **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/stream_end.rs`](../src-tauri/src/player/stream_end.rs#L54) - - **Line:** 54 - - **Context:** `Unknown` - -### UR-071 - -**Locations:** 64 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L367) - - **Line:** 367 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1013) - - **Line:** 1013 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1940) - - **Line:** 1940 - - **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/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L241) - - **Line:** 241 - - **Context:** `Unknown` -- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L250) - - **Line:** 250 - - **Context:** `Unknown` -- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L315) - - **Line:** 315 - - **Context:** `Unknown` -- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L319) - - **Line:** 319 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L114) - - **Line:** 114 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L489) - - **Line:** 489 - - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L550) - **Line:** 550 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L688) - - **Line:** 688 +- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L877) + - **Line:** 877 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L1000) - **Line:** 1000 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L1038) - - **Line:** 1038 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L1061) - - **Line:** 1061 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L1089) - - **Line:** 1089 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L280) - - **Line:** 280 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L439) - - **Line:** 439 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L460) - - **Line:** 460 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L480) - - **Line:** 480 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L510) - - **Line:** 510 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L562) - - **Line:** 562 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L748) - - **Line:** 748 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2910) - - **Line:** 2910 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2958) - - **Line:** 2958 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2978) - - **Line:** 2978 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2994) - - **Line:** 2994 - - **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 - - **Context:** `Unknown` -- **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#L320) - - **Line:** 320 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/download/cache.rs`](../src-tauri/src/download/cache.rs#L428) - - **Line:** 428 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/download/cache.rs`](../src-tauri/src/download/cache.rs#L550) - - **Line:** 550 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/download/worker.rs`](../src-tauri/src/download/worker.rs#L219) - - **Line:** 219 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/download/worker.rs`](../src-tauri/src/download/worker.rs#L313) - - **Line:** 313 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1093) - - **Line:** 1093 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1338) - - **Line:** 1338 - - **Context:** `Unknown` -- **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#L70) - - **Line:** 70 - - **Context:** `pub fn url_for(&self, path: &str) -> String {` -- **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` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L877) - - **Line:** 877 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4013) - - **Line:** 4013 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L277) - - **Line:** 277 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L457) - - **Line:** 457 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L210) - - **Line:** 210 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L345) - - **Line:** 345 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L367) - - **Line:** 367 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2113) - - **Line:** 2113 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2190) - - **Line:** 2190 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3339) - - **Line:** 3339 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3371) - - **Line:** 3371 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3397) - - **Line:** 3397 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/storage/schema.rs`](../src-tauri/src/storage/schema.rs#L813) - - **Line:** 813 - - **Context:** `Unknown` -- **File:** [`scripts/tauri-security-config.test.ts`](../scripts/tauri-security-config.test.ts#L11) - - **Line:** 11 - - **Context:** `Unknown` - -### UT-116 - -**Locations:** 4 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L367) - - **Line:** 367 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L510) - - **Line:** 510 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L562) - - **Line:** 562 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2994) - - **Line:** 2994 - - **Context:** `Unknown` - -### UR-034 - -**Locations:** 17 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1455) - - **Line:** 1455 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1463) - - **Line:** 1463 - - **Context:** `Unknown` -- **File:** [`src/lib/components/home/Carousel.svelte`](../src/lib/components/home/Carousel.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/components/home/HeroBanner.svelte`](../src/lib/components/home/HeroBanner.svelte#L1) - - **Line:** 1 - - **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) +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3) - **Line:** 3 - **Context:** `Unknown` -- **File:** [`src/lib/stores/music.ts`](../src/lib/stores/music.ts#L3) - - **Line:** 3 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L24) + - **Line:** 24 - **Context:** `Unknown` -- **File:** [`src/lib/stores/tv.ts`](../src/lib/stores/tv.ts#L3) - - **Line:** 3 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L43) + - **Line:** 43 - **Context:** `Unknown` -- **File:** [`src/lib/utils/heroMix.ts`](../src/lib/utils/heroMix.ts#L8) +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3026) + - **Line:** 3026 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L8) - **Line:** 8 - **Context:** `Unknown` -- **File:** [`src/routes/library/movies/+page.svelte`](../src/routes/library/movies/+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/routes/library/tv/+page.svelte`](../src/routes/library/tv/+page.svelte#L8) - - **Line:** 8 - - **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/repository.rs`](../src-tauri/src/commands/repository.rs#L307) - - **Line:** 307 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L333) - - **Line:** 333 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L862) - - **Line:** 862 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1384) - - **Line:** 1384 - - **Context:** `Unknown` -### UR-053 +### UR-054 -**Locations:** 17 file(s) +**Locations:** 7 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1132) - - **Line:** 1132 +- **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#L1143) - - **Line:** 1143 +- **File:** [`src/lib/components/search/HeaderSearch.test.ts`](../src/lib/components/search/HeaderSearch.test.ts#L9) + - **Line:** 9 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2304) - - **Line:** 2304 - - **Context:** `export type MergedMediaItem = { id: string; title: string; artist: str...` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2313) - - **Line:** 2313 - - **Context:** `export type NetworkStateWrapperArg = { networkType: NetworkType; unmet...` -- **File:** [`src/lib/services/networkType.test.ts`](../src/lib/services/networkType.test.ts#L4) - - **Line:** 4 +- **File:** [`src/lib/components/account/AccountMenu.svelte`](../src/lib/components/account/AccountMenu.svelte#L7) + - **Line:** 7 - **Context:** `Unknown` -- **File:** [`src/lib/services/networkType.ts`](../src/lib/services/networkType.ts#L10) +- **File:** [`src/lib/components/AppHeader.svelte`](../src/lib/components/AppHeader.svelte#L10) - **Line:** 10 - **Context:** `Unknown` -- **File:** [`src/lib/stores/downloads.ts`](../src/lib/stores/downloads.ts#L81) - - **Line:** 81 +- **File:** [`src/lib/utils/layoutShell.ts`](../src/lib/utils/layoutShell.ts#L82) + - **Line:** 82 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L31) - - **Line:** 31 - - **Context:** `pub struct DownloadManagerWrapper(pub Mutex);` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L40) - - **Line:** 40 - - **Context:** `pub struct NetworkStateWrapper(pub NetworkStateHandle);` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L83) - - **Line:** 83 +- **File:** [`src/lib/utils/layoutShell.ts`](../src/lib/utils/layoutShell.ts#L104) + - **Line:** 104 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L96) - - **Line:** 96 - - **Context:** `pub struct NetworkStateWrapperArg {` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L1646) - - **Line:** 1646 +- **File:** [`src/lib/utils/scrollRestore.ts`](../src/lib/utils/scrollRestore.ts#L26) + - **Line:** 26 - **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/events.rs`](../src-tauri/src/download/events.rs#L47) - - **Line:** 47 - - **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 {` ### UR-055 **Locations:** 54 file(s) +- **File:** [`src/routes/downloads/+page.svelte`](../src/routes/downloads/+page.svelte#L14) + - **Line:** 14 + - **Context:** `Unknown` - **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L881) - **Line:** 881 - **Context:** `Unknown` @@ -7593,26 +7404,32 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L973) - **Line:** 973 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1413) - - **Line:** 1413 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1455) + - **Line:** 1455 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1421) - - **Line:** 1421 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1463) + - **Line:** 1463 - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L97) - - **Line:** 97 +- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L100) + - **Line:** 100 - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L105) - - **Line:** 105 +- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L108) + - **Line:** 108 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L29) + - **Line:** 29 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L34) + - **Line:** 34 - **Context:** `Unknown` - **File:** [`src/lib/components/downloads/DownloadedBrowse.svelte`](../src/lib/components/downloads/DownloadedBrowse.svelte#L10) - **Line:** 10 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L26) - - **Line:** 26 +- **File:** [`src/lib/stores/downloads.test.ts`](../src/lib/stores/downloads.test.ts#L316) + - **Line:** 316 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L31) - - **Line:** 31 +- **File:** [`src/lib/stores/downloads.ts`](../src/lib/stores/downloads.ts#L203) + - **Line:** 203 - **Context:** `Unknown` - **File:** [`src/lib/services/downloadedCatalog.ts`](../src/lib/services/downloadedCatalog.ts#L12) - **Line:** 12 @@ -7620,14 +7437,50 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/services/downloadedCatalog.ts`](../src/lib/services/downloadedCatalog.ts#L95) - **Line:** 95 - **Context:** `function sizeOf(itemId: string): number {` -- **File:** [`src/lib/stores/downloads.test.ts`](../src/lib/stores/downloads.test.ts#L316) - - **Line:** 316 +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L442) + - **Line:** 442 - **Context:** `Unknown` -- **File:** [`src/lib/stores/downloads.ts`](../src/lib/stores/downloads.ts#L200) - - **Line:** 200 +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L473) + - **Line:** 473 - **Context:** `Unknown` -- **File:** [`src/routes/downloads/+page.svelte`](../src/routes/downloads/+page.svelte#L14) - - **Line:** 14 +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L524) + - **Line:** 524 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L546) + - **Line:** 546 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L679) + - **Line:** 679 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L1226) + - **Line:** 1226 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L1260) + - **Line:** 1260 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L2425) + - **Line:** 2425 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3238) + - **Line:** 3238 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3303) + - **Line:** 3303 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3334) + - **Line:** 3334 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3367) + - **Line:** 3367 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3396) + - **Line:** 3396 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3410) + - **Line:** 3410 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3437) + - **Line:** 3437 - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L915) - **Line:** 915 @@ -7635,51 +7488,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L956) - **Line:** 956 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L363) - - **Line:** 363 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L394) - - **Line:** 394 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L445) - - **Line:** 445 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L467) - - **Line:** 467 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L600) - - **Line:** 600 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L1147) - - **Line:** 1147 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L1181) - - **Line:** 1181 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L2298) - - **Line:** 2298 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3018) - - **Line:** 3018 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3083) - - **Line:** 3083 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3114) - - **Line:** 3114 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3147) - - **Line:** 3147 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3176) - - **Line:** 3176 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3190) - - **Line:** 3190 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3217) - - **Line:** 3217 - - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L222) - **Line:** 222 - **Context:** `Unknown` @@ -7698,15 +7506,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/download/worker.rs`](../src-tauri/src/download/worker.rs#L336) - **Line:** 336 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L134) - - **Line:** 134 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L232) - - **Line:** 232 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L243) - - **Line:** 243 - - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L848) - **Line:** 848 - **Context:** `Unknown` @@ -7719,55 +7518,73 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L990) - **Line:** 990 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3698) - - **Line:** 3698 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3705) + - **Line:** 3705 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3720) - - **Line:** 3720 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3727) + - **Line:** 3727 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3760) - - **Line:** 3760 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3767) + - **Line:** 3767 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3830) - - **Line:** 3830 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3837) + - **Line:** 3837 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3876) - - **Line:** 3876 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3883) + - **Line:** 3883 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3897) - - **Line:** 3897 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3904) + - **Line:** 3904 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3916) - - **Line:** 3916 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3923) + - **Line:** 3923 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3977) - - **Line:** 3977 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3984) + - **Line:** 3984 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L135) + - **Line:** 135 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L256) + - **Line:** 256 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L271) + - **Line:** 271 - **Context:** `Unknown` ### UR-056 **Locations:** 17 file(s) -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1429) - - **Line:** 1429 +- **File:** [`src/routes/downloads/+page.svelte`](../src/routes/downloads/+page.svelte#L14) + - **Line:** 14 - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2005) - - **Line:** 2005 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1471) + - **Line:** 1471 - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L113) - - **Line:** 113 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2047) + - **Line:** 2047 - **Context:** `Unknown` -- **File:** [`src/lib/components/downloads/DownloadedBrowse.svelte`](../src/lib/components/downloads/DownloadedBrowse.svelte#L10) - - **Line:** 10 +- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L116) + - **Line:** 116 - **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 +- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L23) + - **Line:** 23 - **Context:** `Unknown` -- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L31) - - **Line:** 31 +- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L34) + - **Line:** 34 + - **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 @@ -7775,1896 +7592,20 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src/lib/services/downloadedCatalog.ts`](../src/lib/services/downloadedCatalog.ts#L95) - **Line:** 95 - **Context:** `function sizeOf(itemId: string): number {` -- **File:** [`src/lib/utils/formatBytes.test.ts`](../src/lib/utils/formatBytes.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/formatBytes.ts`](../src/lib/utils/formatBytes.ts#L8) - - **Line:** 8 - - **Context:** `Unknown` -- **File:** [`src/routes/downloads/+page.svelte`](../src/routes/downloads/+page.svelte#L14) - - **Line:** 14 - - **Context:** `Unknown` - **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L254) - **Line:** 254 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L250) - - **Line:** 250 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L1036) - - **Line:** 1036 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3938) - - **Line:** 3938 - - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/types.rs`](../src-tauri/src/repository/types.rs#L303) - **Line:** 303 - **Context:** `Unknown` - -### UR-064 - -**Locations:** 7 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1503) - - **Line:** 1503 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L1036) + - **Line:** 1036 - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L165) - - **Line:** 165 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3945) + - **Line:** 3945 - **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 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L399) - - **Line:** 399 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L245) - - **Line:** 245 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2287) - - **Line:** 2287 - - **Context:** `Unknown` - -### UR-073 - -**Locations:** 6 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L830) - - **Line:** 830 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/WatchedToggleButton.svelte`](../src/lib/components/library/WatchedToggleButton.svelte#L13) - - **Line:** 13 - - **Context:** `Unknown` -- **File:** [`src/lib/services/syncService.ts`](../src/lib/services/syncService.ts#L121) - - **Line:** 121 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/storage/mod.rs`](../src-tauri/src/commands/storage/mod.rs#L891) - - **Line:** 891 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L1047) - - **Line:** 1047 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L1064) - - **Line:** 1064 - - **Context:** `Unknown` - -### UT-118 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/player/localSource.ts`](../src/lib/player/localSource.ts#L12) - - **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#L439) - - **Line:** 439 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2910) - - **Line:** 2910 - - **Context:** `Unknown` - -### UT-123 - -**Locations:** 2 file(s) - -- **File:** [`src/lib/services/pendingSync.logic.test.ts`](../src/lib/services/pendingSync.logic.test.ts#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/services/pendingSync.logic.ts`](../src/lib/services/pendingSync.logic.ts#L9) - - **Line:** 9 - - **Context:** `Unknown` - -### UT-124 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/player/localSource.ts`](../src/lib/player/localSource.ts#L55) - - **Line:** 55 - - **Context:** `Unknown` - -### UT-125 - -**Locations:** 3 file(s) - -- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L1000) - - **Line:** 1000 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L1038) - - **Line:** 1038 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L1061) - - **Line:** 1061 - - **Context:** `Unknown` - -### UT-136 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/components/library/seriesNavigation.test.ts`](../src/lib/components/library/seriesNavigation.test.ts#L1) - - **Line:** 1 - - **Context:** `Unknown` - -### UT-137 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/services/offlineCatalog.reload.test.ts`](../src/lib/services/offlineCatalog.reload.test.ts#L11) - - **Line:** 11 - - **Context:** `Unknown` - -### UT-138 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/services/offlineCatalog.reload.test.ts`](../src/lib/services/offlineCatalog.reload.test.ts#L11) - - **Line:** 11 - - **Context:** `Unknown` - -### UT-139 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/services/offlineCatalog.reload.test.ts`](../src/lib/services/offlineCatalog.reload.test.ts#L11) - - **Line:** 11 - - **Context:** `Unknown` - -### UT-140 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/composables/useOfflineFilterReload.test.ts`](../src/lib/composables/useOfflineFilterReload.test.ts#L1) - - **Line:** 1 - - **Context:** `Unknown` - -### UT-143 - -**Locations:** 3 file(s) - -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L373) - - **Line:** 373 - - **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#L382) - - **Line:** 382 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L826) - - **Line:** 826 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L2230) - - **Line:** 2230 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](../src/lib/components/player/subtitleTracks.test.ts#L221) - - **Line:** 221 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](../src/lib/components/player/subtitleTracks.test.ts#L344) - - **Line:** 344 - - **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#L210) - - **Line:** 210 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/subtitleTracks.ts`](../src/lib/components/player/subtitleTracks.ts#L245) - - **Line:** 245 - - **Context:** `Unknown` - -### UT-149 - -**Locations:** 2 file(s) - -- **File:** [`src/lib/player/adapters/adapterSelection.test.ts`](../src/lib/player/adapters/adapterSelection.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/index.ts`](../src/lib/player/adapters/index.ts#L20) - - **Line:** 20 - - **Context:** `Unknown` - -### UT-151 - -**Locations:** 7 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1615) - - **Line:** 1615 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L735) - - **Line:** 735 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L380) - - **Line:** 380 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L856) - - **Line:** 856 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L885) - - **Line:** 885 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L915) - - **Line:** 915 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L954) - - **Line:** 954 - - **Context:** `Unknown` - -### UT-158 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/components/library/mosaic.ts`](../src/lib/components/library/mosaic.ts#L12) - - **Line:** 12 - - **Context:** `Unknown` - -### UT-159 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/components/library/mosaic.ts`](../src/lib/components/library/mosaic.ts#L12) - - **Line:** 12 - - **Context:** `Unknown` - -### UT-160 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/components/library/mosaic.ts`](../src/lib/components/library/mosaic.ts#L12) - - **Line:** 12 - - **Context:** `Unknown` - -### UT-167 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/components/library/libraryMosaic.ts`](../src/lib/components/library/libraryMosaic.ts#L12) - - **Line:** 12 - - **Context:** `Unknown` - -### UT-170 - -**Locations:** 8 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L881) - - **Line:** 881 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L467) - - **Line:** 467 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L600) - - **Line:** 600 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3018) - - **Line:** 3018 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3083) - - **Line:** 3083 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3114) - - **Line:** 3114 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3190) - - **Line:** 3190 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3217) - - **Line:** 3217 - - **Context:** `Unknown` - -### UR-028 - -**Locations:** 2 file(s) - -- **File:** [`src/lib/components/player/AudioPlayer.svelte`](../src/lib/components/player/AudioPlayer.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/MiniPlayer.svelte`](../src/lib/components/player/MiniPlayer.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` - -### UR-041 - -**Locations:** 3 file(s) - -- **File:** [`src/lib/components/player/VideoPlayer.nativeReveal.test.ts`](../src/lib/components/player/VideoPlayer.nativeReveal.test.ts#L16) - - **Line:** 16 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/pictureInPicture.ts`](../src/lib/utils/pictureInPicture.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/pictureInPicture.ts`](../src/lib/utils/pictureInPicture.ts#L107) - - **Line:** 107 - - **Context:** `Unknown` - -### UR-062 - -**Locations:** 17 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1476) - - **Line:** 1476 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1489) - - **Line:** 1489 - - **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/components/library/EpisodeRow.svelte`](../src/lib/components/library/EpisodeRow.svelte#L17) - - **Line:** 17 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/SeasonSection.svelte`](../src/lib/components/library/SeasonSection.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/SeasonSection.svelte`](../src/lib/components/library/SeasonSection.svelte#L20) - - **Line:** 20 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/episodeStrip.ts`](../src/lib/components/library/episodeStrip.ts#L8) - - **Line:** 8 - - **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/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L115) - - **Line:** 115 - - **Context:** `Unknown` -- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L188) - - **Line:** 188 - - **Context:** `Unknown` -- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L309) - - **Line:** 309 - - **Context:** `async function handlePlayAll() {` -- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L356) - - **Line:** 356 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L377) - - **Line:** 377 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/series_progress.rs`](../src-tauri/src/repository/series_progress.rs#L12) - - **Line:** 12 - - **Context:** `Unknown` - -### UT-144 - -**Locations:** 3 file(s) - -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L373) - - **Line:** 373 - - **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-172 - -**Locations:** 3 file(s) - -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L445) - - **Line:** 445 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3147) - - **Line:** 3147 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3176) - - **Line:** 3176 - - **Context:** `Unknown` - -### UT-175 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/player/adapters/html5Adapter.test.ts`](../src/lib/player/adapters/html5Adapter.test.ts#L253) - - **Line:** 253 - - **Context:** `Unknown` - -### UT-182 - -**Locations:** 5 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1556) - - **Line:** 1556 - - **Context:** `Unknown` -- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L224) - - **Line:** 224 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L592) - - **Line:** 592 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L523) - - **Line:** 523 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2901) - - **Line:** 2901 - - **Context:** `Unknown` - -### UR-066 - -**Locations:** 11 file(s) - -- **File:** [`src/lib/components/BottomUi.svelte`](../src/lib/components/BottomUi.svelte#L23) - - **Line:** 23 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L471) - - **Line:** 471 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1885) - - **Line:** 1885 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/controlsVisibility.test.ts`](../src/lib/components/player/controlsVisibility.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/controlsVisibility.ts`](../src/lib/components/player/controlsVisibility.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/immersive.ts`](../src/lib/utils/immersive.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/layoutShell.test.ts`](../src/lib/utils/layoutShell.test.ts#L158) - - **Line:** 158 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/layoutShell.ts`](../src/lib/utils/layoutShell.ts#L129) - - **Line:** 129 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/safeArea.test.ts`](../src/lib/utils/safeArea.test.ts#L17) - - **Line:** 17 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/safeArea.ts`](../src/lib/utils/safeArea.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/routes/+layout.svelte`](../src/routes/+layout.svelte#L261) - - **Line:** 261 - - **Context:** `Unknown` - -### UR-067 - -**Locations:** 41 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1647) - - **Line:** 1647 - - **Context:** `Unknown` -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2105) - - **Line:** 2105 - - **Context:** `export type GetItemsOptions = { startIndex?: number | null; limit?: nu...` -- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L330) - - **Line:** 330 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](../src/lib/components/library/GenericMediaListPage.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](../src/lib/components/library/GenericMediaListPage.svelte#L151) - - **Line:** 151 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](../src/lib/components/library/GenericMediaListPage.svelte#L167) - - **Line:** 167 - - **Context:** `function handleSearch(query: string) {` -- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](../src/lib/components/library/GenericMediaListPage.svelte#L288) - - **Line:** 288 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/libraryMosaic.ts`](../src/lib/components/library/libraryMosaic.ts#L12) - - **Line:** 12 - - **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` -- **File:** [`src/lib/stores/home.ts`](../src/lib/stores/home.ts#L18) - - **Line:** 18 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/home.ts`](../src/lib/stores/home.ts#L60) - - **Line:** 60 - - **Context:** `Unknown` -- **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/routes/+page.svelte`](../src/routes/+page.svelte#L155) - - **Line:** 155 - - **Context:** `Unknown` -- **File:** [`src/routes/+page.svelte`](../src/routes/+page.svelte#L255) - - **Line:** 255 - - **Context:** `Unknown` -- **File:** [`src/routes/library/+page.svelte`](../src/routes/library/+page.svelte#L215) - - **Line:** 215 - - **Context:** `Unknown` -- **File:** [`src/routes/library/+page.svelte`](../src/routes/library/+page.svelte#L258) - - **Line:** 258 - - **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-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L898) - - **Line:** 898 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L935) - - **Line:** 935 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L173) - - **Line:** 173 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L188) - - **Line:** 188 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L969) - - **Line:** 969 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L233) - - **Line:** 233 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L1267) - - **Line:** 1267 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L2007) - - **Line:** 2007 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4363) - - **Line:** 4363 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4398) - - **Line:** 4398 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4443) - - **Line:** 4443 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L799) - - **Line:** 799 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L836) - - **Line:** 836 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L907) - - **Line:** 907 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2221) - - **Line:** 2221 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3447) - - **Line:** 3447 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3469) - - **Line:** 3469 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3478) - - **Line:** 3478 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3500) - - **Line:** 3500 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/types.rs`](../src-tauri/src/repository/types.rs#L342) - - **Line:** 342 - - **Context:** `Unknown` - -### UT-104 - -**Locations:** 7 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2105) - - **Line:** 2105 - - **Context:** `export type GetItemsOptions = { startIndex?: number | null; limit?: nu...` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L1267) - - **Line:** 1267 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4443) - - **Line:** 4443 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L799) - - **Line:** 799 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L836) - - **Line:** 836 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3500) - - **Line:** 3500 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/types.rs`](../src-tauri/src/repository/types.rs#L342) - - **Line:** 342 - - **Context:** `Unknown` - -### UT-107 - -**Locations:** 6 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1647) - - **Line:** 1647 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L864) - - **Line:** 864 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L879) - - **Line:** 879 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L898) - - **Line:** 898 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L1052) - - **Line:** 1052 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L1077) - - **Line:** 1077 - - **Context:** `Unknown` - -### UR-007 - -**Locations:** 16 file(s) - -- **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/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/stores/library.ts`](../src/lib/stores/library.ts#L2) - - **Line:** 2 - - **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/routes/library/movies/+page.svelte`](../src/routes/library/movies/+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/routes/library/tv/+page.svelte`](../src/routes/library/tv/+page.svelte#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/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` -- **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#L799) - - **Line:** 799 - - **Context:** `Unknown` - -### UR-011 - -**Locations:** 11 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2618) - - **Line:** 2618 - - **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/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/catalog.rs`](../src-tauri/src/commands/catalog.rs#L877) - - **Line:** 877 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L2400) - - **Line:** 2400 - - **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/offline.rs`](../src-tauri/src/commands/offline.rs#L136) - - **Line:** 136 - - **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/player/media.rs`](../src-tauri/src/player/media.rs#L142) - - **Line:** 142 - - **Context:** `pub enum MediaType {` - -### UR-068 - -**Locations:** 14 file(s) - -- **File:** [`src/lib/components/FavoriteButton.svelte`](../src/lib/components/FavoriteButton.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/ArtistDetailView.svelte`](../src/lib/components/library/ArtistDetailView.svelte#L133) - - **Line:** 133 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](../src/lib/components/library/EpisodeFocusView.svelte#L233) - - **Line:** 233 - - **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/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L45) - - **Line:** 45 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L139) - - **Line:** 139 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L295) - - **Line:** 295 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/PlaylistDetailView.svelte`](../src/lib/components/library/PlaylistDetailView.svelte#L219) - - **Line:** 219 - - **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` -- **File:** [`src/lib/stores/favorites.ts`](../src/lib/stores/favorites.ts#L55) - - **Line:** 55 - - **Context:** `Unknown` -- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L584) - - **Line:** 584 - - **Context:** `Unknown` - -### UR-075 - -**Locations:** 12 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2137) - - **Line:** 2137 - - **Context:** `export type Library = { id: string; name: string; collectionType: stri...` -- **File:** [`src/lib/components/common/CachedImage.svelte`](../src/lib/components/common/CachedImage.svelte#L18) - - **Line:** 18 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/MosaicGrid.svelte`](../src/lib/components/library/MosaicGrid.svelte#L14) - - **Line:** 14 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/MosaicTile.svelte`](../src/lib/components/library/MosaicTile.svelte#L10) - - **Line:** 10 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/libraryMosaic.ts`](../src/lib/components/library/libraryMosaic.ts#L12) - - **Line:** 12 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/mosaic.ts`](../src/lib/components/library/mosaic.ts#L12) - - **Line:** 12 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/favoritesView.ts`](../src/lib/utils/favoritesView.ts#L44) - - **Line:** 44 - - **Context:** `Unknown` -- **File:** [`src/routes/+page.svelte`](../src/routes/+page.svelte#L121) - - **Line:** 121 - - **Context:** `Unknown` -- **File:** [`src/routes/library/+page.svelte`](../src/routes/library/+page.svelte#L48) - - **Line:** 48 - - **Context:** `Unknown` -- **File:** [`src/routes/library/+page.svelte`](../src/routes/library/+page.svelte#L258) - - **Line:** 258 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/types.rs`](../src-tauri/src/repository/types.rs#L47) - - **Line:** 47 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/types.rs`](../src-tauri/src/repository/types.rs#L404) - - **Line:** 404 - - **Context:** `Unknown` - -### UT-134 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/components/library/EpisodeFocusView.test.ts`](../src/lib/components/library/EpisodeFocusView.test.ts#L7) - - **Line:** 7 - - **Context:** `Unknown` - -### UT-145 - -**Locations:** 5 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2428) - - **Line:** 2428 - - **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#L422) - - **Line:** 422 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2787) - - **Line:** 2787 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2844) - - **Line:** 2844 - - **Context:** `Unknown` - -### UT-168 - -**Locations:** 24 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2288) - - **Line:** 2288 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L355) - - **Line:** 355 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](../src/lib/components/player/subtitleTracks.test.ts#L67) - - **Line:** 67 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](../src/lib/components/player/subtitleTracks.test.ts#L83) - - **Line:** 83 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](../src/lib/components/player/subtitleTracks.test.ts#L100) - - **Line:** 100 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/subtitleTracks.ts`](../src/lib/components/player/subtitleTracks.ts#L75) - - **Line:** 75 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L84) - - **Line:** 84 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L99) - - **Line:** 99 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L120) - - **Line:** 120 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L150) - - **Line:** 150 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L184) - - **Line:** 184 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L293) - - **Line:** 293 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L306) - - **Line:** 306 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L344) - - **Line:** 344 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L362) - - **Line:** 362 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L376) - - **Line:** 376 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L390) - - **Line:** 390 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1739) - - **Line:** 1739 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1809) - - **Line:** 1809 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1922) - - **Line:** 1922 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1968) - - **Line:** 1968 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2980) - - **Line:** 2980 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3003) - - **Line:** 3003 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/types.rs`](../src-tauri/src/repository/types.rs#L265) - - **Line:** 265 - - **Context:** `Unknown` - -### UR-002 - -**Locations:** 21 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2618) - - **Line:** 2618 - - **Context:** `Unknown` -- **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/stores/connectivity.ts`](../src/lib/stores/connectivity.ts#L10) - - **Line:** 10 - - **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/mod.rs`](../src-tauri/src/commands/mod.rs#L2) - - **Line:** 2 - - **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/storage/mod.rs`](../src-tauri/src/commands/storage/mod.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/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#L236) - - **Line:** 236 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1435) - - **Line:** 1435 - - **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/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L8) - - **Line:** 8 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L367) - - **Line:** 367 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L581) - - **Line:** 581 - - **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/online.rs`](../src-tauri/src/repository/online.rs#L1) - - **Line:** 1 - - **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` - -### UT-146 - -**Locations:** 3 file(s) - -- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L3046) - - **Line:** 3046 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2876) - - **Line:** 2876 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/media.rs`](../src-tauri/src/player/media.rs#L42) - - **Line:** 42 - - **Context:** `Unknown` - -### UR-008 - -**Locations:** 4 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` -- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1467) - - **Line:** 1467 - - **Context:** `Unknown` - -### UR-017 - -**Locations:** 11 file(s) - -- **File:** [`src/lib/components/FavoriteButton.svelte`](../src/lib/components/FavoriteButton.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/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#L58) - - **Line:** 58 - - **Context:** `Unknown` -- **File:** [`src/lib/services/syncService.ts`](../src/lib/services/syncService.ts#L191) - - **Line:** 191 - - **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/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#L2245) - - **Line:** 2245 - - **Context:** `Unknown` - -### UR-029 - -**Locations:** 5 file(s) - -- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](../src/lib/components/library/GenericMediaListPage.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/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` -- **File:** [`src/routes/settings/+page.svelte`](../src/routes/settings/+page.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-035 - -**Locations:** 7 file(s) - -- **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/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.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` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1148) - - **Line:** 1148 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2373) - - **Line:** 2373 - - **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-048 - -**Locations:** 6 file(s) - -- **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](../src/lib/components/library/EpisodeFocusView.svelte#L7) - - **Line:** 7 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](../src/lib/components/library/EpisodeFocusView.svelte#L272) - - **Line:** 272 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](../src/lib/components/library/EpisodeFocusView.svelte#L360) - - **Line:** 360 - - **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/episodeStrip.ts`](../src/lib/components/library/episodeStrip.ts#L8) - - **Line:** 8 - - **Context:** `Unknown` -- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` - -### UR-052 - -**Locations:** 23 file(s) - -- **File:** [`src/lib/components/library/GenericGenreBrowser.svelte`](../src/lib/components/library/GenericGenreBrowser.svelte#L64) - - **Line:** 64 - - **Context:** `async function reloadGenreBrowse() {` -- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](../src/lib/components/library/GenericMediaListPage.svelte#L101) - - **Line:** 101 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L1) - - **Line:** 1 - - **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.reload.test.ts`](../src/lib/services/offlineCatalog.reload.test.ts#L11) - - **Line:** 11 - - **Context:** `Unknown` -- **File:** [`src/lib/services/offlineCatalog.ts`](../src/lib/services/offlineCatalog.ts#L14) - - **Line:** 14 - - **Context:** `Unknown` -- **File:** [`src/lib/services/offlineCatalog.ts`](../src/lib/services/offlineCatalog.ts#L43) - - **Line:** 43 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/connectivity.ts`](../src/lib/stores/connectivity.ts#L10) - - **Line:** 10 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/connectivity.ts`](../src/lib/stores/connectivity.ts#L245) - - **Line:** 245 - - **Context:** `Unknown` -- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L91) - - **Line:** 91 - - **Context:** `Unknown` -- **File:** [`src/routes/library/favorites/+page.svelte`](../src/routes/library/favorites/+page.svelte#L85) - - **Line:** 85 - - **Context:** `Unknown` -- **File:** [`src/routes/library/movies/+page.svelte`](../src/routes/library/movies/+page.svelte#L73) - - **Line:** 73 - - **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/tv/+page.svelte`](../src/routes/library/tv/+page.svelte#L74) - - **Line:** 74 - - **Context:** `async function load() {` -- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L550) - - **Line:** 550 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L877) - - **Line:** 877 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L1000) - - **Line:** 1000 - - **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/offline.rs`](../src-tauri/src/repository/offline.rs#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L24) - - **Line:** 24 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L43) - - **Line:** 43 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3019) - - **Line:** 3019 - - **Context:** `Unknown` - -### UR-054 - -**Locations:** 7 file(s) - -- **File:** [`src/lib/components/AppHeader.svelte`](../src/lib/components/AppHeader.svelte#L10) - - **Line:** 10 - - **Context:** `Unknown` -- **File:** [`src/lib/components/account/AccountMenu.svelte`](../src/lib/components/account/AccountMenu.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/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/utils/scrollRestore.ts`](../src/lib/utils/scrollRestore.ts#L26) - - **Line:** 26 - - **Context:** `Unknown` - -### UR-058 - -**Locations:** 11 file(s) - -- **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](../src/lib/components/library/EpisodeFocusView.svelte#L7) - - **Line:** 7 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](../src/lib/components/library/EpisodeFocusView.svelte#L233) - - **Line:** 233 - - **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/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L39) - - **Line:** 39 - - **Context:** `Unknown` -- **File:** [`src/routes/+page.svelte`](../src/routes/+page.svelte#L71) - - **Line:** 71 - - **Context:** `Unknown` -- **File:** [`src/routes/+page.svelte`](../src/routes/+page.svelte#L95) - - **Line:** 95 - - **Context:** `Unknown` -- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L130) - - **Line:** 130 - - **Context:** `Unknown` -- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L216) - - **Line:** 216 - - **Context:** `Unknown` -- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L445) - - **Line:** 445 - - **Context:** `Unknown` -- **File:** [`src/routes/search/+page.svelte`](../src/routes/search/+page.svelte#L97) - - **Line:** 97 - - **Context:** `Unknown` - -### UT-131 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/components/library/EpisodeFocusView.test.ts`](../src/lib/components/library/EpisodeFocusView.test.ts#L7) - - **Line:** 7 - - **Context:** `Unknown` - -### UT-132 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/components/library/EpisodeFocusView.test.ts`](../src/lib/components/library/EpisodeFocusView.test.ts#L7) - - **Line:** 7 - - **Context:** `Unknown` - -### UT-133 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/components/library/EpisodeFocusView.test.ts`](../src/lib/components/library/EpisodeFocusView.test.ts#L7) - - **Line:** 7 - - **Context:** `Unknown` - -### UT-135 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/components/library/EpisodeFocusView.test.ts`](../src/lib/components/library/EpisodeFocusView.test.ts#L7) - - **Line:** 7 - - **Context:** `Unknown` - -### UR-063 - -**Locations:** 10 file(s) - -- **File:** [`src/lib/components/library/GenericGenreBrowser.svelte`](../src/lib/components/library/GenericGenreBrowser.svelte#L42) - - **Line:** 42 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](../src/lib/components/library/GenericMediaListPage.svelte#L48) - - **Line:** 48 - - **Context:** `Unknown` -- **File:** [`src/lib/components/library/LibraryViewTabs.svelte`](../src/lib/components/library/LibraryViewTabs.svelte#L8) - - **Line:** 8 - - **Context:** `Unknown` -- **File:** [`src/lib/utils/libraryView.ts`](../src/lib/utils/libraryView.ts#L9) - - **Line:** 9 - - **Context:** `Unknown` -- **File:** [`src/routes/library/movies/+page.svelte`](../src/routes/library/movies/+page.svelte#L8) - - **Line:** 8 - - **Context:** `Unknown` -- **File:** [`src/routes/library/movies/all/+page.ts`](../src/routes/library/movies/all/+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` -- **File:** [`src/routes/library/shows/genres/+page.ts`](../src/routes/library/shows/genres/+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/routes/library/tv/shows/+page.ts`](../src/routes/library/tv/shows/+page.ts#L6) - - **Line:** 6 - - **Context:** `Unknown` - -### UT-183 - -**Locations:** 2 file(s) - -- **File:** [`src/lib/player/adapters/html5Adapter.test.ts`](../src/lib/player/adapters/html5Adapter.test.ts#L214) - - **Line:** 214 - - **Context:** `Unknown` -- **File:** [`src/lib/player/adapters/html5Adapter.ts`](../src/lib/player/adapters/html5Adapter.ts#L169) - - **Line:** 169 - - **Context:** `Unknown` - -### UT-184 - -**Locations:** 2 file(s) - -- **File:** [`src/lib/components/player/mediaReady.test.ts`](../src/lib/components/player/mediaReady.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/mediaReady.ts`](../src/lib/components/player/mediaReady.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` - -### UT-185 - -**Locations:** 2 file(s) - -- **File:** [`src/lib/components/player/VideoPlayer.nativeReveal.test.ts`](../src/lib/components/player/VideoPlayer.nativeReveal.test.ts#L16) - - **Line:** 16 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L504) - - **Line:** 504 - - **Context:** `Unknown` - -### UR-012 - -**Locations:** 16 file(s) - -- **File:** [`src/lib/services/imageCache.ts`](../src/lib/services/imageCache.ts#L47) - - **Line:** 47 - - **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#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/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/credentials.rs`](../src-tauri/src/credentials.rs#L10) - - **Line:** 10 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/credentials.rs`](../src-tauri/src/credentials.rs#L480) - - **Line:** 480 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/credentials.rs`](../src-tauri/src/credentials.rs#L905) - - **Line:** 905 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/credentials.rs`](../src-tauri/src/credentials.rs#L924) - - **Line:** 924 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/credentials.rs`](../src-tauri/src/credentials.rs#L941) - - **Line:** 941 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1093) - - **Line:** 1093 - - **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:** [`scripts/tauri-security-config.test.ts`](../scripts/tauri-security-config.test.ts#L11) - - **Line:** 11 - - **Context:** `Unknown` - -### 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-015 - -**Locations:** 13 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` -- **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-tauri/src/commands/player/queue.rs`](../src-tauri/src/commands/player/queue.rs#L3) - - **Line:** 3 - - **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 {` - -### UR-024 - -**Locations:** 3 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` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L862) - - **Line:** 862 - - **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-059 - -**Locations:** 11 file(s) - -- **File:** [`src/lib/services/skipReporting.test.ts`](../src/lib/services/skipReporting.test.ts#L9) - - **Line:** 9 - - **Context:** `Unknown` -- **File:** [`src/lib/services/skipReporting.ts`](../src/lib/services/skipReporting.ts#L14) - - **Line:** 14 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/continueWatchingFilter.test.ts`](../src/lib/stores/continueWatchingFilter.test.ts#L12) - - **Line:** 12 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/continueWatchingFilter.ts`](../src/lib/stores/continueWatchingFilter.ts#L15) - - **Line:** 15 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/continueWatchingFilter.ts`](../src/lib/stores/continueWatchingFilter.ts#L91) - - **Line:** 91 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/home.ts`](../src/lib/stores/home.ts#L2) - - **Line:** 2 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/tv.ts`](../src/lib/stores/tv.ts#L3) - - **Line:** 3 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L884) - - **Line:** 884 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1206) - - **Line:** 1206 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3558) - - **Line:** 3558 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3579) - - **Line:** 3579 - - **Context:** `Unknown` - -### UR-061 - -**Locations:** 4 file(s) - -- **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` -- **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/tapGestures.ts`](../src/lib/components/player/tapGestures.ts#L21) - - **Line:** 21 - - **Context:** `Unknown` - -### UT-174 - -**Locations:** 2 file(s) - -- **File:** [`src/lib/components/player/hlsRecovery.test.ts`](../src/lib/components/player/hlsRecovery.test.ts#L16) - - **Line:** 16 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/hlsRecovery.ts`](../src/lib/components/player/hlsRecovery.ts#L11) - - **Line:** 11 - - **Context:** `Unknown` - -### UT-186 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/utils/nativeVideoLayers.test.ts`](../src/lib/utils/nativeVideoLayers.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` - -### UT-187 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L533) - - **Line:** 533 - - **Context:** `Unknown` - -### UT-188 - -**Locations:** 4 file(s) - -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L471) - - **Line:** 471 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1885) - - **Line:** 1885 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/controlsVisibility.test.ts`](../src/lib/components/player/controlsVisibility.test.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` -- **File:** [`src/lib/components/player/controlsVisibility.ts`](../src/lib/components/player/controlsVisibility.ts#L4) - - **Line:** 4 - - **Context:** `Unknown` - -### UT-189 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1481) - - **Line:** 1481 - - **Context:** `Unknown` - -### UR-006 - -**Locations:** 8 file(s) - -- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L464) - - **Line:** 464 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/android/mod.rs`](../src-tauri/src/player/android/mod.rs#L438) - - **Line:** 438 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/android/mod.rs`](../src-tauri/src/player/android/mod.rs#L1123) - - **Line:** 1123 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/android/mod.rs`](../src-tauri/src/player/android/mod.rs#L1425) - - **Line:** 1425 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L144) - - **Line:** 144 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L166) - - **Line:** 166 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/seek.rs`](../src-tauri/src/player/seek.rs#L103) - - **Line:** 103 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/seek.rs`](../src-tauri/src/player/seek.rs#L135) - - **Line:** 135 - - **Context:** `Unknown` - -### UR-010 - -**Locations:** 16 file(s) - -- **File:** [`src/lib/components/sessions/CastButton.svelte`](../src/lib/components/sessions/CastButton.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/SessionCard.svelte`](../src/lib/components/sessions/SessionCard.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/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) - - **Line:** 12 - - **Context:** `Unknown` -- **File:** [`src/lib/stores/playbackMode.test.ts`](../src/lib/stores/playbackMode.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/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-tauri/src/commands/playback_mode.rs`](../src-tauri/src/commands/playback_mode.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/remote.rs`](../src-tauri/src/commands/player/remote.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/playback_mode/mod.rs`](../src-tauri/src/playback_mode/mod.rs#L165) - - **Line:** 165 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/session_poller/mod.rs`](../src-tauri/src/session_poller/mod.rs#L6) - - **Line:** 6 - - **Context:** `Unknown` - -### UT-192 - -**Locations:** 1 file(s) - -- **File:** [`src/lib/stores/continueWatchingFilter.test.ts`](../src/lib/stores/continueWatchingFilter.test.ts#L12) - - **Line:** 12 - - **Context:** `Unknown` - -### UR-014 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/commands/playlist.rs`](../src-tauri/src/commands/playlist.rs#L4) - - **Line:** 4 - - **Context:** `Unknown` - -### UR-016 - -**Locations:** 2 file(s) - -- **File:** [`src-tauri/src/player/backend.rs`](../src-tauri/src/player/backend.rs#L62) - - **Line:** 62 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/backend.rs`](../src-tauri/src/player/backend.rs#L257) - - **Line:** 257 - - **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-032 - -**Locations:** 7 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/player/android/mod.rs`](../src-tauri/src/player/android/mod.rs#L579) - - **Line:** 579 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/android/mod.rs`](../src-tauri/src/player/android/mod.rs#L617) - - **Line:** 617 - - **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#L334) - - **Line:** 334 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L351) - - **Line:** 351 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L375) - - **Line:** 375 - - **Context:** `Unknown` - -### UR-033 - -**Locations:** 12 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/player/android/mod.rs`](../src-tauri/src/player/android/mod.rs#L579) - - **Line:** 579 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/player/android/mod.rs`](../src-tauri/src/player/android/mod.rs#L617) - - **Line:** 617 - - **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/settings.rs`](../src-tauri/src/settings.rs#L1) - - **Line:** 1 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L334) - - **Line:** 334 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L351) - - **Line:** 351 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L375) - - **Line:** 375 - - **Context:** `Unknown` - -### UR-038 - -**Locations:** 1 file(s) - -- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L1) - - **Line:** 1 - - **Context:** `Unknown` - -### UR-042 - -**Locations:** 2 file(s) - -- **File:** [`src-tauri/src/auth/mod.rs`](../src-tauri/src/auth/mod.rs#L139) - - **Line:** 139 - - **Context:** `Unknown` -- **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-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 +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L278) + - **Line:** 278 - **Context:** `Unknown` ### UR-057 @@ -9675,186 +7616,366 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **Line:** 1 - **Context:** `Unknown` -### UR-060 +### UR-058 -**Locations:** 7 file(s) +**Locations:** 11 file(s) -- **File:** [`src/lib/utils/searchScope.ts`](../src/lib/utils/searchScope.ts#L155) - - **Line:** 155 +- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L1) + - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/lib/utils/searchScope.ts`](../src/lib/utils/searchScope.ts#L221) - - **Line:** 221 +- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L133) + - **Line:** 133 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L96) - - **Line:** 96 +- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L219) + - **Line:** 219 - **Context:** `Unknown` -- **File:** [`src-tauri/src/domain/search_rank.rs`](../src-tauri/src/domain/search_rank.rs#L106) - - **Line:** 106 +- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L448) + - **Line:** 448 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L333) - - **Line:** 333 +- **File:** [`src/routes/search/+page.svelte`](../src/routes/search/+page.svelte#L97) + - **Line:** 97 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3080) - - **Line:** 3080 +- **File:** [`src/routes/+page.svelte`](../src/routes/+page.svelte#L74) + - **Line:** 74 - **Context:** `Unknown` -- **File:** [`src-tauri/src/storage/schema.rs`](../src-tauri/src/storage/schema.rs#L769) - - **Line:** 769 +- **File:** [`src/routes/+page.svelte`](../src/routes/+page.svelte#L98) + - **Line:** 98 + - **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` +- **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](../src/lib/components/library/EpisodeFocusView.svelte#L233) + - **Line:** 233 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L42) + - **Line:** 42 - **Context:** `Unknown` -### UR-065 +### UR-061 -**Locations:** 22 file(s) +**Locations:** 4 file(s) -- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L96) - - **Line:** 96 +- **File:** [`src/lib/components/player/tapGestures.ts`](../src/lib/components/player/tapGestures.ts#L21) + - **Line:** 21 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L164) - - **Line:** 164 +- **File:** [`src/lib/components/player/VideoPlayer.touchScrub.test.ts`](../src/lib/components/player/VideoPlayer.touchScrub.test.ts#L21) + - **Line:** 21 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L281) - - **Line:** 281 +- **File:** [`src/lib/components/player/VideoPlayer.tapSurface.test.ts`](../src/lib/components/player/VideoPlayer.tapSurface.test.ts#L5) + - **Line:** 5 - **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#L763) - - **Line:** 763 - - **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/lib.rs`](../src-tauri/src/lib.rs#L1421) - - **Line:** 1421 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L63) - - **Line:** 63 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L62) - - **Line:** 62 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L276) - - **Line:** 276 - - **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#L501) - - **Line:** 501 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L2541) - - **Line:** 2541 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L2581) - - **Line:** 2581 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3080) - - **Line:** 3080 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3137) - - **Line:** 3137 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3246) - - **Line:** 3246 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3299) - - **Line:** 3299 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3355) - - **Line:** 3355 - - **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 +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1) + - **Line:** 1 - **Context:** `Unknown` -### UR-069 +### UR-062 -**Locations:** 24 file(s) +**Locations:** 17 file(s) -- **File:** [`src/routes/+layout.svelte`](../src/routes/+layout.svelte#L137) - - **Line:** 137 +- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L1) + - **Line:** 1 - **Context:** `Unknown` -- **File:** [`src/routes/library/favorites/+page.svelte`](../src/routes/library/favorites/+page.svelte#L73) - - **Line:** 73 +- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L118) + - **Line:** 118 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L12) - - **Line:** 12 +- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L191) + - **Line:** 191 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L78) - - **Line:** 78 +- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L312) + - **Line:** 312 + - **Context:** `async function handlePlayAll() {` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1518) + - **Line:** 1518 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L142) - - **Line:** 142 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1531) + - **Line:** 1531 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L286) - - **Line:** 286 +- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L147) + - **Line:** 147 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L320) - - **Line:** 320 +- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L157) + - **Line:** 157 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L340) - - **Line:** 340 +- **File:** [`src/lib/components/library/episodeStrip.ts`](../src/lib/components/library/episodeStrip.ts#L8) + - **Line:** 8 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L356) +- **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/EpisodeRow.svelte`](../src/lib/components/library/EpisodeRow.svelte#L17) + - **Line:** 17 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/SeasonSection.svelte`](../src/lib/components/library/SeasonSection.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/SeasonSection.svelte`](../src/lib/components/library/SeasonSection.svelte#L20) + - **Line:** 20 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L356) - **Line:** 356 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L858) - - **Line:** 858 +- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L377) + - **Line:** 377 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L864) - - **Line:** 864 +- **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#L879) - - **Line:** 879 + +### 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-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L1052) - - **Line:** 1052 +- **File:** [`src/routes/library/movies/genres/+page.ts`](../src/routes/library/movies/genres/+page.ts#L6) + - **Line:** 6 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L1077) - - **Line:** 1077 +- **File:** [`src/routes/library/movies/all/+page.ts`](../src/routes/library/movies/all/+page.ts#L6) + - **Line:** 6 - **Context:** `Unknown` -- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1428) - - **Line:** 1428 +- **File:** [`src/routes/library/movies/+page.svelte`](../src/routes/library/movies/+page.svelte#L8) + - **Line:** 8 - **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/offline.rs`](../src-tauri/src/repository/offline.rs#L688) - - **Line:** 688 +- **File:** [`src/routes/library/tv/shows/+page.ts`](../src/routes/library/tv/shows/+page.ts#L6) + - **Line:** 6 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4491) - - **Line:** 4491 +- **File:** [`src/routes/library/tv/+page.svelte`](../src/routes/library/tv/+page.svelte#L8) + - **Line:** 8 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4578) - - **Line:** 4578 +- **File:** [`src/lib/components/library/LibraryViewTabs.svelte`](../src/lib/components/library/LibraryViewTabs.svelte#L8) + - **Line:** 8 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L132) - - **Line:** 132 - - **Context:** `impl OnlineRepository {` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L767) - - **Line:** 767 +- **File:** [`src/lib/components/library/GenericGenreBrowser.svelte`](../src/lib/components/library/GenericGenreBrowser.svelte#L45) + - **Line:** 45 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1032) +- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](../src/lib/components/library/GenericMediaListPage.svelte#L50) + - **Line:** 50 + - **Context:** `Unknown` +- **File:** [`src/lib/utils/libraryView.ts`](../src/lib/utils/libraryView.ts#L9) + - **Line:** 9 + - **Context:** `Unknown` + +### UR-066 + +**Locations:** 11 file(s) + +- **File:** [`src/routes/+layout.svelte`](../src/routes/+layout.svelte#L264) + - **Line:** 264 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/controlsVisibility.test.ts`](../src/lib/components/player/controlsVisibility.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/controlsVisibility.ts`](../src/lib/components/player/controlsVisibility.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L474) + - **Line:** 474 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1888) + - **Line:** 1888 + - **Context:** `Unknown` +- **File:** [`src/lib/components/BottomUi.svelte`](../src/lib/components/BottomUi.svelte#L23) + - **Line:** 23 + - **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 + - **Context:** `Unknown` +- **File:** [`src/lib/utils/immersive.ts`](../src/lib/utils/immersive.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/utils/safeArea.ts`](../src/lib/utils/safeArea.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` + +### UR-067 + +**Locations:** 42 file(s) + +- **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#L44) + - **Line:** 44 + - **Context:** `Unknown` +- **File:** [`src/routes/library/+page.svelte`](../src/routes/library/+page.svelte#L215) + - **Line:** 215 + - **Context:** `Unknown` +- **File:** [`src/routes/library/+page.svelte`](../src/routes/library/+page.svelte#L258) + - **Line:** 258 + - **Context:** `Unknown` +- **File:** [`src/routes/+page.svelte`](../src/routes/+page.svelte#L158) + - **Line:** 158 + - **Context:** `Unknown` +- **File:** [`src/routes/+page.svelte`](../src/routes/+page.svelte#L258) + - **Line:** 258 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1689) + - **Line:** 1689 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2175) + - **Line:** 2175 + - **Context:** `export type GetItemsOptions = { startIndex?: number | null; limit?: nu...` +- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L333) + - **Line:** 333 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/libraryMosaic.ts`](../src/lib/components/library/libraryMosaic.ts#L12) + - **Line:** 12 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](../src/lib/components/library/GenericMediaListPage.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](../src/lib/components/library/GenericMediaListPage.svelte#L154) + - **Line:** 154 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](../src/lib/components/library/GenericMediaListPage.svelte#L170) + - **Line:** 170 + - **Context:** `function handleSearch(query: string) {` +- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](../src/lib/components/library/GenericMediaListPage.svelte#L291) + - **Line:** 291 + - **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` +- **File:** [`src/lib/stores/home.ts`](../src/lib/stores/home.ts#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/home.ts`](../src/lib/stores/home.ts#L21) + - **Line:** 21 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/home.ts`](../src/lib/stores/home.ts#L63) + - **Line:** 63 + - **Context:** `Unknown` +- **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-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L898) + - **Line:** 898 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L935) + - **Line:** 935 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/types.rs`](../src-tauri/src/repository/types.rs#L342) + - **Line:** 342 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L1269) + - **Line:** 1269 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L2014) + - **Line:** 2014 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4370) + - **Line:** 4370 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4405) + - **Line:** 4405 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4450) + - **Line:** 4450 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4553) + - **Line:** 4553 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L803) + - **Line:** 803 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L862) + - **Line:** 862 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L933) + - **Line:** 933 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2251) + - **Line:** 2251 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3510) + - **Line:** 3510 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3532) + - **Line:** 3532 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3541) + - **Line:** 3541 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3563) + - **Line:** 3563 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L196) + - **Line:** 196 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L212) + - **Line:** 212 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L1032) - **Line:** 1032 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3598) - - **Line:** 3598 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3629) - - **Line:** 3629 +- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L235) + - **Line:** 235 - **Context:** `Unknown` -### UR-072 +### UR-068 -**Locations:** 1 file(s) +**Locations:** 14 file(s) -- **File:** [`src/lib/utils/scrollContainer.ts`](../src/lib/utils/scrollContainer.ts#L23) - - **Line:** 23 +- **File:** [`src/routes/library/[id]/+page.svelte`](../src/routes/library/[id]/+page.svelte#L587) + - **Line:** 587 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/EpisodeFocusView.svelte`](../src/lib/components/library/EpisodeFocusView.svelte#L233) + - **Line:** 233 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/ArtistDetailView.svelte`](../src/lib/components/library/ArtistDetailView.svelte#L136) + - **Line:** 136 + - **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/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L48) + - **Line:** 48 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L142) + - **Line:** 142 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L298) + - **Line:** 298 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/PlaylistDetailView.svelte`](../src/lib/components/library/PlaylistDetailView.svelte#L222) + - **Line:** 222 + - **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#L41) + - **Line:** 41 - **Context:** `Unknown` ### IT-003 @@ -9873,12 +7994,29 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **Line:** 8 - **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#L730) + - **Line:** 730 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L843) + - **Line:** 843 + - **Context:** `Unknown` + ### IT-016 **Locations:** 1 file(s) -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3019) - - **Line:** 3019 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3026) + - **Line:** 3026 - **Context:** `Unknown` ### UT-003 @@ -9905,6 +8043,14 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **Line:** 535 - **Context:** `pub enum AddPosition {` +### UT-010 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/stores/downloads.test.ts`](../src/lib/stores/downloads.test.ts#L2) + - **Line:** 2 + - **Context:** `Unknown` + ### UT-012 **Locations:** 1 file(s) @@ -10023,6 +8169,14 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **Line:** 157 - **Context:** `pub fn file_size(&self) -> Option {` +### UT-024 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/stores/downloads.test.ts`](../src/lib/stores/downloads.test.ts#L2) + - **Line:** 2 + - **Context:** `Unknown` + ### UT-025 **Locations:** 2 file(s) @@ -10101,122 +8255,219 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **Line:** 251 - **Context:** `Unknown` +### UT-042 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L2527) + - **Line:** 2527 + - **Context:** `Unknown` + +### UT-043 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L2527) + - **Line:** 2527 + - **Context:** `Unknown` + ### UT-051 **Locations:** 1 file(s) -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3977) - - **Line:** 3977 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3984) + - **Line:** 3984 + - **Context:** `Unknown` + +### UT-052 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/stores/downloads.test.ts`](../src/lib/stores/downloads.test.ts#L316) + - **Line:** 316 - **Context:** `Unknown` ### UT-059 **Locations:** 3 file(s) -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L616) - - **Line:** 616 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L620) + - **Line:** 620 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3078) - - **Line:** 3078 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3141) + - **Line:** 3141 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3119) - - **Line:** 3119 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3182) + - **Line:** 3182 + - **Context:** `Unknown` + +### UT-060 + +**Locations:** 4 file(s) + +- **File:** [`src/lib/components/player/backgroundAudioHandoff.test.ts`](../src/lib/components/player/backgroundAudioHandoff.test.ts#L12) + - **Line:** 12 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/backgroundAudioHandoff.ts`](../src/lib/components/player/backgroundAudioHandoff.ts#L4) + - **Line:** 4 + - **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/backgroundAudioHandoff.ts`](../src/lib/components/player/backgroundAudioHandoff.ts#L110) + - **Line:** 110 + - **Context:** `Unknown` + +### UT-061 + +**Locations:** 9 file(s) + +- **File:** [`src/lib/api/repository-client.test.ts`](../src/lib/api/repository-client.test.ts#L437) + - **Line:** 437 + - **Context:** `Unknown` +- **File:** [`src/lib/api/repository-client.test.ts`](../src/lib/api/repository-client.test.ts#L454) + - **Line:** 454 + - **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#L1612) + - **Line:** 1612 + - **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#L730) + - **Line:** 730 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L843) + - **Line:** 843 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L611) + - **Line:** 611 + - **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-067 **Locations:** 1 file(s) -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3019) - - **Line:** 3019 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3026) + - **Line:** 3026 + - **Context:** `Unknown` + +### UT-071 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/utils/formatBytes.test.ts`](../src/lib/utils/formatBytes.test.ts#L4) + - **Line:** 4 - **Context:** `Unknown` ### UT-072 **Locations:** 1 file(s) -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3698) - - **Line:** 3698 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3705) + - **Line:** 3705 - **Context:** `Unknown` ### UT-073 **Locations:** 1 file(s) -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3897) - - **Line:** 3897 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3904) + - **Line:** 3904 - **Context:** `Unknown` ### UT-074 **Locations:** 1 file(s) -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3916) - - **Line:** 3916 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3923) + - **Line:** 3923 - **Context:** `Unknown` ### UT-075 **Locations:** 1 file(s) -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3938) - - **Line:** 3938 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3945) + - **Line:** 3945 - **Context:** `Unknown` ### UT-076 **Locations:** 1 file(s) -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3720) - - **Line:** 3720 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3727) + - **Line:** 3727 - **Context:** `Unknown` ### UT-077 **Locations:** 1 file(s) -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3830) - - **Line:** 3830 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3837) + - **Line:** 3837 - **Context:** `Unknown` ### UT-078 **Locations:** 1 file(s) -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3876) - - **Line:** 3876 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3883) + - **Line:** 3883 - **Context:** `Unknown` ### UT-079 **Locations:** 1 file(s) -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L411) - - **Line:** 411 +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L457) + - **Line:** 457 - **Context:** `Unknown` ### UT-080 **Locations:** 1 file(s) -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L440) - - **Line:** 440 +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L486) + - **Line:** 486 - **Context:** `Unknown` ### UT-081 **Locations:** 1 file(s) -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L467) - - **Line:** 467 +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L513) + - **Line:** 513 - **Context:** `Unknown` ### UT-082 **Locations:** 1 file(s) -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L478) - - **Line:** 478 +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L524) + - **Line:** 524 - **Context:** `Unknown` ### UT-083 @@ -10235,58 +8486,183 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **Line:** 759 - **Context:** `Unknown` +### UT-085 + +**Locations:** 2 file(s) + +- **File:** [`src/lib/components/player/tapGestures.ts`](../src/lib/components/player/tapGestures.ts#L21) + - **Line:** 21 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mpv_backend.rs`](../src-tauri/src/player/mpv_backend.rs#L778) + - **Line:** 778 + - **Context:** `Unknown` + +### UT-086 + +**Locations:** 2 file(s) + +- **File:** [`src/lib/components/player/tapGestures.ts`](../src/lib/components/player/tapGestures.ts#L21) + - **Line:** 21 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mpv_backend.rs`](../src-tauri/src/player/mpv_backend.rs#L788) + - **Line:** 788 + - **Context:** `Unknown` + +### UT-087 + +**Locations:** 2 file(s) + +- **File:** [`src/lib/components/player/tapGestures.ts`](../src/lib/components/player/tapGestures.ts#L21) + - **Line:** 21 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mpv_backend.rs`](../src-tauri/src/player/mpv_backend.rs#L833) + - **Line:** 833 + - **Context:** `Unknown` + +### UT-088 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/components/player/tapGestures.ts`](../src/lib/components/player/tapGestures.ts#L21) + - **Line:** 21 + - **Context:** `Unknown` + +### UT-089 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/components/player/VideoPlayer.touchScrub.test.ts`](../src/lib/components/player/VideoPlayer.touchScrub.test.ts#L21) + - **Line:** 21 + - **Context:** `Unknown` + +### UT-090 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/components/player/VideoPlayer.touchScrub.test.ts`](../src/lib/components/player/VideoPlayer.touchScrub.test.ts#L21) + - **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/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/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-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-098 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/utils/layoutShell.test.ts`](../src/lib/utils/layoutShell.test.ts#L158) + - **Line:** 158 + - **Context:** `Unknown` + ### UT-099 **Locations:** 3 file(s) -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L767) - - **Line:** 767 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L771) + - **Line:** 771 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3598) - - **Line:** 3598 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3728) + - **Line:** 3728 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3629) - - **Line:** 3629 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3759) + - **Line:** 3759 - **Context:** `Unknown` ### UT-100 **Locations:** 6 file(s) -- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L233) - - **Line:** 233 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L933) + - **Line:** 933 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L907) - - **Line:** 907 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2251) + - **Line:** 2251 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2221) - - **Line:** 2221 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3510) + - **Line:** 3510 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3447) - - **Line:** 3447 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3532) + - **Line:** 3532 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3469) - - **Line:** 3469 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3541) + - **Line:** 3541 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3478) - - **Line:** 3478 +- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L235) + - **Line:** 235 - **Context:** `Unknown` ### UT-101 **Locations:** 4 file(s) -- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L233) - - **Line:** 233 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L2014) + - **Line:** 2014 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L2007) - - **Line:** 2007 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4370) + - **Line:** 4370 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4363) - - **Line:** 4363 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4405) + - **Line:** 4405 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4398) - - **Line:** 4398 +- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L235) + - **Line:** 235 - **Context:** `Unknown` ### UT-102 @@ -10296,10 +8672,639 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L688) - **Line:** 688 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4491) - - **Line:** 4491 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4605) + - **Line:** 4605 - **Context:** `Unknown` +### UT-105 + +**Locations:** 3 file(s) + +- **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` + +### UT-106 + +**Locations:** 3 file(s) + +- **File:** [`src/routes/library/favorites/+page.svelte`](../src/routes/library/favorites/+page.svelte#L44) + - **Line:** 44 + - **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-069 + +**Locations:** 24 file(s) + +- **File:** [`src/routes/library/favorites/+page.svelte`](../src/routes/library/favorites/+page.svelte#L76) + - **Line:** 76 + - **Context:** `Unknown` +- **File:** [`src/routes/+layout.svelte`](../src/routes/+layout.svelte#L140) + - **Line:** 140 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L12) + - **Line:** 12 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L78) + - **Line:** 78 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L142) + - **Line:** 142 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L286) + - **Line:** 286 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L320) + - **Line:** 320 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L340) + - **Line:** 340 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L356) + - **Line:** 356 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L858) + - **Line:** 858 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L864) + - **Line:** 864 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L879) + - **Line:** 879 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L1052) + - **Line:** 1052 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L1077) + - **Line:** 1077 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L688) + - **Line:** 688 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4605) + - **Line:** 4605 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4692) + - **Line:** 4692 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L132) + - **Line:** 132 + - **Context:** `impl OnlineRepository {` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L771) + - **Line:** 771 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1058) + - **Line:** 1058 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3728) + - **Line:** 3728 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3759) + - **Line:** 3759 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L47) + - **Line:** 47 + - **Context:** `pub fn new(online: OnlineRepository, offline: OfflineRepository) -> Se...` +- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1448) + - **Line:** 1448 + - **Context:** `Unknown` + +### UR-071 + +**Locations:** 64 file(s) + +- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L246) + - **Line:** 246 + - **Context:** `Unknown` +- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L255) + - **Line:** 255 + - **Context:** `Unknown` +- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L320) + - **Line:** 320 + - **Context:** `Unknown` +- **File:** [`src/routes/player/[id]/+page.svelte`](../src/routes/player/[id]/+page.svelte#L324) + - **Line:** 324 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L367) + - **Line:** 367 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1013) + - **Line:** 1013 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1982) + - **Line:** 1982 + - **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-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L877) + - **Line:** 877 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4013) + - **Line:** 4013 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L439) + - **Line:** 439 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L460) + - **Line:** 460 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L480) + - **Line:** 480 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L510) + - **Line:** 510 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L562) + - **Line:** 562 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L748) + - **Line:** 748 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2971) + - **Line:** 2971 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L3019) + - **Line:** 3019 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L3039) + - **Line:** 3039 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L3055) + - **Line:** 3055 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L359) + - **Line:** 359 + - **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/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L114) + - **Line:** 114 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L489) + - **Line:** 489 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L550) + - **Line:** 550 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L688) + - **Line:** 688 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L1000) + - **Line:** 1000 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L1038) + - **Line:** 1038 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L1061) + - **Line:** 1061 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L1089) + - **Line:** 1089 + - **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/worker.rs`](../src-tauri/src/download/worker.rs#L219) + - **Line:** 219 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/download/worker.rs`](../src-tauri/src/download/worker.rs#L313) + - **Line:** 313 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/download/cache.rs`](../src-tauri/src/download/cache.rs#L33) + - **Line:** 33 + - **Context:** `Unknown` +- **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#L320) + - **Line:** 320 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/download/cache.rs`](../src-tauri/src/download/cache.rs#L428) + - **Line:** 428 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/download/cache.rs`](../src-tauri/src/download/cache.rs#L550) + - **Line:** 550 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L277) + - **Line:** 277 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L457) + - **Line:** 457 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2139) + - **Line:** 2139 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2216) + - **Line:** 2216 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3402) + - **Line:** 3402 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3434) + - **Line:** 3434 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3460) + - **Line:** 3460 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L212) + - **Line:** 212 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L347) + - **Line:** 347 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L369) + - **Line:** 369 + - **Context:** `Unknown` +- **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#L70) + - **Line:** 70 + - **Context:** `pub fn url_for(&self, path: &str) -> String {` +- **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` +- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1101) + - **Line:** 1101 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1358) + - **Line:** 1358 + - **Context:** `Unknown` +- **File:** [`scripts/tauri-security-config.test.ts`](../scripts/tauri-security-config.test.ts#L11) + - **Line:** 11 + - **Context:** `Unknown` + +### UR-074 + +**Locations:** 48 file(s) + +- **File:** [`src/routes/settings/+page.svelte`](../src/routes/settings/+page.svelte#L77) + - **Line:** 77 + - **Context:** `Unknown` +- **File:** [`src/routes/settings/+page.svelte`](../src/routes/settings/+page.svelte#L405) + - **Line:** 405 + - **Context:** `function handleEpisodeLimitChange(value: number) {` +- **File:** [`src/routes/settings/+page.svelte`](../src/routes/settings/+page.svelte#L819) + - **Line:** 819 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L233) + - **Line:** 233 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L254) + - **Line:** 254 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L3088) + - **Line:** 3088 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L3113) + - **Line:** 3113 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L3248) + - **Line:** 3248 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/hlsRecovery.test.ts`](../src/lib/components/player/hlsRecovery.test.ts#L16) + - **Line:** 16 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/hlsRecovery.ts`](../src/lib/components/player/hlsRecovery.ts#L11) + - **Line:** 11 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L261) + - **Line:** 261 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L769) + - **Line:** 769 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L2163) + - **Line:** 2163 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L2592) + - **Line:** 2592 + - **Context:** `Unknown` +- **File:** [`src/lib/player/adapters/html5Adapter.test.ts`](../src/lib/player/adapters/html5Adapter.test.ts#L253) + - **Line:** 253 + - **Context:** `Unknown` +- **File:** [`src/lib/player/index.ts`](../src/lib/player/index.ts#L195) + - **Line:** 195 + - **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#L25) + - **Line:** 25 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/settings.rs`](../src-tauri/src/commands/player/settings.rs#L85) + - **Line:** 85 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/settings.rs`](../src-tauri/src/commands/player/settings.rs#L107) + - **Line:** 107 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/settings.rs`](../src-tauri/src/commands/player/settings.rs#L122) + - **Line:** 122 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/settings.rs`](../src-tauri/src/commands/player/settings.rs#L158) + - **Line:** 158 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L350) + - **Line:** 350 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1573) + - **Line:** 1573 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L26) + - **Line:** 26 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L35) + - **Line:** 35 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L42) + - **Line:** 42 + - **Context:** `pub fn set_streaming_quality(quality: StreamingQuality) {` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L59) + - **Line:** 59 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L73) + - **Line:** 73 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L89) + - **Line:** 89 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L467) + - **Line:** 467 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L527) + - **Line:** 527 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L657) + - **Line:** 657 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1691) + - **Line:** 1691 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1975) + - **Line:** 1975 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2818) + - **Line:** 2818 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2842) + - **Line:** 2842 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2864) + - **Line:** 2864 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2887) + - **Line:** 2887 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2964) + - **Line:** 2964 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3014) + - **Line:** 3014 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3110) + - **Line:** 3110 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1315) + - **Line:** 1315 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L164) + - **Line:** 164 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L299) + - **Line:** 299 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L650) + - **Line:** 650 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L686) + - **Line:** 686 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L713) + - **Line:** 713 + - **Context:** `Unknown` + +### UR-075 + +**Locations:** 12 file(s) + +- **File:** [`src/routes/library/+page.svelte`](../src/routes/library/+page.svelte#L48) + - **Line:** 48 + - **Context:** `Unknown` +- **File:** [`src/routes/library/+page.svelte`](../src/routes/library/+page.svelte#L258) + - **Line:** 258 + - **Context:** `Unknown` +- **File:** [`src/routes/+page.svelte`](../src/routes/+page.svelte#L124) + - **Line:** 124 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2207) + - **Line:** 2207 + - **Context:** `export type Library = { id: string; name: string; collectionType: stri...` +- **File:** [`src/lib/components/library/MosaicGrid.svelte`](../src/lib/components/library/MosaicGrid.svelte#L14) + - **Line:** 14 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/MosaicTile.svelte`](../src/lib/components/library/MosaicTile.svelte#L10) + - **Line:** 10 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/libraryMosaic.ts`](../src/lib/components/library/libraryMosaic.ts#L12) + - **Line:** 12 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/mosaic.ts`](../src/lib/components/library/mosaic.ts#L12) + - **Line:** 12 + - **Context:** `Unknown` +- **File:** [`src/lib/components/common/CachedImage.svelte`](../src/lib/components/common/CachedImage.svelte#L18) + - **Line:** 18 + - **Context:** `Unknown` +- **File:** [`src/lib/utils/favoritesView.ts`](../src/lib/utils/favoritesView.ts#L44) + - **Line:** 44 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/types.rs`](../src-tauri/src/repository/types.rs#L47) + - **Line:** 47 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/types.rs`](../src-tauri/src/repository/types.rs#L404) + - **Line:** 404 + - **Context:** `Unknown` + +### UR-076 + +**Locations:** 44 file(s) + +- **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#L98) + - **Line:** 98 + - **Context:** `Unknown` +- **File:** [`src/routes/settings/+page.svelte`](../src/routes/settings/+page.svelte#L188) + - **Line:** 188 + - **Context:** `Unknown` +- **File:** [`src/routes/settings/+page.svelte`](../src/routes/settings/+page.svelte#L207) + - **Line:** 207 + - **Context:** `Unknown` +- **File:** [`src/routes/settings/+page.svelte`](../src/routes/settings/+page.svelte#L484) + - **Line:** 484 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1089) + - **Line:** 1089 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1101) + - **Line:** 1101 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1119) + - **Line:** 1119 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2133) + - **Line:** 2133 + - **Context:** `export type EqPreset = "flat" | "rock" | "pop" | "jazz" | "classical" ...` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2222) + - **Line:** 2222 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/GenericMediaListPage.svelte`](../src/lib/components/library/GenericMediaListPage.svelte#L125) + - **Line:** 125 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/music.ts`](../src/lib/stores/music.ts#L104) + - **Line:** 104 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/library.rs`](../src-tauri/src/commands/library.rs#L10) + - **Line:** 10 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/library.rs`](../src-tauri/src/commands/library.rs#L47) + - **Line:** 47 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/library.rs`](../src-tauri/src/commands/library.rs#L68) + - **Line:** 68 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/library.rs`](../src-tauri/src/commands/library.rs#L83) + - **Line:** 83 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/library.rs`](../src-tauri/src/commands/library.rs#L112) + - **Line:** 112 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/library.rs`](../src-tauri/src/commands/library.rs#L184) + - **Line:** 184 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/library.rs`](../src-tauri/src/commands/library.rs#L220) + - **Line:** 220 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/library.rs`](../src-tauri/src/commands/library.rs#L274) + - **Line:** 274 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/library.rs`](../src-tauri/src/commands/library.rs#L295) + - **Line:** 295 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/library.rs`](../src-tauri/src/commands/library.rs#L307) + - **Line:** 307 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L22) + - **Line:** 22 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L34) + - **Line:** 34 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L48) + - **Line:** 48 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L63) + - **Line:** 63 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L87) + - **Line:** 87 + - **Context:** `/ pure function and can be tested without touching process state.` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L123) + - **Line:** 123 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L191) + - **Line:** 191 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L203) + - **Line:** 203 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L232) + - **Line:** 232 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L275) + - **Line:** 275 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L293) + - **Line:** 293 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L316) + - **Line:** 316 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L334) + - **Line:** 334 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L164) + - **Line:** 164 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L265) + - **Line:** 265 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L363) + - **Line:** 363 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L408) + - **Line:** 408 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L526) + - **Line:** 526 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L611) + - **Line:** 611 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1327) + - **Line:** 1327 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L334) + - **Line:** 334 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L354) + - **Line:** 354 + - **Context:** `impl LibrarySettings {` + ### UT-108 **Locations:** 2 file(s) @@ -10315,16 +9320,16 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 1 file(s) -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3299) - - **Line:** 3299 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3306) + - **Line:** 3306 - **Context:** `Unknown` ### UT-110 **Locations:** 1 file(s) -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3355) - - **Line:** 3355 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3362) + - **Line:** 3362 - **Context:** `Unknown` ### UT-111 @@ -10334,11 +9339,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L62) - **Line:** 62 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L2541) - - **Line:** 2541 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L2548) + - **Line:** 2548 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L2581) - - **Line:** 2581 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L2588) + - **Line:** 2588 - **Context:** `Unknown` ### UT-112 @@ -10348,8 +9353,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L501) - **Line:** 501 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3246) - - **Line:** 3246 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3253) + - **Line:** 3253 - **Context:** `Unknown` ### UT-113 @@ -10359,8 +9364,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L276) - **Line:** 276 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3137) - - **Line:** 3137 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3144) + - **Line:** 3144 - **Context:** `Unknown` ### UT-114 @@ -10370,8 +9375,259 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **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#L3080) - - **Line:** 3080 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3087) + - **Line:** 3087 + - **Context:** `Unknown` + +### UT-116 + +**Locations:** 4 file(s) + +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L367) + - **Line:** 367 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L510) + - **Line:** 510 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L562) + - **Line:** 562 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L3055) + - **Line:** 3055 + - **Context:** `Unknown` + +### UT-117 + +**Locations:** 8 file(s) + +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L331) + - **Line:** 331 + - **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/stream_end.rs`](../src-tauri/src/player/stream_end.rs#L54) + - **Line:** 54 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1689) + - **Line:** 1689 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1722) + - **Line:** 1722 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1779) + - **Line:** 1779 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L1810) + - **Line:** 1810 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/timers.rs`](../src-tauri/src/commands/player/timers.rs#L299) + - **Line:** 299 + - **Context:** `Unknown` + +### UR-050 + +**Locations:** 9 file(s) + +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1580) + - **Line:** 1580 + - **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#L494) + - **Line:** 494 + - **Context:** `pub struct SearchUpdateEvent {` + +### UR-053 + +**Locations:** 17 file(s) + +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1174) + - **Line:** 1174 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1185) + - **Line:** 1185 + - **Context:** `Unknown` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2396) + - **Line:** 2396 + - **Context:** `export type MergedMediaItem = { id: string; title: string; artist: str...` +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2405) + - **Line:** 2405 + - **Context:** `export type NetworkStateWrapperArg = { networkType: NetworkType; unmet...` +- **File:** [`src/lib/stores/downloads.ts`](../src/lib/stores/downloads.ts#L84) + - **Line:** 84 + - **Context:** `Unknown` +- **File:** [`src/lib/services/networkType.test.ts`](../src/lib/services/networkType.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/services/networkType.ts`](../src/lib/services/networkType.ts#L10) + - **Line:** 10 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L31) + - **Line:** 31 + - **Context:** `pub struct DownloadManagerWrapper(pub Mutex);` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L40) + - **Line:** 40 + - **Context:** `pub struct NetworkStateWrapper(pub NetworkStateHandle);` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L83) + - **Line:** 83 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L96) + - **Line:** 96 + - **Context:** `pub struct NetworkStateWrapperArg {` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L1744) + - **Line:** 1744 + - **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` + +### UR-064 + +**Locations:** 7 file(s) + +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1545) + - **Line:** 1545 + - **Context:** `Unknown` +- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L168) + - **Line:** 168 + - **Context:** `Unknown` +- **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-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L399) + - **Line:** 399 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2321) + - **Line:** 2321 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L247) + - **Line:** 247 + - **Context:** `Unknown` + +### UR-073 + +**Locations:** 6 file(s) + +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L830) + - **Line:** 830 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/WatchedToggleButton.svelte`](../src/lib/components/library/WatchedToggleButton.svelte#L13) + - **Line:** 13 + - **Context:** `Unknown` +- **File:** [`src/lib/services/syncService.ts`](../src/lib/services/syncService.ts#L124) + - **Line:** 124 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/storage/mod.rs`](../src-tauri/src/commands/storage/mod.rs#L891) + - **Line:** 891 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L1047) + - **Line:** 1047 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L1064) + - **Line:** 1064 + - **Context:** `Unknown` + +### UT-104 + +**Locations:** 7 file(s) + +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2175) + - **Line:** 2175 + - **Context:** `export type GetItemsOptions = { startIndex?: number | null; limit?: nu...` +- **File:** [`src-tauri/src/repository/types.rs`](../src-tauri/src/repository/types.rs#L342) + - **Line:** 342 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L1269) + - **Line:** 1269 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4450) + - **Line:** 4450 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L803) + - **Line:** 803 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L862) + - **Line:** 862 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3563) + - **Line:** 3563 + - **Context:** `Unknown` + +### UT-107 + +**Locations:** 6 file(s) + +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1689) + - **Line:** 1689 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L864) + - **Line:** 864 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L879) + - **Line:** 879 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L898) + - **Line:** 898 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L1052) + - **Line:** 1052 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L1077) + - **Line:** 1077 + - **Context:** `Unknown` + +### UT-118 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/player/localSource.ts`](../src/lib/player/localSource.ts#L12) + - **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#L439) + - **Line:** 439 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2971) + - **Line:** 2971 - **Context:** `Unknown` ### UT-120 @@ -10434,15 +9690,23 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **Line:** 1007 - **Context:** `Unknown` -### UT-126 +### UT-123 **Locations:** 2 file(s) -- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L489) - - **Line:** 489 +- **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/catalog.rs`](../src-tauri/src/commands/catalog.rs#L1089) - - **Line:** 1089 +- **File:** [`src/lib/services/pendingSync.logic.ts`](../src/lib/services/pendingSync.logic.ts#L9) + - **Line:** 9 + - **Context:** `Unknown` + +### UT-124 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/player/localSource.ts`](../src/lib/player/localSource.ts#L55) + - **Line:** 55 - **Context:** `Unknown` ### UT-127 @@ -10487,14 +9751,94 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 3 file(s) -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L523) - - **Line:** 523 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L527) + - **Line:** 527 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L616) - - **Line:** 616 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L620) + - **Line:** 620 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2857) - - **Line:** 2857 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2920) + - **Line:** 2920 + - **Context:** `Unknown` + +### UT-131 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/components/library/EpisodeFocusView.test.ts`](../src/lib/components/library/EpisodeFocusView.test.ts#L7) + - **Line:** 7 + - **Context:** `Unknown` + +### UT-132 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/components/library/EpisodeFocusView.test.ts`](../src/lib/components/library/EpisodeFocusView.test.ts#L7) + - **Line:** 7 + - **Context:** `Unknown` + +### UT-133 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/components/library/EpisodeFocusView.test.ts`](../src/lib/components/library/EpisodeFocusView.test.ts#L7) + - **Line:** 7 + - **Context:** `Unknown` + +### UT-134 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/components/library/EpisodeFocusView.test.ts`](../src/lib/components/library/EpisodeFocusView.test.ts#L7) + - **Line:** 7 + - **Context:** `Unknown` + +### UT-135 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/components/library/EpisodeFocusView.test.ts`](../src/lib/components/library/EpisodeFocusView.test.ts#L7) + - **Line:** 7 + - **Context:** `Unknown` + +### UT-136 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/components/library/seriesNavigation.test.ts`](../src/lib/components/library/seriesNavigation.test.ts#L1) + - **Line:** 1 + - **Context:** `Unknown` + +### UT-137 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/services/offlineCatalog.reload.test.ts`](../src/lib/services/offlineCatalog.reload.test.ts#L11) + - **Line:** 11 + - **Context:** `Unknown` + +### UT-138 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/services/offlineCatalog.reload.test.ts`](../src/lib/services/offlineCatalog.reload.test.ts#L11) + - **Line:** 11 + - **Context:** `Unknown` + +### UT-139 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/services/offlineCatalog.reload.test.ts`](../src/lib/services/offlineCatalog.reload.test.ts#L11) + - **Line:** 11 + - **Context:** `Unknown` + +### UT-140 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/composables/useOfflineFilterReload.test.ts`](../src/lib/composables/useOfflineFilterReload.test.ts#L1) + - **Line:** 1 - **Context:** `Unknown` ### UT-141 @@ -10516,6 +9860,83 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **Line:** 213 - **Context:** `Unknown` +### UT-143 + +**Locations:** 3 file(s) + +- **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` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L376) + - **Line:** 376 + - **Context:** `Unknown` + +### UT-144 + +**Locations:** 3 file(s) + +- **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` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L376) + - **Line:** 376 + - **Context:** `Unknown` + +### UT-145 + +**Locations:** 5 file(s) + +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2520) + - **Line:** 2520 + - **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#L422) + - **Line:** 422 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2848) + - **Line:** 2848 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2905) + - **Line:** 2905 + - **Context:** `Unknown` + +### UT-147 + +**Locations:** 8 file(s) + +- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](../src/lib/components/player/subtitleTracks.test.ts#L221) + - **Line:** 221 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](../src/lib/components/player/subtitleTracks.test.ts#L344) + - **Line:** 344 + - **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#L210) + - **Line:** 210 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/subtitleTracks.ts`](../src/lib/components/player/subtitleTracks.ts#L245) + - **Line:** 245 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L385) + - **Line:** 385 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L829) + - **Line:** 829 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L2233) + - **Line:** 2233 + - **Context:** `Unknown` + ### UT-148 **Locations:** 3 file(s) @@ -10530,6 +9951,17 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **Line:** 277 - **Context:** `Unknown` +### UT-149 + +**Locations:** 2 file(s) + +- **File:** [`src/lib/player/adapters/adapterSelection.test.ts`](../src/lib/player/adapters/adapterSelection.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/player/adapters/index.ts`](../src/lib/player/adapters/index.ts#L20) + - **Line:** 20 + - **Context:** `Unknown` + ### UT-150 **Locations:** 1 file(s) @@ -10538,21 +9970,47 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **Line:** 4 - **Context:** `Unknown` +### UT-151 + +**Locations:** 7 file(s) + +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1657) + - **Line:** 1657 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L735) + - **Line:** 735 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L380) + - **Line:** 380 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L856) + - **Line:** 856 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L885) + - **Line:** 885 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L915) + - **Line:** 915 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/sync_drain.rs`](../src-tauri/src/commands/sync_drain.rs#L954) + - **Line:** 954 + - **Context:** `Unknown` + ### UT-152 **Locations:** 4 file(s) -- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L581) - - **Line:** 581 - - **Context:** `Unknown` - **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L688) - **Line:** 688 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4578) - - **Line:** 4578 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4692) + - **Line:** 4692 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4664) - - **Line:** 4664 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4778) + - **Line:** 4778 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L635) + - **Line:** 635 - **Context:** `Unknown` ### UT-154 @@ -10584,31 +10042,55 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 4 file(s) -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L523) - - **Line:** 523 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L527) + - **Line:** 527 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2779) - - **Line:** 2779 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2842) + - **Line:** 2842 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2801) - - **Line:** 2801 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2864) + - **Line:** 2864 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2824) - - **Line:** 2824 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2887) + - **Line:** 2887 - **Context:** `Unknown` ### UT-157 **Locations:** 3 file(s) -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L604) - - **Line:** 604 +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L650) + - **Line:** 650 - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L640) - - **Line:** 640 +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L686) + - **Line:** 686 - **Context:** `Unknown` -- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L667) - - **Line:** 667 +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L713) + - **Line:** 713 + - **Context:** `Unknown` + +### UT-158 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/components/library/mosaic.ts`](../src/lib/components/library/mosaic.ts#L12) + - **Line:** 12 + - **Context:** `Unknown` + +### UT-159 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/components/library/mosaic.ts`](../src/lib/components/library/mosaic.ts#L12) + - **Line:** 12 + - **Context:** `Unknown` + +### UT-160 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/components/library/mosaic.ts`](../src/lib/components/library/mosaic.ts#L12) + - **Line:** 12 - **Context:** `Unknown` ### UT-161 @@ -10632,8 +10114,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 1 file(s) -- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3760) - - **Line:** 3760 +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3767) + - **Line:** 3767 - **Context:** `Unknown` ### UT-163 @@ -10662,31 +10144,126 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L457) - **Line:** 457 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L345) - - **Line:** 345 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2216) + - **Line:** 2216 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2190) - - **Line:** 2190 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3402) + - **Line:** 3402 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3339) - - **Line:** 3339 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3434) + - **Line:** 3434 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3371) - - **Line:** 3371 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3460) + - **Line:** 3460 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3397) - - **Line:** 3397 +- **File:** [`src-tauri/src/repository/mod.rs`](../src-tauri/src/repository/mod.rs#L347) + - **Line:** 347 - **Context:** `Unknown` -### UT-171 +### UT-168 -**Locations:** 2 file(s) +**Locations:** 24 file(s) -- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L915) - - **Line:** 915 +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2380) + - **Line:** 2380 - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L956) - - **Line:** 956 +- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](../src/lib/components/player/subtitleTracks.test.ts#L67) + - **Line:** 67 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](../src/lib/components/player/subtitleTracks.test.ts#L83) + - **Line:** 83 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/subtitleTracks.test.ts`](../src/lib/components/player/subtitleTracks.test.ts#L100) + - **Line:** 100 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/subtitleTracks.ts`](../src/lib/components/player/subtitleTracks.ts#L75) + - **Line:** 75 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L358) + - **Line:** 358 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/types.rs`](../src-tauri/src/repository/types.rs#L265) + - **Line:** 265 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L84) + - **Line:** 84 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L99) + - **Line:** 99 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L120) + - **Line:** 120 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L150) + - **Line:** 150 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L184) + - **Line:** 184 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L293) + - **Line:** 293 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L306) + - **Line:** 306 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L344) + - **Line:** 344 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L362) + - **Line:** 362 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L376) + - **Line:** 376 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/device_profile.rs`](../src-tauri/src/repository/device_profile.rs#L390) + - **Line:** 390 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1765) + - **Line:** 1765 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1835) + - **Line:** 1835 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1948) + - **Line:** 1948 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1994) + - **Line:** 1994 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3043) + - **Line:** 3043 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3066) + - **Line:** 3066 + - **Context:** `Unknown` + +### UT-170 + +**Locations:** 8 file(s) + +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L881) + - **Line:** 881 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L546) + - **Line:** 546 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L679) + - **Line:** 679 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3238) + - **Line:** 3238 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3303) + - **Line:** 3303 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3334) + - **Line:** 3334 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3410) + - **Line:** 3410 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3437) + - **Line:** 3437 - **Context:** `Unknown` ### UT-173 @@ -10699,14 +10276,33 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L89) - **Line:** 89 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L523) - - **Line:** 523 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L527) + - **Line:** 527 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2951) - - **Line:** 2951 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3014) + - **Line:** 3014 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3047) - - **Line:** 3047 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3110) + - **Line:** 3110 + - **Context:** `Unknown` + +### UT-174 + +**Locations:** 2 file(s) + +- **File:** [`src/lib/components/player/hlsRecovery.test.ts`](../src/lib/components/player/hlsRecovery.test.ts#L16) + - **Line:** 16 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/hlsRecovery.ts`](../src/lib/components/player/hlsRecovery.ts#L11) + - **Line:** 11 + - **Context:** `Unknown` + +### UT-175 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/player/adapters/html5Adapter.test.ts`](../src/lib/player/adapters/html5Adapter.test.ts#L253) + - **Line:** 253 - **Context:** `Unknown` ### UT-176 @@ -10795,45 +10391,494 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, **Locations:** 6 file(s) -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L460) - - **Line:** 460 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L480) - - **Line:** 480 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2958) - - **Line:** 2958 - - **Context:** `Unknown` -- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2978) - - **Line:** 2978 - - **Context:** `Unknown` - **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L877) - **Line:** 877 - **Context:** `Unknown` - **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L4013) - **Line:** 4013 - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L460) + - **Line:** 460 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L480) + - **Line:** 480 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L3019) + - **Line:** 3019 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L3039) + - **Line:** 3039 + - **Context:** `Unknown` + +### UT-182 + +**Locations:** 5 file(s) + +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L1598) + - **Line:** 1598 + - **Context:** `Unknown` +- **File:** [`src/lib/api/repository-client.ts`](../src/lib/api/repository-client.ts#L227) + - **Line:** 227 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L592) + - **Line:** 592 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L527) + - **Line:** 527 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2964) + - **Line:** 2964 + - **Context:** `Unknown` + +### UR-002 + +**Locations:** 22 file(s) + +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2710) + - **Line:** 2710 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/connectivity.ts`](../src/lib/stores/connectivity.ts#L10) + - **Line:** 10 + - **Context:** `Unknown` +- **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-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/sync.rs`](../src-tauri/src/commands/sync.rs#L7) + - **Line:** 7 + - **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_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#L236) + - **Line:** 236 + - **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/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/online.rs`](../src-tauri/src/repository/online.rs#L1) + - **Line:** 1 + - **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/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L363) + - **Line:** 363 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L408) + - **Line:** 408 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L635) + - **Line:** 635 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1455) + - **Line:** 1455 + - **Context:** `Unknown` + +### UR-011 + +**Locations:** 11 file(s) + +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L2710) + - **Line:** 2710 + - **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/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-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#L2527) + - **Line:** 2527 + - **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/catalog.rs`](../src-tauri/src/commands/catalog.rs#L877) + - **Line:** 877 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/mod.rs`](../src-tauri/src/commands/mod.rs#L2) + - **Line:** 2 + - **Context:** `Unknown` + +### UT-146 + +**Locations:** 3 file(s) + +- **File:** [`src/lib/api/bindings.ts`](../src/lib/api/bindings.ts#L3138) + - **Line:** 3138 + - **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#L2937) + - **Line:** 2937 + - **Context:** `Unknown` + +### UR-024 + +**Locations:** 3 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` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L888) + - **Line:** 888 + - **Context:** `Unknown` + +### UR-041 + +**Locations:** 3 file(s) + +- **File:** [`src/lib/components/player/VideoPlayer.nativeReveal.test.ts`](../src/lib/components/player/VideoPlayer.nativeReveal.test.ts#L16) + - **Line:** 16 + - **Context:** `Unknown` +- **File:** [`src/lib/utils/pictureInPicture.ts`](../src/lib/utils/pictureInPicture.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/utils/pictureInPicture.ts`](../src/lib/utils/pictureInPicture.ts#L111) + - **Line:** 111 + - **Context:** `Unknown` + +### UT-167 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/components/library/libraryMosaic.ts`](../src/lib/components/library/libraryMosaic.ts#L12) + - **Line:** 12 + - **Context:** `Unknown` + +### UT-183 + +**Locations:** 2 file(s) + +- **File:** [`src/lib/player/adapters/html5Adapter.test.ts`](../src/lib/player/adapters/html5Adapter.test.ts#L214) + - **Line:** 214 + - **Context:** `Unknown` +- **File:** [`src/lib/player/adapters/html5Adapter.ts`](../src/lib/player/adapters/html5Adapter.ts#L172) + - **Line:** 172 + - **Context:** `Unknown` + +### UT-184 + +**Locations:** 2 file(s) + +- **File:** [`src/lib/components/player/mediaReady.test.ts`](../src/lib/components/player/mediaReady.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/mediaReady.ts`](../src/lib/components/player/mediaReady.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` + +### UT-185 + +**Locations:** 2 file(s) + +- **File:** [`src/lib/components/player/VideoPlayer.nativeReveal.test.ts`](../src/lib/components/player/VideoPlayer.nativeReveal.test.ts#L16) + - **Line:** 16 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L507) + - **Line:** 507 + - **Context:** `Unknown` + +### UT-188 + +**Locations:** 4 file(s) + +- **File:** [`src/lib/components/player/controlsVisibility.test.ts`](../src/lib/components/player/controlsVisibility.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/controlsVisibility.ts`](../src/lib/components/player/controlsVisibility.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L474) + - **Line:** 474 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1888) + - **Line:** 1888 + - **Context:** `Unknown` + +### UR-017 + +**Locations:** 11 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#L61) + - **Line:** 61 + - **Context:** `Unknown` +- **File:** [`src/lib/services/syncService.ts`](../src/lib/services/syncService.ts#L194) + - **Line:** 194 + - **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/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/repository/online.rs`](../src-tauri/src/repository/online.rs#L2275) + - **Line:** 2275 + - **Context:** `Unknown` + +### UR-028 + +**Locations:** 2 file(s) + +- **File:** [`src/lib/components/player/AudioPlayer.svelte`](../src/lib/components/player/AudioPlayer.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/components/player/MiniPlayer.svelte`](../src/lib/components/player/MiniPlayer.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` + +### UT-187 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L536) + - **Line:** 536 + - **Context:** `Unknown` + +### UT-189 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/components/player/VideoPlayer.svelte`](../src/lib/components/player/VideoPlayer.svelte#L1484) + - **Line:** 1484 + - **Context:** `Unknown` + +### UR-008 + +**Locations:** 4 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` +- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L4) + - **Line:** 4 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1493) + - **Line:** 1493 + - **Context:** `Unknown` + +### UR-036 + +**Locations:** 5 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` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2415) + - **Line:** 2415 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L2428) + - **Line:** 2428 + - **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-051 + +**Locations:** 2 file(s) + +- **File:** [`src/lib/components/library/LibraryGrid.svelte`](../src/lib/components/library/LibraryGrid.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` +- **File:** [`src/lib/components/library/MediaCard.svelte`](../src/lib/components/library/MediaCard.svelte#L1) + - **Line:** 1 + - **Context:** `Unknown` + +### UR-059 + +**Locations:** 11 file(s) + +- **File:** [`src/lib/stores/continueWatchingFilter.test.ts`](../src/lib/stores/continueWatchingFilter.test.ts#L12) + - **Line:** 12 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/continueWatchingFilter.ts`](../src/lib/stores/continueWatchingFilter.ts#L15) + - **Line:** 15 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/continueWatchingFilter.ts`](../src/lib/stores/continueWatchingFilter.ts#L91) + - **Line:** 91 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/home.ts`](../src/lib/stores/home.ts#L2) + - **Line:** 2 + - **Context:** `Unknown` +- **File:** [`src/lib/stores/tv.ts`](../src/lib/stores/tv.ts#L3) + - **Line:** 3 + - **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` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L910) + - **Line:** 910 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L1232) + - **Line:** 1232 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3688) + - **Line:** 3688 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3709) + - **Line:** 3709 + - **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-186 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/utils/nativeVideoLayers.test.ts`](../src/lib/utils/nativeVideoLayers.test.ts#L4) + - **Line:** 4 + - **Context:** `Unknown` ### UT-190 **Locations:** 2 file(s) -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L884) - - **Line:** 884 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L910) + - **Line:** 910 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3558) - - **Line:** 3558 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3688) + - **Line:** 3688 - **Context:** `Unknown` ### UT-191 **Locations:** 2 file(s) -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L884) - - **Line:** 884 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L910) + - **Line:** 910 - **Context:** `Unknown` -- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3579) - - **Line:** 3579 +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3709) + - **Line:** 3709 + - **Context:** `Unknown` + +### UT-192 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/stores/continueWatchingFilter.test.ts`](../src/lib/stores/continueWatchingFilter.test.ts#L12) + - **Line:** 12 + - **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#L3087) + - **Line:** 3087 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/domain/search_rank.rs`](../src-tauri/src/domain/search_rank.rs#L106) + - **Line:** 106 + - **Context:** `Unknown` + +### UR-072 + +**Locations:** 1 file(s) + +- **File:** [`src/lib/utils/scrollContainer.ts`](../src/lib/utils/scrollContainer.ts#L23) + - **Line:** 23 - **Context:** `Unknown` ### UT-193 @@ -10844,14 +10889,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **Line:** 11 - **Context:** `Unknown` -### UT-194 - -**Locations:** 1 file(s) - -- **File:** [`src-tauri/src/player/seek.rs`](../src-tauri/src/player/seek.rs#L135) - - **Line:** 135 - - **Context:** `Unknown` - ### UT-195 **Locations:** 1 file(s) @@ -10895,6 +10932,275 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **Line:** 91 - **Context:** `Unknown` +### UT-201 + +**Locations:** 2 file(s) + +- **File:** [`src/lib/utils/logger.test.ts`](../src/lib/utils/logger.test.ts#L19) + - **Line:** 19 + - **Context:** `Unknown` +- **File:** [`src/lib/utils/logger.test.ts`](../src/lib/utils/logger.test.ts#L330) + - **Line:** 330 + - **Context:** `Unknown` + +### UR-006 + +**Locations:** 8 file(s) + +- **File:** [`src-tauri/src/player/android/mod.rs`](../src-tauri/src/player/android/mod.rs#L438) + - **Line:** 438 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/android/mod.rs`](../src-tauri/src/player/android/mod.rs#L1123) + - **Line:** 1123 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/android/mod.rs`](../src-tauri/src/player/android/mod.rs#L1425) + - **Line:** 1425 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/seek.rs`](../src-tauri/src/player/seek.rs#L103) + - **Line:** 103 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/seek.rs`](../src-tauri/src/player/seek.rs#L135) + - **Line:** 135 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L144) + - **Line:** 144 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/mod.rs`](../src-tauri/src/player/mod.rs#L166) + - **Line:** 166 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L468) + - **Line:** 468 + - **Context:** `Unknown` + +### UR-014 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/commands/playlist.rs`](../src-tauri/src/commands/playlist.rs#L4) + - **Line:** 4 + - **Context:** `Unknown` + +### UR-016 + +**Locations:** 2 file(s) + +- **File:** [`src-tauri/src/player/backend.rs`](../src-tauri/src/player/backend.rs#L62) + - **Line:** 62 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/backend.rs`](../src-tauri/src/player/backend.rs#L257) + - **Line:** 257 + - **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-032 + +**Locations:** 7 file(s) + +- **File:** [`src-tauri/src/player/android/mod.rs`](../src-tauri/src/player/android/mod.rs#L579) + - **Line:** 579 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/android/mod.rs`](../src-tauri/src/player/android/mod.rs#L617) + - **Line:** 617 + - **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#L380) + - **Line:** 380 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L397) + - **Line:** 397 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L421) + - **Line:** 421 + - **Context:** `Unknown` + +### UR-033 + +**Locations:** 12 file(s) + +- **File:** [`src-tauri/src/player/android/mod.rs`](../src-tauri/src/player/android/mod.rs#L579) + - **Line:** 579 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/player/android/mod.rs`](../src-tauri/src/player/android/mod.rs#L617) + - **Line:** 617 + - **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#L380) + - **Line:** 380 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L397) + - **Line:** 397 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/settings.rs`](../src-tauri/src/settings.rs#L421) + - **Line:** 421 + - **Context:** `Unknown` + +### UT-194 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/player/seek.rs`](../src-tauri/src/player/seek.rs#L135) + - **Line:** 135 + - **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` + +### IT-017 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L877) + - **Line:** 877 + - **Context:** `Unknown` + +### UT-044 + +**Locations:** 1 file(s) + +- **File:** [`src-tauri/src/commands/offline.rs`](../src-tauri/src/commands/offline.rs#L136) + - **Line:** 136 + - **Context:** `Unknown` + +### UT-103 + +**Locations:** 6 file(s) + +- **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L12) + - **Line:** 12 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L78) + - **Line:** 78 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L286) + - **Line:** 286 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L320) + - **Line:** 320 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L340) + - **Line:** 340 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/favorites.rs`](../src-tauri/src/commands/favorites.rs#L356) + - **Line:** 356 + - **Context:** `Unknown` + +### UT-115 + +**Locations:** 2 file(s) + +- **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#L763) + - **Line:** 763 + - **Context:** `Unknown` + +### UT-125 + +**Locations:** 3 file(s) + +- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L1000) + - **Line:** 1000 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L1038) + - **Line:** 1038 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L1061) + - **Line:** 1061 + - **Context:** `Unknown` + +### UT-126 + +**Locations:** 2 file(s) + +- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L489) + - **Line:** 489 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L1089) + - **Line:** 1089 + - **Context:** `Unknown` + +### UT-171 + +**Locations:** 2 file(s) + +- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L915) + - **Line:** 915 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/catalog.rs`](../src-tauri/src/commands/catalog.rs#L956) + - **Line:** 956 + - **Context:** `Unknown` + +### UT-172 + +**Locations:** 3 file(s) + +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L524) + - **Line:** 524 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3367) + - **Line:** 3367 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L3396) + - **Line:** 3396 + - **Context:** `Unknown` + ### UT-202 **Locations:** 2 file(s) @@ -10906,4 +11212,242 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-006, JA-007, JA-008, JA-009, JA-010, - **Line:** 390 - **Context:** `export const MATRIX_LINK_PREFIX = "../";` +### UT-203 + +**Locations:** 10 file(s) + +- **File:** [`src-tauri/src/commands/library.rs`](../src-tauri/src/commands/library.rs#L274) + - **Line:** 274 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/library.rs`](../src-tauri/src/commands/library.rs#L295) + - **Line:** 295 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/library.rs`](../src-tauri/src/commands/library.rs#L307) + - **Line:** 307 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L191) + - **Line:** 191 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L203) + - **Line:** 203 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L232) + - **Line:** 232 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L275) + - **Line:** 275 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L293) + - **Line:** 293 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L316) + - **Line:** 316 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/exclusions.rs`](../src-tauri/src/repository/exclusions.rs#L334) + - **Line:** 334 + - **Context:** `Unknown` + +### UT-204 + +**Locations:** 8 file(s) + +- **File:** [`src-tauri/src/thumbnail/cache.rs`](../src-tauri/src/thumbnail/cache.rs#L39) + - **Line:** 39 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/thumbnail/cache.rs`](../src-tauri/src/thumbnail/cache.rs#L74) + - **Line:** 74 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/thumbnail/cache.rs`](../src-tauri/src/thumbnail/cache.rs#L200) + - **Line:** 200 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/thumbnail/cache.rs`](../src-tauri/src/thumbnail/cache.rs#L628) + - **Line:** 628 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/thumbnail/cache.rs`](../src-tauri/src/thumbnail/cache.rs#L668) + - **Line:** 668 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/thumbnail/cache.rs`](../src-tauri/src/thumbnail/cache.rs#L706) + - **Line:** 706 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/thumbnail/cache.rs`](../src-tauri/src/thumbnail/cache.rs#L735) + - **Line:** 735 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/thumbnail/cache.rs`](../src-tauri/src/thumbnail/cache.rs#L766) + - **Line:** 766 + - **Context:** `Unknown` + +### UT-206 + +**Locations:** 9 file(s) + +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1716) + - **Line:** 1716 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L1735) + - **Line:** 1735 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/player/mod.rs`](../src-tauri/src/commands/player/mod.rs#L2804) + - **Line:** 2804 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L1253) + - **Line:** 1253 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4500) + - **Line:** 4500 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4553) + - **Line:** 4553 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L814) + - **Line:** 814 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3602) + - **Line:** 3602 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/online.rs`](../src-tauri/src/repository/online.rs#L3638) + - **Line:** 3638 + - **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` + +### UT-205 + +**Locations:** 10 file(s) + +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L138) + - **Line:** 138 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L156) + - **Line:** 156 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L186) + - **Line:** 186 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L329) + - **Line:** 329 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L1374) + - **Line:** 1374 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L1514) + - **Line:** 1514 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L1867) + - **Line:** 1867 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L2560) + - **Line:** 2560 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L2589) + - **Line:** 2589 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/download/mod.rs`](../src-tauri/src/commands/download/mod.rs#L2616) + - **Line:** 2616 + - **Context:** `Unknown` + +### UR-042 + +**Locations:** 2 file(s) + +- **File:** [`src-tauri/src/commands/auth.rs`](../src-tauri/src/commands/auth.rs#L3) + - **Line:** 3 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/auth/mod.rs`](../src-tauri/src/auth/mod.rs#L139) + - **Line:** 139 + - **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-065 + +**Locations:** 25 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/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#L763) + - **Line:** 763 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/commands/repository.rs`](../src-tauri/src/commands/repository.rs#L51) + - **Line:** 51 + - **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` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L276) + - **Line:** 276 + - **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#L501) + - **Line:** 501 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L1253) + - **Line:** 1253 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L2548) + - **Line:** 2548 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L2588) + - **Line:** 2588 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3087) + - **Line:** 3087 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3144) + - **Line:** 3144 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3253) + - **Line:** 3253 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3306) + - **Line:** 3306 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L3362) + - **Line:** 3362 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4500) + - **Line:** 4500 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/offline.rs`](../src-tauri/src/repository/offline.rs#L4553) + - **Line:** 4553 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/repository/hybrid.rs`](../src-tauri/src/repository/hybrid.rs#L64) + - **Line:** 64 + - **Context:** `Unknown` +- **File:** [`src-tauri/src/lib.rs`](../src-tauri/src/lib.rs#L1441) + - **Line:** 1441 + - **Context:** `Unknown` + diff --git a/src-tauri/src/commands/library.rs b/src-tauri/src/commands/library.rs index 80337c22..d0ef85ed 100644 --- a/src-tauri/src/commands/library.rs +++ b/src-tauri/src/commands/library.rs @@ -279,7 +279,10 @@ mod tests { }; let json = serde_json::to_string(&settings).expect("serialises"); - assert!(json.contains("\"excludedItemIds\""), "camelCase on the wire"); + assert!( + json.contains("\"excludedItemIds\""), + "camelCase on the wire" + ); let parsed: LibrarySettings = serde_json::from_str(&json).expect("parses back"); assert_eq!(parsed, settings); diff --git a/src-tauri/src/repository/exclusions.rs b/src-tauri/src/repository/exclusions.rs index cb9e46a6..c31ab06a 100644 --- a/src-tauri/src/repository/exclusions.rs +++ b/src-tauri/src/repository/exclusions.rs @@ -113,13 +113,6 @@ pub fn is_excluded_by(excluded: &HashSet, item: &MediaItem) -> bool { } } -/// Whether the currently-configured exclusions hide `item`. -/// -/// TRACES: UR-076 | DR-209 -pub fn is_excluded(item: &MediaItem) -> bool { - is_excluded_by(&excluded_snapshot(), item) -} - /// Drop the user's hidden items from a repository result. /// /// Implemented as a trait so the hybrid repository's generic result helpers — @@ -326,7 +319,7 @@ mod tests { let _guard = EXCLUSION_TEST_LOCK.lock_safe(); set_excluded_item_ids(&["hidden".to_string()]); - let still_matches = is_excluded(&item("hidden")); + let still_matches = is_excluded_by(&excluded_snapshot(), &item("hidden")); let survives = item("hidden").without_excluded(); set_excluded_item_ids(&[]); diff --git a/src/lib/api/bindings.ts b/src/lib/api/bindings.ts index 43231cf2..7c74b59e 100644 --- a/src/lib/api/bindings.ts +++ b/src/lib/api/bindings.ts @@ -1079,6 +1079,48 @@ async catalogSyncStatus() : Promise { async setShowServerCatalog(show: boolean) : Promise { await TAURI_INVOKE("set_show_server_catalog", { show }); }, +/** + * The library preferences currently in force. + * + * Read from the in-memory exclusion set rather than the database: that set is + * what queries actually consult, so reading it is the only answer that cannot + * disagree with what the user is seeing. + * + * TRACES: UR-076 | DR-209 + */ +async libraryGetSettings() : Promise { + return await TAURI_INVOKE("library_get_settings"); +}, +/** + * Replace the library preferences: apply them to every subsequent query and + * persist them. + * + * Returns the sanitised value actually applied, so the picker shows what was + * stored rather than what it sent. + * + * TRACES: UR-076 | DR-209 + */ +async librarySetSettings(settings: LibrarySettings) : Promise { + return await TAURI_INVOKE("library_set_settings", { settings }); +}, +/** + * The folders the user may choose to hide. + * + * Offers each music library and the folders directly inside it. Music is the + * only scope offered because it is the one where a foreign folder — podcasts, + * audiobooks, sound effects — routinely shares a library with the media the + * user actually browses; the scope is decided here rather than in the UI so the + * collection-type table stays out of the frontend + * (see `SearchScope::for_collection_type`). + * + * Reads through `HybridRepository::get_items_unfiltered` so folders that are + * *already* hidden still appear — otherwise the setting could never be undone. + * + * TRACES: UR-076 | DR-209 + */ +async libraryGetExclusionCandidates(handle: string) : Promise { + return await TAURI_INVOKE("library_get_exclusion_candidates", { handle }); +}, /** * Resolve the stream URL for every download row that was queued while offline * (`status = 'pending' AND stream_url IS NULL`), then pump the queue so they @@ -2080,6 +2122,34 @@ remaining: number } * TRACES: UR-027 | DR-030 */ export type EqPreset = "flat" | "rock" | "pop" | "jazz" | "classical" | "bassBoost" | "trebleBoost" | "vocal" +/** + * Something the user may choose to hide: a library, or a folder directly + * inside one. + * + * Which containers are *offerable* is a domain question (it depends on the + * library's Jellyfin collection type and on what counts as a folder), so the + * list is assembled here and the frontend renders it verbatim. + * + * TRACES: UR-076 | DR-209 + */ +export type ExclusionCandidate = { +/** + * Stable Jellyfin item id — what gets stored when the user picks it. + */ +id: string; +/** + * Display name of the folder (or of the library, for a whole-library entry). + */ +name: string; +/** + * Library this candidate lives in, so the picker can group and disambiguate + * two folders that share a name. + */ +libraryName: string; +/** + * True when the candidate *is* a library rather than a folder inside one. + */ +isLibrary: boolean } /** * Genre */ @@ -2137,6 +2207,28 @@ export type Library = { id: string; name: string; collectionType: string; imageT * TRACES: UR-075 | DR-175 */ favoritesScope?: SearchScope | null } +/** + * Library browsing preferences. + * + * Currently a single list: the folders (or whole libraries) the user has asked + * to keep out of browsing. It is a *list of ids*, never names — names are + * unstable, locale-dependent and non-unique, and the hardcoded name filter this + * setting replaced broke on exactly that. What the ids then hide is decided in + * `repository::exclusions`; this struct is only how the choice is carried and + * persisted. + * + * The default is an empty list: nobody inherits another user's folder layout. + * + * TRACES: UR-076 | DR-209 + */ +export type LibrarySettings = { +/** + * Stable item ids of the folders/libraries hidden from browsing. + * + * `#[serde(default)]` so settings JSON persisted before this field existed + * loads as the previous behaviour (nothing hidden). + */ +excludedItemIds?: string[] } /** * Live stream information returned from opening a Live TV / channel stream. *