mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-21 22:15:40 +00:00
0f3033d84e
Ephemeral on-disk cache for upcoming queue tracks. Adds Rust commands (download/delete/purge), hotCacheStore with LRU eviction, serial prefetch worker, playback gate, and Settings UI. Disabled by default. - fix: boundary check before file delete in delete_hot_cache_track - fix: remove stale languageRu2 key from ru.ts - fix: restore accidentally removed lyricsServerFirst/fsLyricsToggle/lyricsSource* strings in ru.ts
13 lines
551 B
TypeScript
13 lines
551 B
TypeScript
import { buildStreamUrl } from '../api/subsonic';
|
|
import { useOfflineStore } from '../store/offlineStore';
|
|
import { useHotCacheStore } from '../store/hotCacheStore';
|
|
|
|
/** Offline library → hot playback cache → HTTP stream. */
|
|
export function resolvePlaybackUrl(trackId: string, serverId: string): string {
|
|
const offline = useOfflineStore.getState().getLocalUrl(trackId, serverId);
|
|
if (offline) return offline;
|
|
const hot = useHotCacheStore.getState().getLocalUrl(trackId, serverId);
|
|
if (hot) return hot;
|
|
return buildStreamUrl(trackId);
|
|
}
|