1328 lines
41 KiB
Markdown
1328 lines
41 KiB
Markdown
🔍 Extracting TRACES from codebase...
|
|
# Code Traceability Matrix
|
|
|
|
**Generated:** 2/13/2026, 11:49:08 PM
|
|
|
|
## Summary
|
|
|
|
- **Total Files Scanned:** 185
|
|
- **Total TRACES Found:** 72
|
|
- **Requirements Covered:**
|
|
- User Requirements (UR): 23
|
|
- Integration Requirements (IR): 5
|
|
- Development Requirements (DR): 28
|
|
- Jellyfin API Requirements (JA): 0
|
|
|
|
## 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-015, UR-016, UR-017, UR-018, UR-019, UR-023, UR-024, UR-025, UR-026, UR-029, UR-030, UR-034
|
|
```
|
|
|
|
### Integration Requirements (IR)
|
|
```
|
|
IR-003, IR-004, IR-009, IR-012, IR-014
|
|
```
|
|
|
|
### Development Requirements (DR)
|
|
```
|
|
DR-001, DR-002, DR-003, DR-004, DR-005, DR-006, DR-007, DR-009, DR-011, DR-012, DR-013, DR-014, DR-015, DR-016, DR-017, DR-018, DR-020, DR-021, DR-026, DR-027, DR-028, DR-029, DR-033, DR-037, DR-038, DR-039, DR-047, DR-048
|
|
```
|
|
|
|
### Jellyfin API Requirements (JA)
|
|
```
|
|
|
|
```
|
|
|
|
## Detailed Mapping
|
|
|
|
### IR-003
|
|
|
|
**Locations:** 2 file(s)
|
|
|
|
- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L39)
|
|
- **Line:** 39
|
|
- **Context:** `pub fn playback_failed<S: Into<String>>(message: S) -> Self {`
|
|
- **File:** [`src-tauri/src/player/mpv_backend_test.rs`](src-tauri/src/player/mpv_backend_test.rs#L8)
|
|
- **Line:** 8
|
|
- **Context:** `Unknown`
|
|
|
|
### IR-004
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L39)
|
|
- **Line:** 39
|
|
- **Context:** `pub fn playback_failed<S: Into<String>>(message: S) -> Self {`
|
|
|
|
### IR-009
|
|
|
|
**Locations:** 4 file(s)
|
|
|
|
- **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#L269)
|
|
- **Line:** 269
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/stores/auth.ts`](src/lib/stores/auth.ts#L296)
|
|
- **Line:** 296
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/deviceId.test.ts`](src/lib/services/deviceId.test.ts#L4)
|
|
- **Line:** 4
|
|
- **Context:** `Unknown`
|
|
|
|
### IR-012
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src/lib/stores/playbackMode.ts`](src/lib/stores/playbackMode.ts#L9)
|
|
- **Line:** 9
|
|
- **Context:** `Unknown`
|
|
|
|
### IR-014
|
|
|
|
**Locations:** 4 file(s)
|
|
|
|
- **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#L466)
|
|
- **Line:** 466
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/deviceId.test.ts`](src/lib/services/deviceId.test.ts#L4)
|
|
- **Line:** 4
|
|
- **Context:** `Unknown`
|
|
|
|
### DR-001
|
|
|
|
**Locations:** 10 file(s)
|
|
|
|
- **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#L29)
|
|
- **Line:** 29
|
|
- **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#L26)
|
|
- **Line:** 26
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L170)
|
|
- **Line:** 170
|
|
- **Context:** `function handlePositionUpdate(position: number, duration: number): voi...`
|
|
- **File:** [`src/lib/services/playerEvents.test.ts`](src/lib/services/playerEvents.test.ts#L4)
|
|
- **Line:** 4
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/state.rs`](src-tauri/src/player/state.rs#L7)
|
|
- **Line:** 7
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/state.rs`](src-tauri/src/player/state.rs#L25)
|
|
- **Line:** 25
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/events.rs`](src-tauri/src/player/events.rs#L6)
|
|
- **Line:** 6
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/events.rs`](src-tauri/src/player/events.rs#L20)
|
|
- **Line:** 20
|
|
- **Context:** `Unknown`
|
|
|
|
### DR-002
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src-tauri/src/player/media.rs`](src-tauri/src/player/media.rs#L42)
|
|
- **Line:** 42
|
|
- **Context:** `Unknown`
|
|
|
|
### DR-003
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src-tauri/src/player/media.rs`](src-tauri/src/player/media.rs#L116)
|
|
- **Line:** 116
|
|
- **Context:** `pub enum MediaType {`
|
|
|
|
### DR-004
|
|
|
|
**Locations:** 3 file(s)
|
|
|
|
- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L39)
|
|
- **Line:** 39
|
|
- **Context:** `pub fn playback_failed<S: Into<String>>(message: S) -> Self {`
|
|
- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L235)
|
|
- **Line:** 235
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L241)
|
|
- **Line:** 241
|
|
- **Context:** `Unknown`
|
|
|
|
### DR-005
|
|
|
|
**Locations:** 10 file(s)
|
|
|
|
- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L7)
|
|
- **Line:** 7
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L106)
|
|
- **Line:** 106
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L111)
|
|
- **Line:** 111
|
|
- **Context:** `async function next() {`
|
|
- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L116)
|
|
- **Line:** 116
|
|
- **Context:** `async function previous() {`
|
|
- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L121)
|
|
- **Line:** 121
|
|
- **Context:** `async function skipTo(index: number) {`
|
|
- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L126)
|
|
- **Line:** 126
|
|
- **Context:** `async function toggleShuffle() {`
|
|
- **File:** [`src/lib/stores/appState.ts`](src/lib/stores/appState.ts#L2)
|
|
- **Line:** 2
|
|
- **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#L508)
|
|
- **Line:** 508
|
|
- **Context:** `pub enum AddPosition {`
|
|
|
|
### DR-006
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src/lib/services/preload.ts`](src/lib/services/preload.ts#L5)
|
|
- **Line:** 5
|
|
- **Context:** `Unknown`
|
|
|
|
### DR-007
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src/lib/stores/library.ts`](src/lib/stores/library.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
|
|
### DR-009
|
|
|
|
**Locations:** 2 file(s)
|
|
|
|
- **File:** [`src/lib/stores/player.ts`](src/lib/stores/player.ts#L8)
|
|
- **Line:** 8
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/stores/appState.ts`](src/lib/stores/appState.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
|
|
### DR-011
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src/lib/stores/library.ts`](src/lib/stores/library.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
|
|
### DR-012
|
|
|
|
**Locations:** 2 file(s)
|
|
|
|
- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L288)
|
|
- **Line:** 288
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L159)
|
|
- **Line:** 159
|
|
- **Context:** `pub fn file_size(&self) -> Option<u64> {`
|
|
|
|
### DR-013
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src/lib/stores/connectivity.ts`](src/lib/stores/connectivity.ts#L5)
|
|
- **Line:** 5
|
|
- **Context:** `Unknown`
|
|
|
|
### DR-014
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src/lib/services/syncService.ts`](src/lib/services/syncService.ts#L7)
|
|
- **Line:** 7
|
|
- **Context:** `Unknown`
|
|
|
|
### DR-015
|
|
|
|
**Locations:** 5 file(s)
|
|
|
|
- **File:** [`src/lib/stores/downloads.ts`](src/lib/stores/downloads.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/stores/downloads.test.ts`](src/lib/stores/downloads.test.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/utils/validation.test.ts`](src/lib/utils/validation.test.ts#L4)
|
|
- **Line:** 4
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/preload.ts`](src/lib/services/preload.ts#L5)
|
|
- **Line:** 5
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/commands/download.rs`](src-tauri/src/commands/download.rs#L1533)
|
|
- **Line:** 1533
|
|
- **Context:** `Unknown`
|
|
|
|
### DR-016
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src/lib/services/imageCache.ts`](src/lib/services/imageCache.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
|
|
### DR-017
|
|
|
|
**Locations:** 3 file(s)
|
|
|
|
- **File:** [`src/lib/stores/downloads.ts`](src/lib/stores/downloads.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/stores/downloads.test.ts`](src/lib/stores/downloads.test.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/commands/offline.rs`](src-tauri/src/commands/offline.rs#L133)
|
|
- **Line:** 133
|
|
- **Context:** `Unknown`
|
|
|
|
### DR-018
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src-tauri/src/commands/download.rs`](src-tauri/src/commands/download.rs#L1533)
|
|
- **Line:** 1533
|
|
- **Context:** `Unknown`
|
|
|
|
### DR-020
|
|
|
|
**Locations:** 6 file(s)
|
|
|
|
- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L7)
|
|
- **Line:** 7
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L116)
|
|
- **Line:** 116
|
|
- **Context:** `async function previous() {`
|
|
- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L131)
|
|
- **Line:** 131
|
|
- **Context:** `async function cycleRepeat() {`
|
|
- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L136)
|
|
- **Line:** 136
|
|
- **Context:** `async function removeFromQueue(index: number) {`
|
|
- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L141)
|
|
- **Line:** 141
|
|
- **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 {`
|
|
|
|
### DR-021
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src/lib/services/favorites.ts`](src/lib/services/favorites.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
|
|
### DR-026
|
|
|
|
**Locations:** 2 file(s)
|
|
|
|
- **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`
|
|
|
|
### DR-027
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src/lib/stores/home.ts`](src/lib/stores/home.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
|
|
### DR-028
|
|
|
|
**Locations:** 8 file(s)
|
|
|
|
- **File:** [`src/lib/utils/duration.test.ts`](src/lib/utils/duration.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#L26)
|
|
- **Line:** 26
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L160)
|
|
- **Line:** 160
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/playbackReporting.ts`](src/lib/services/playbackReporting.ts#L7)
|
|
- **Line:** 7
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/playerEvents.test.ts`](src/lib/services/playerEvents.test.ts#L4)
|
|
- **Line:** 4
|
|
- **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#L20)
|
|
- **Line:** 20
|
|
- **Context:** `Unknown`
|
|
|
|
### DR-029
|
|
|
|
**Locations:** 6 file(s)
|
|
|
|
- **File:** [`src/lib/stores/sleepTimer.ts`](src/lib/stores/sleepTimer.ts#L9)
|
|
- **Line:** 9
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L263)
|
|
- **Line:** 263
|
|
- **Context:** `function handleMediaLoaded(duration: number): void {`
|
|
- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L300)
|
|
- **Line:** 300
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/autoplay.rs`](src-tauri/src/player/autoplay.rs#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/sleep_timer.rs`](src-tauri/src/player/sleep_timer.rs#L4)
|
|
- **Line:** 4
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/sleep_timer.rs`](src-tauri/src/player/sleep_timer.rs#L81)
|
|
- **Line:** 81
|
|
- **Context:** `pub fn cancel(&mut self) {`
|
|
|
|
### DR-033
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src/lib/stores/library.ts`](src/lib/stores/library.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
|
|
### DR-037
|
|
|
|
**Locations:** 4 file(s)
|
|
|
|
- **File:** [`src/lib/stores/sessions.ts`](src/lib/stores/sessions.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/stores/playbackMode.ts`](src/lib/stores/playbackMode.ts#L9)
|
|
- **Line:** 9
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/stores/playbackMode.test.ts`](src/lib/stores/playbackMode.test.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/stores/sessions.test.ts`](src/lib/stores/sessions.test.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
|
|
### DR-038
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src/lib/stores/home.ts`](src/lib/stores/home.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
|
|
### DR-039
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src/lib/stores/home.ts`](src/lib/stores/home.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
|
|
### DR-047
|
|
|
|
**Locations:** 10 file(s)
|
|
|
|
- **File:** [`src/lib/stores/nextEpisode.ts`](src/lib/stores/nextEpisode.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#L26)
|
|
- **Line:** 26
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L263)
|
|
- **Line:** 263
|
|
- **Context:** `function handleMediaLoaded(duration: number): void {`
|
|
- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L309)
|
|
- **Line:** 309
|
|
- **Context:** `function handleSleepTimerChanged(mode: SleepTimerMode, remainingSecond...`
|
|
- **File:** [`src/lib/services/nextEpisodeService.ts`](src/lib/services/nextEpisodeService.ts#L7)
|
|
- **Line:** 7
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/playerEvents.test.ts`](src/lib/services/playerEvents.test.ts#L4)
|
|
- **Line:** 4
|
|
- **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#L20)
|
|
- **Line:** 20
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/autoplay.rs`](src-tauri/src/player/autoplay.rs#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
|
|
### DR-048
|
|
|
|
**Locations:** 4 file(s)
|
|
|
|
- **File:** [`src/lib/stores/nextEpisode.ts`](src/lib/stores/nextEpisode.ts#L9)
|
|
- **Line:** 9
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L309)
|
|
- **Line:** 309
|
|
- **Context:** `function handleSleepTimerChanged(mode: SleepTimerMode, remainingSecond...`
|
|
- **File:** [`src/lib/services/nextEpisodeService.ts`](src/lib/services/nextEpisodeService.ts#L7)
|
|
- **Line:** 7
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/autoplay.rs`](src-tauri/src/player/autoplay.rs#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
|
|
### UR-002
|
|
|
|
**Locations:** 7 file(s)
|
|
|
|
- **File:** [`src/lib/stores/connectivity.ts`](src/lib/stores/connectivity.ts#L5)
|
|
- **Line:** 5
|
|
- **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#L116)
|
|
- **Line:** 116
|
|
- **Context:** `pub enum MediaType {`
|
|
- **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#L133)
|
|
- **Line:** 133
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L288)
|
|
- **Line:** 288
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L159)
|
|
- **Line:** 159
|
|
- **Context:** `pub fn file_size(&self) -> Option<u64> {`
|
|
|
|
### UR-003
|
|
|
|
**Locations:** 7 file(s)
|
|
|
|
- **File:** [`src-tauri/src/player/media.rs`](src-tauri/src/player/media.rs#L42)
|
|
- **Line:** 42
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/media.rs`](src-tauri/src/player/media.rs#L116)
|
|
- **Line:** 116
|
|
- **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/backend.rs`](src-tauri/src/player/backend.rs#L39)
|
|
- **Line:** 39
|
|
- **Context:** `pub fn playback_failed<S: Into<String>>(message: S) -> Self {`
|
|
- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L235)
|
|
- **Line:** 235
|
|
- **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/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
|
|
### UR-004
|
|
|
|
**Locations:** 8 file(s)
|
|
|
|
- **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#L42)
|
|
- **Line:** 42
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/media.rs`](src-tauri/src/player/media.rs#L116)
|
|
- **Line:** 116
|
|
- **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/backend.rs`](src-tauri/src/player/backend.rs#L39)
|
|
- **Line:** 39
|
|
- **Context:** `pub fn playback_failed<S: Into<String>>(message: S) -> Self {`
|
|
- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L235)
|
|
- **Line:** 235
|
|
- **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/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
|
|
### UR-005
|
|
|
|
**Locations:** 29 file(s)
|
|
|
|
- **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#L29)
|
|
- **Line:** 29
|
|
- **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#L106)
|
|
- **Line:** 106
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L111)
|
|
- **Line:** 111
|
|
- **Context:** `async function next() {`
|
|
- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L116)
|
|
- **Line:** 116
|
|
- **Context:** `async function previous() {`
|
|
- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L121)
|
|
- **Line:** 121
|
|
- **Context:** `async function skipTo(index: number) {`
|
|
- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L126)
|
|
- **Line:** 126
|
|
- **Context:** `async function toggleShuffle() {`
|
|
- **File:** [`src/lib/stores/appState.ts`](src/lib/stores/appState.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/utils/duration.test.ts`](src/lib/utils/duration.test.ts#L4)
|
|
- **Line:** 4
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L8)
|
|
- **Line:** 8
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L26)
|
|
- **Line:** 26
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L160)
|
|
- **Line:** 160
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L170)
|
|
- **Line:** 170
|
|
- **Context:** `function handlePositionUpdate(position: number, duration: number): voi...`
|
|
- **File:** [`src/lib/services/playerEvents.test.ts`](src/lib/services/playerEvents.test.ts#L4)
|
|
- **Line:** 4
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/state.rs`](src-tauri/src/player/state.rs#L7)
|
|
- **Line:** 7
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/state.rs`](src-tauri/src/player/state.rs#L25)
|
|
- **Line:** 25
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/events.rs`](src-tauri/src/player/events.rs#L6)
|
|
- **Line:** 6
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/events.rs`](src-tauri/src/player/events.rs#L20)
|
|
- **Line:** 20
|
|
- **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/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#L508)
|
|
- **Line:** 508
|
|
- **Context:** `pub enum AddPosition {`
|
|
- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L42)
|
|
- **Line:** 42
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L46)
|
|
- **Line:** 46
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L50)
|
|
- **Line:** 50
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L54)
|
|
- **Line:** 54
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L58)
|
|
- **Line:** 58
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
|
|
### UR-007
|
|
|
|
**Locations:** 2 file(s)
|
|
|
|
- **File:** [`src/lib/stores/library.ts`](src/lib/stores/library.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/imageCache.ts`](src/lib/services/imageCache.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
|
|
### UR-008
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src/lib/stores/library.ts`](src/lib/stores/library.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
|
|
### UR-009
|
|
|
|
**Locations:** 6 file(s)
|
|
|
|
- **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#L269)
|
|
- **Line:** 269
|
|
- **Context:** `Unknown`
|
|
- **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
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/deviceId.test.ts`](src/lib/services/deviceId.test.ts#L4)
|
|
- **Line:** 4
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
|
|
### UR-010
|
|
|
|
**Locations:** 4 file(s)
|
|
|
|
- **File:** [`src/lib/stores/sessions.ts`](src/lib/stores/sessions.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/stores/playbackMode.ts`](src/lib/stores/playbackMode.ts#L9)
|
|
- **Line:** 9
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/stores/playbackMode.test.ts`](src/lib/stores/playbackMode.test.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/stores/sessions.test.ts`](src/lib/stores/sessions.test.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
|
|
### UR-011
|
|
|
|
**Locations:** 7 file(s)
|
|
|
|
- **File:** [`src/lib/stores/downloads.ts`](src/lib/stores/downloads.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/stores/downloads.test.ts`](src/lib/stores/downloads.test.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/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#L116)
|
|
- **Line:** 116
|
|
- **Context:** `pub enum MediaType {`
|
|
- **File:** [`src-tauri/src/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/commands/download.rs`](src-tauri/src/commands/download.rs#L1533)
|
|
- **Line:** 1533
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/commands/offline.rs`](src-tauri/src/commands/offline.rs#L133)
|
|
- **Line:** 133
|
|
- **Context:** `Unknown`
|
|
|
|
### UR-012
|
|
|
|
**Locations:** 7 file(s)
|
|
|
|
- **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#L466)
|
|
- **Line:** 466
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/deviceId.test.ts`](src/lib/services/deviceId.test.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/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L288)
|
|
- **Line:** 288
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L159)
|
|
- **Line:** 159
|
|
- **Context:** `pub fn file_size(&self) -> Option<u64> {`
|
|
|
|
### UR-013
|
|
|
|
**Locations:** 2 file(s)
|
|
|
|
- **File:** [`src/lib/stores/downloads.ts`](src/lib/stores/downloads.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/stores/downloads.test.ts`](src/lib/stores/downloads.test.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
|
|
### UR-015
|
|
|
|
**Locations:** 11 file(s)
|
|
|
|
- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L7)
|
|
- **Line:** 7
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L106)
|
|
- **Line:** 106
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L111)
|
|
- **Line:** 111
|
|
- **Context:** `async function next() {`
|
|
- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L116)
|
|
- **Line:** 116
|
|
- **Context:** `async function previous() {`
|
|
- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L121)
|
|
- **Line:** 121
|
|
- **Context:** `async function skipTo(index: number) {`
|
|
- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L126)
|
|
- **Line:** 126
|
|
- **Context:** `async function toggleShuffle() {`
|
|
- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L131)
|
|
- **Line:** 131
|
|
- **Context:** `async function cycleRepeat() {`
|
|
- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L136)
|
|
- **Line:** 136
|
|
- **Context:** `async function removeFromQueue(index: number) {`
|
|
- **File:** [`src/lib/stores/queue.ts`](src/lib/stores/queue.ts#L141)
|
|
- **Line:** 141
|
|
- **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#L508)
|
|
- **Line:** 508
|
|
- **Context:** `pub enum AddPosition {`
|
|
|
|
### 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#L241)
|
|
- **Line:** 241
|
|
- **Context:** `Unknown`
|
|
|
|
### UR-017
|
|
|
|
**Locations:** 3 file(s)
|
|
|
|
- **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-tauri/src/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
|
|
### UR-018
|
|
|
|
**Locations:** 3 file(s)
|
|
|
|
- **File:** [`src/lib/stores/downloads.ts`](src/lib/stores/downloads.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/stores/downloads.test.ts`](src/lib/stores/downloads.test.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/commands/download.rs`](src-tauri/src/commands/download.rs#L1533)
|
|
- **Line:** 1533
|
|
- **Context:** `Unknown`
|
|
|
|
### UR-019
|
|
|
|
**Locations:** 9 file(s)
|
|
|
|
- **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#L26)
|
|
- **Line:** 26
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/playbackReporting.ts`](src/lib/services/playbackReporting.ts#L7)
|
|
- **Line:** 7
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/playerEvents.test.ts`](src/lib/services/playerEvents.test.ts#L4)
|
|
- **Line:** 4
|
|
- **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#L20)
|
|
- **Line:** 20
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/commands/mod.rs`](src-tauri/src/commands/mod.rs#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L159)
|
|
- **Line:** 159
|
|
- **Context:** `pub fn file_size(&self) -> Option<u64> {`
|
|
|
|
### UR-023
|
|
|
|
**Locations:** 12 file(s)
|
|
|
|
- **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/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L8)
|
|
- **Line:** 8
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L26)
|
|
- **Line:** 26
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L263)
|
|
- **Line:** 263
|
|
- **Context:** `function handleMediaLoaded(duration: number): void {`
|
|
- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L309)
|
|
- **Line:** 309
|
|
- **Context:** `function handleSleepTimerChanged(mode: SleepTimerMode, remainingSecond...`
|
|
- **File:** [`src/lib/services/nextEpisodeService.ts`](src/lib/services/nextEpisodeService.ts#L7)
|
|
- **Line:** 7
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/playerEvents.test.ts`](src/lib/services/playerEvents.test.ts#L4)
|
|
- **Line:** 4
|
|
- **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#L20)
|
|
- **Line:** 20
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/autoplay.rs`](src-tauri/src/player/autoplay.rs#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
|
|
### UR-024
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src/lib/stores/home.ts`](src/lib/stores/home.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
|
|
### UR-025
|
|
|
|
**Locations:** 6 file(s)
|
|
|
|
- **File:** [`src/lib/utils/validation.test.ts`](src/lib/utils/validation.test.ts#L4)
|
|
- **Line:** 4
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L160)
|
|
- **Line:** 160
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/playbackReporting.ts`](src/lib/services/playbackReporting.ts#L7)
|
|
- **Line:** 7
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/syncService.ts`](src/lib/services/syncService.ts#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/storage/mod.rs`](src-tauri/src/storage/mod.rs#L159)
|
|
- **Line:** 159
|
|
- **Context:** `pub fn file_size(&self) -> Option<u64> {`
|
|
|
|
### UR-026
|
|
|
|
**Locations:** 12 file(s)
|
|
|
|
- **File:** [`src/lib/stores/sleepTimer.ts`](src/lib/stores/sleepTimer.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#L26)
|
|
- **Line:** 26
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L263)
|
|
- **Line:** 263
|
|
- **Context:** `function handleMediaLoaded(duration: number): void {`
|
|
- **File:** [`src/lib/services/playerEvents.ts`](src/lib/services/playerEvents.ts#L300)
|
|
- **Line:** 300
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src/lib/services/playerEvents.test.ts`](src/lib/services/playerEvents.test.ts#L4)
|
|
- **Line:** 4
|
|
- **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#L20)
|
|
- **Line:** 20
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/autoplay.rs`](src-tauri/src/player/autoplay.rs#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/mod.rs`](src-tauri/src/player/mod.rs#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/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-029
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src/lib/stores/library.ts`](src/lib/stores/library.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
|
|
### UR-030
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src/lib/stores/library.ts`](src/lib/stores/library.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
|
|
### UR-034
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src/lib/stores/home.ts`](src/lib/stores/home.ts#L2)
|
|
- **Line:** 2
|
|
- **Context:** `Unknown`
|
|
|
|
### IT-003
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src-tauri/src/player/mpv_backend_test.rs`](src-tauri/src/player/mpv_backend_test.rs#L8)
|
|
- **Line:** 8
|
|
- **Context:** `Unknown`
|
|
|
|
### IT-004
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src-tauri/src/player/mpv_backend_test.rs`](src-tauri/src/player/mpv_backend_test.rs#L8)
|
|
- **Line:** 8
|
|
- **Context:** `Unknown`
|
|
|
|
### UT-003
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src-tauri/src/player/queue.rs`](src-tauri/src/player/queue.rs#L508)
|
|
- **Line:** 508
|
|
- **Context:** `pub enum AddPosition {`
|
|
|
|
### UT-004
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src-tauri/src/player/queue.rs`](src-tauri/src/player/queue.rs#L508)
|
|
- **Line:** 508
|
|
- **Context:** `pub enum AddPosition {`
|
|
|
|
### UT-005
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src-tauri/src/player/queue.rs`](src-tauri/src/player/queue.rs#L508)
|
|
- **Line:** 508
|
|
- **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)
|
|
|
|
- **File:** [`src-tauri/src/player/sleep_timer.rs`](src-tauri/src/player/sleep_timer.rs#L81)
|
|
- **Line:** 81
|
|
- **Context:** `pub fn cancel(&mut self) {`
|
|
|
|
### UT-014
|
|
|
|
**Locations:** 2 file(s)
|
|
|
|
- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L288)
|
|
- **Line:** 288
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L159)
|
|
- **Line:** 159
|
|
- **Context:** `pub fn file_size(&self) -> Option<u64> {`
|
|
|
|
### UT-015
|
|
|
|
**Locations:** 2 file(s)
|
|
|
|
- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L288)
|
|
- **Line:** 288
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L159)
|
|
- **Line:** 159
|
|
- **Context:** `pub fn file_size(&self) -> Option<u64> {`
|
|
|
|
### UT-016
|
|
|
|
**Locations:** 2 file(s)
|
|
|
|
- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L288)
|
|
- **Line:** 288
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L159)
|
|
- **Line:** 159
|
|
- **Context:** `pub fn file_size(&self) -> Option<u64> {`
|
|
|
|
### UT-017
|
|
|
|
**Locations:** 2 file(s)
|
|
|
|
- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L288)
|
|
- **Line:** 288
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L159)
|
|
- **Line:** 159
|
|
- **Context:** `pub fn file_size(&self) -> Option<u64> {`
|
|
|
|
### UT-018
|
|
|
|
**Locations:** 2 file(s)
|
|
|
|
- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L288)
|
|
- **Line:** 288
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L159)
|
|
- **Line:** 159
|
|
- **Context:** `pub fn file_size(&self) -> Option<u64> {`
|
|
|
|
### UT-019
|
|
|
|
**Locations:** 2 file(s)
|
|
|
|
- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L288)
|
|
- **Line:** 288
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L159)
|
|
- **Line:** 159
|
|
- **Context:** `pub fn file_size(&self) -> Option<u64> {`
|
|
|
|
### UT-020
|
|
|
|
**Locations:** 2 file(s)
|
|
|
|
- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L288)
|
|
- **Line:** 288
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L159)
|
|
- **Line:** 159
|
|
- **Context:** `pub fn file_size(&self) -> Option<u64> {`
|
|
|
|
### UT-021
|
|
|
|
**Locations:** 2 file(s)
|
|
|
|
- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L288)
|
|
- **Line:** 288
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L159)
|
|
- **Line:** 159
|
|
- **Context:** `pub fn file_size(&self) -> Option<u64> {`
|
|
|
|
### UT-022
|
|
|
|
**Locations:** 2 file(s)
|
|
|
|
- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L288)
|
|
- **Line:** 288
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L159)
|
|
- **Line:** 159
|
|
- **Context:** `pub fn file_size(&self) -> Option<u64> {`
|
|
|
|
### UT-023
|
|
|
|
**Locations:** 2 file(s)
|
|
|
|
- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L288)
|
|
- **Line:** 288
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L159)
|
|
- **Line:** 159
|
|
- **Context:** `pub fn file_size(&self) -> Option<u64> {`
|
|
|
|
### 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)
|
|
|
|
- **File:** [`src-tauri/src/storage/db_service.rs`](src-tauri/src/storage/db_service.rs#L288)
|
|
- **Line:** 288
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/storage/mod.rs`](src-tauri/src/storage/mod.rs#L159)
|
|
- **Line:** 159
|
|
- **Context:** `pub fn file_size(&self) -> Option<u64> {`
|
|
|
|
### UT-026
|
|
|
|
**Locations:** 2 file(s)
|
|
|
|
- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L235)
|
|
- **Line:** 235
|
|
- **Context:** `Unknown`
|
|
- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L241)
|
|
- **Line:** 241
|
|
- **Context:** `Unknown`
|
|
|
|
### UT-027
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L235)
|
|
- **Line:** 235
|
|
- **Context:** `Unknown`
|
|
|
|
### UT-028
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L235)
|
|
- **Line:** 235
|
|
- **Context:** `Unknown`
|
|
|
|
### UT-029
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L235)
|
|
- **Line:** 235
|
|
- **Context:** `Unknown`
|
|
|
|
### UT-030
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L235)
|
|
- **Line:** 235
|
|
- **Context:** `Unknown`
|
|
|
|
### UT-031
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L235)
|
|
- **Line:** 235
|
|
- **Context:** `Unknown`
|
|
|
|
### UT-032
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L235)
|
|
- **Line:** 235
|
|
- **Context:** `Unknown`
|
|
|
|
### UT-033
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src-tauri/src/player/backend.rs`](src-tauri/src/player/backend.rs#L235)
|
|
- **Line:** 235
|
|
- **Context:** `Unknown`
|
|
|
|
### UT-042
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src-tauri/src/commands/download.rs`](src-tauri/src/commands/download.rs#L1533)
|
|
- **Line:** 1533
|
|
- **Context:** `Unknown`
|
|
|
|
### UT-043
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src-tauri/src/commands/download.rs`](src-tauri/src/commands/download.rs#L1533)
|
|
- **Line:** 1533
|
|
- **Context:** `Unknown`
|
|
|
|
### UT-044
|
|
|
|
**Locations:** 1 file(s)
|
|
|
|
- **File:** [`src-tauri/src/commands/offline.rs`](src-tauri/src/commands/offline.rs#L133)
|
|
- **Line:** 133
|
|
- **Context:** `Unknown`
|
|
|
|
|
|
|
|
✅ Complete! Found 72 TRACES across 185 files
|