🔍 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>(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>(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>(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 {` ### 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 {` ### 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>(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>(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 {` ### 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 {` ### 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 {` ### 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 {` ### 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 {` ### 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 {` ### 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 {` ### 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 {` ### 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 {` ### 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 {` ### 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 {` ### 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 {` ### 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 {` ### 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 {` ### 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