feat: progressive music streaming, library-first search, player fixes
Rebuild & Deploy / rebuild (push) Successful in 59s

- Stream downloads as they grow: raw best-audio (no mp3 transcode) served
  chunked from the stream endpoint mid-download, then with native Range
  once complete. Songs play within seconds of hitting Play.
- Fix searched songs never starting: reconcileMedia now wires the stream
  URL when a track that was preparing gains one; audio_url is stable for
  the whole lifecycle so the player never reloads mid-playback.
- Progress bars now parse yt-dlp stderr (stdout never carried [download]).
- Prefer downloaded songs: /media/api/search merges ready library matches
  ahead of YouTube results; search_music/play_song tooling and the agent
  prompt tell Hope to always pick in_library=true.
- Mute button turns solid red while the mic is muted.
This commit is contained in:
snowspeeder committed 2026-08-29 16:41:38 -04:00
1 parent d89918fd2a
commit 4f8eb00c9f
7 files changed
+440 -107

No files matched your search

+9 -3
View File
@@ -617,9 +617,15 @@ button {
}
.btn-icon.muted {
color: #ffd1ca;
border-color: rgba(255, 128, 111, 0.5);
background: rgba(143, 64, 58, 0.4);
color: #fff;
background: var(--danger);
border-color: var(--danger);
}
.btn-icon.muted:hover:not(:disabled) {
color: #fff;
background: var(--danger);
border-color: var(--danger);
}
.btn-ghost {