docs: add UR-060 search relevance requirement; regenerate matrix

Records the search relevance and grouping behaviour as UR-060, with DR-090
(Rust relevance ranking) and DR-091 (Shows/Episodes split, People group,
stored-order migration). DR-066 now points at DR-091 for the current group set
instead of restating a default order that has since changed.
This commit is contained in:
2026-07-25 15:13:52 +02:00
parent 124da29fc7
commit b7a7037194
2 changed files with 173 additions and 103 deletions
+168 -102
View File
@@ -1,22 +1,22 @@
# Code Traceability Matrix
**Generated:** 7/25/2026, 9:21:22 AM
**Generated:** 7/25/2026, 3:13:47 PM
## Summary
- **Total Files Scanned:** 293
- **Total TRACES Found:** 301
- **Total Files Scanned:** 296
- **Total TRACES Found:** 310
- **Requirements Covered:**
- User Requirements (UR): 56
- User Requirements (UR): 57
- Integration Requirements (IR): 15
- Development Requirements (DR): 81
- Development Requirements (DR): 83
- Jellyfin API Requirements (JA): 24
## Requirements by Type
### User Requirements (UR)
```
UR-002, UR-003, UR-004, UR-005, 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-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-002, UR-003, UR-004, UR-005, 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-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
```
### Integration Requirements (IR)
@@ -26,7 +26,7 @@ IR-003, IR-004, IR-009, IR-010, IR-011, IR-012, IR-013, IR-014, IR-015, IR-020,
### Development Requirements (DR)
```
DR-001, DR-002, DR-003, DR-004, DR-005, DR-006, DR-007, DR-009, DR-010, DR-011, DR-012, DR-013, DR-014, DR-015, DR-016, DR-017, DR-018, DR-020, DR-021, DR-022, DR-023, DR-024, DR-025, DR-026, DR-027, DR-028, DR-029, DR-030, DR-032, DR-033, DR-034, DR-035, DR-036, DR-037, DR-038, DR-039, DR-040, DR-041, DR-043, DR-044, DR-045, DR-047, DR-048, DR-049, DR-050, DR-051, DR-052, DR-053, DR-054, DR-055, DR-056, DR-057, DR-058, DR-059, DR-060, DR-061, DR-062, DR-063, DR-064, DR-065, DR-066, DR-067, DR-068, DR-069, DR-070, DR-074, DR-075, DR-076, DR-077, DR-078, DR-079, DR-080, DR-081, DR-082, DR-083, DR-084, DR-085, DR-086, DR-087, DR-088, DR-089
DR-001, DR-002, DR-003, DR-004, DR-005, DR-006, DR-007, DR-009, DR-010, DR-011, DR-012, DR-013, DR-014, DR-015, DR-016, DR-017, DR-018, DR-020, DR-021, DR-022, DR-023, DR-024, DR-025, DR-026, DR-027, DR-028, DR-029, DR-030, DR-032, DR-033, DR-034, DR-035, DR-036, DR-037, DR-038, DR-039, DR-040, DR-041, DR-043, DR-044, DR-045, DR-047, DR-048, DR-049, DR-050, DR-051, DR-052, DR-053, DR-054, DR-055, DR-056, DR-057, DR-058, DR-059, DR-060, DR-061, DR-062, DR-063, DR-064, DR-065, DR-066, DR-067, DR-068, DR-069, DR-070, DR-074, DR-075, DR-076, DR-077, DR-078, DR-079, DR-080, DR-081, DR-082, DR-083, DR-084, DR-085, DR-086, DR-087, DR-088, DR-089, DR-090, DR-091
```
### Jellyfin API Requirements (JA)
@@ -1304,8 +1304,17 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
### DR-063
**Locations:** 3 file(s)
**Locations:** 8 file(s)
- **File:** [`src/routes/library/+layout.svelte`](src/routes/library/+layout.svelte#L60)
- **Line:** 60
- **Context:** `Unknown`
- **File:** [`src/routes/library/+page.svelte`](src/routes/library/+page.svelte#L17)
- **Line:** 17
- **Context:** `Unknown`
- **File:** [`src/routes/search/+page.svelte`](src/routes/search/+page.svelte#L14)
- **Line:** 14
- **Context:** `Unknown`
- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L9)
- **Line:** 9
- **Context:** `Unknown`
@@ -1315,16 +1324,22 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L50)
- **Line:** 50
- **Context:** `export function scopeItemTypes(scope: SearchScope): string[] | undefin...`
- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L73)
- **Line:** 73
- **Context:** `Unknown`
- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L93)
- **Line:** 93
- **Context:** `Unknown`
### DR-064
**Locations:** 3 file(s)
- **File:** [`src/routes/library/+layout.svelte`](src/routes/library/+layout.svelte#L41)
- **Line:** 41
- **File:** [`src/routes/library/+layout.svelte`](src/routes/library/+layout.svelte#L45)
- **Line:** 45
- **Context:** `Unknown`
- **File:** [`src/routes/search/+page.svelte`](src/routes/search/+page.svelte#L15)
- **Line:** 15
- **File:** [`src/routes/search/+page.svelte`](src/routes/search/+page.svelte#L22)
- **Line:** 22
- **Context:** `Unknown`
- **File:** [`src/lib/components/search/SearchScopeChips.svelte`](src/lib/components/search/SearchScopeChips.svelte#L7)
- **Line:** 7
@@ -1357,8 +1372,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
- **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#L117)
- **Line:** 117
- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L202)
- **Line:** 202
- **Context:** `Unknown`
### DR-067
@@ -1371,8 +1386,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
- **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#L161)
- **Line:** 161
- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L252)
- **Line:** 252
- **Context:** `Unknown`
### DR-068
@@ -1566,11 +1581,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
- **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#L203)
- **Line:** 203
- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L204)
- **Line:** 204
- **Context:** `Unknown`
- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L218)
- **Line:** 218
- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L219)
- **Line:** 219
- **Context:** `Unknown`
- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L538)
- **Line:** 538
@@ -1640,8 +1655,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L1925)
- **Line:** 1925
- **Context:** `Unknown`
- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L218)
- **Line:** 218
- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L219)
- **Line:** 219
- **Context:** `Unknown`
- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L538)
- **Line:** 538
@@ -1713,8 +1728,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
- **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#L235)
- **Line:** 235
- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L236)
- **Line:** 236
- **Context:** `Unknown`
- **File:** [`src-tauri/src/repository/types.rs`](src-tauri/src/repository/types.rs#L259)
- **Line:** 259
@@ -1782,6 +1797,25 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
- **Line:** 3
- **Context:** `Unknown`
### DR-090
**Locations:** 1 file(s)
- **File:** [`src-tauri/src/domain/search_rank.rs`](src-tauri/src/domain/search_rank.rs#L106)
- **Line:** 106
- **Context:** `Unknown`
### DR-091
**Locations:** 2 file(s)
- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L117)
- **Line:** 117
- **Context:** `Unknown`
- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L183)
- **Line:** 183
- **Context:** `Unknown`
### JA-001
**Locations:** 1 file(s)
@@ -1813,12 +1847,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
**Locations:** 3 file(s)
- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L4)
- **Line:** 4
- **Context:** `Unknown`
- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L3)
- **Line:** 3
- **Context:** `Unknown`
- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L4)
- **Line:** 4
- **Context:** `Unknown`
- **File:** [`src-tauri/src/jellyfin/client.rs`](src-tauri/src/jellyfin/client.rs#L1)
- **Line:** 1
- **Context:** `Unknown`
@@ -2057,8 +2091,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L1319)
- **Line:** 1319
- **Context:** `Unknown`
- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L494)
- **Line:** 494
- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L505)
- **Line:** 505
- **Context:** `Unknown`
- **File:** [`src-tauri/src/repository/mod.rs`](src-tauri/src/repository/mod.rs#L127)
- **Line:** 127
@@ -2246,7 +2280,7 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
### UR-005
**Locations:** 58 file(s)
**Locations:** 59 file(s)
- **File:** [`src/lib/api/bindings.ts`](src/lib/api/bindings.ts#L2251)
- **Line:** 2251
@@ -2266,6 +2300,9 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
- **File:** [`src/lib/components/player/MiniPlayer.svelte`](src/lib/components/player/MiniPlayer.svelte#L1)
- **Line:** 1
- **Context:** `Unknown`
- **File:** [`src/lib/components/player/videoFit.ts`](src/lib/components/player/videoFit.ts#L7)
- **Line:** 7
- **Context:** `Unknown`
- **File:** [`src/lib/components/player/VideoPlayer.svelte`](src/lib/components/player/VideoPlayer.svelte#L1)
- **Line:** 1
- **Context:** `Unknown`
@@ -2463,12 +2500,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
- **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/repository.rs`](src-tauri/src/commands/repository.rs#L4)
- **Line:** 4
- **Context:** `Unknown`
- **File:** [`src-tauri/src/commands/catalog.rs`](src-tauri/src/commands/catalog.rs#L3)
- **Line:** 3
- **Context:** `Unknown`
- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L4)
- **Line:** 4
- **Context:** `Unknown`
- **File:** [`src-tauri/src/repository/online.rs`](src-tauri/src/repository/online.rs#L1)
- **Line:** 1
- **Context:** `Unknown`
@@ -3250,8 +3287,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L675)
- **Line:** 675
- **Context:** `Unknown`
- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L494)
- **Line:** 494
- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L505)
- **Line:** 505
- **Context:** `Unknown`
- **File:** [`src-tauri/src/repository/mod.rs`](src-tauri/src/repository/mod.rs#L127)
- **Line:** 127
@@ -3304,13 +3341,22 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
### UR-049
**Locations:** 8 file(s)
**Locations:** 13 file(s)
- **File:** [`src/routes/library/+layout.svelte`](src/routes/library/+layout.svelte#L41)
- **Line:** 41
- **File:** [`src/routes/library/+layout.svelte`](src/routes/library/+layout.svelte#L45)
- **Line:** 45
- **Context:** `Unknown`
- **File:** [`src/routes/search/+page.svelte`](src/routes/search/+page.svelte#L15)
- **Line:** 15
- **File:** [`src/routes/library/+layout.svelte`](src/routes/library/+layout.svelte#L60)
- **Line:** 60
- **Context:** `Unknown`
- **File:** [`src/routes/library/+page.svelte`](src/routes/library/+page.svelte#L17)
- **Line:** 17
- **Context:** `Unknown`
- **File:** [`src/routes/search/+page.svelte`](src/routes/search/+page.svelte#L14)
- **Line:** 14
- **Context:** `Unknown`
- **File:** [`src/routes/search/+page.svelte`](src/routes/search/+page.svelte#L22)
- **Line:** 22
- **Context:** `Unknown`
- **File:** [`src/lib/components/search/SearchScopeChips.svelte`](src/lib/components/search/SearchScopeChips.svelte#L7)
- **Line:** 7
@@ -3330,6 +3376,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L50)
- **Line:** 50
- **Context:** `export function scopeItemTypes(scope: SearchScope): string[] | undefin...`
- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L73)
- **Line:** 73
- **Context:** `Unknown`
- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L93)
- **Line:** 93
- **Context:** `Unknown`
### UR-050
@@ -3350,11 +3402,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
- **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#L117)
- **Line:** 117
- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L202)
- **Line:** 202
- **Context:** `Unknown`
- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L161)
- **Line:** 161
- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L252)
- **Line:** 252
- **Context:** `Unknown`
### UR-051
@@ -3516,11 +3568,11 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L1925)
- **Line:** 1925
- **Context:** `Unknown`
- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L203)
- **Line:** 203
- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L204)
- **Line:** 204
- **Context:** `Unknown`
- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L218)
- **Line:** 218
- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L219)
- **Line:** 219
- **Context:** `Unknown`
- **File:** [`src-tauri/src/repository/offline.rs`](src-tauri/src/repository/offline.rs#L538)
- **Line:** 538
@@ -3599,8 +3651,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
- **File:** [`src/lib/services/downloadedCatalog.ts`](src/lib/services/downloadedCatalog.ts#L95)
- **Line:** 95
- **Context:** `function sizeOf(itemId: string): number {`
- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L235)
- **Line:** 235
- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L236)
- **Line:** 236
- **Context:** `Unknown`
- **File:** [`src-tauri/src/repository/types.rs`](src-tauri/src/repository/types.rs#L259)
- **Line:** 259
@@ -3768,14 +3820,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
**Locations:** 1 file(s)
- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L245)
- **Line:** 245
- **Context:** `Unknown`
### UT-032
**Locations:** 1 file(s)
- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L245)
- **Line:** 245
- **Context:** `Unknown`
@@ -3835,8 +3879,8 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
- **File:** [`src-tauri/src/commands/player/mod.rs`](src-tauri/src/commands/player/mod.rs#L675)
- **Line:** 675
- **Context:** `Unknown`
- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L494)
- **Line:** 494
- **File:** [`src-tauri/src/commands/repository.rs`](src-tauri/src/commands/repository.rs#L505)
- **Line:** 505
- **Context:** `Unknown`
### UR-059
@@ -3897,41 +3941,18 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
- **Line:** 251
- **Context:** `Unknown`
### UR-032
### UR-060
**Locations:** 2 file(s)
**Locations:** 3 file(s)
- **File:** [`src-tauri/src/commands/player/settings.rs`](src-tauri/src/commands/player/settings.rs#L3)
- **Line:** 3
- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L117)
- **Line:** 117
- **Context:** `Unknown`
- **File:** [`src-tauri/src/settings.rs`](src-tauri/src/settings.rs#L1)
- **Line:** 1
- **File:** [`src/lib/utils/searchScope.ts`](src/lib/utils/searchScope.ts#L183)
- **Line:** 183
- **Context:** `Unknown`
### UR-033
**Locations:** 7 file(s)
- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L584)
- **Line:** 584
- **Context:** `Unknown`
- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L638)
- **Line:** 638
- **Context:** `Unknown`
- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L704)
- **Line:** 704
- **Context:** `Unknown`
- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L714)
- **Line:** 714
- **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/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
- **File:** [`src-tauri/src/domain/search_rank.rs`](src-tauri/src/domain/search_rank.rs#L106)
- **Line:** 106
- **Context:** `Unknown`
### IT-016
@@ -4071,6 +4092,48 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
- **Line:** 157
- **Context:** `pub fn file_size(&self) -> Option<u64> {`
### UT-032
**Locations:** 1 file(s)
- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L245)
- **Line:** 245
- **Context:** `Unknown`
### UR-033
**Locations:** 7 file(s)
- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L584)
- **Line:** 584
- **Context:** `Unknown`
- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L638)
- **Line:** 638
- **Context:** `Unknown`
- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L704)
- **Line:** 704
- **Context:** `Unknown`
- **File:** [`src-tauri/src/player/mpv_backend.rs`](src-tauri/src/player/mpv_backend.rs#L714)
- **Line:** 714
- **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/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`
### UT-043
**Locations:** 1 file(s)
- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L2027)
- **Line:** 2027
- **Context:** `Unknown`
### UT-051
**Locations:** 1 file(s)
@@ -4248,13 +4311,16 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
- **Line:** 1
- **Context:** `Unknown`
### UR-042
### UR-032
**Locations:** 1 file(s)
**Locations:** 2 file(s)
- **File:** [`src-tauri/src/commands/auth.rs`](src-tauri/src/commands/auth.rs#L3)
- **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-044
@@ -4284,14 +4350,6 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
**Locations:** 1 file(s)
- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L2027)
- **Line:** 2027
- **Context:** `Unknown`
### UT-043
**Locations:** 1 file(s)
- **File:** [`src-tauri/src/commands/download/mod.rs`](src-tauri/src/commands/download/mod.rs#L2027)
- **Line:** 2027
- **Context:** `Unknown`
@@ -4312,4 +4370,12 @@ JA-001, JA-002, JA-003, JA-004, JA-005, JA-007, JA-010, JA-011, JA-012, JA-016,
- **Line:** 136
- **Context:** `Unknown`
### UR-042
**Locations:** 1 file(s)
- **File:** [`src-tauri/src/commands/auth.rs`](src-tauri/src/commands/auth.rs#L3)
- **Line:** 3
- **Context:** `Unknown`