Step 2 of the redownload modal now streams results as each download source responds instead of waiting for all sources to finish. Tidal/ YouTube/Qobuz columns appear instantly while Soulseek searches. Backend: search-sources endpoint uses ThreadPoolExecutor + NDJSON streaming — one JSON line per source as it completes. Frontend: reads the NDJSON stream, appends columns with fade-in animation as each source responds. Download button enables as soon as any results arrive. Each source gets its own column with results grouped and sorted by confidence. Visual confidence bars, format badges, and source-specific metadata (Soulseek username/slots). Best overall match auto-selected. |
||
|---|---|---|
| .. | ||
| static | ||
| index.html | ||