2026.06.18
[2026.06.18]
Fixed
server: hard-exit whenrun_http_server()returnsErr— the spawning thread used to log and exit silently, leaving:6063dead while the rest of rockboxd kept running and surfaced only as downstream GraphQL request errorsplayback: skip HTTP look-ahead of the currently-playing URL —REPEAT_ALLon a single-track playlist wrappedplaylist_peek(+N)back to the same URL every look-ahead cycle, each iteration spawning a fresh TCP+TLS+GET and a 4 MB prefetch; treating same-URL HTTP look-ahead as end-of-playlist lets natural-end re-load the next URL fresh without thrashing the buffering thread (local files unaffected — they share the page cache)playback: throttle HTTP look-ahead while the current track is still streaming — parallel HTTP bufopens shared the buffering-thread filechunk round-robin and starved the active codec until "no more PCM data" fired; deferred until the active stream finishespcm-cmaf: poll every 10 ms for up to 5 s for the next PCM chunk before bailing — the sink used to give up the instantpcm_play_dma_complete_callbackreturnedfalse, killing playback within ~23 ms of every track start whenever the codec hadn't queued the next chunk yetlibrary: replace.expect()panics onProbe::open()in thealbum_art,copyright_message, andlabelextractors with logged errors that returnOk(None), so an unreadable track no longer aborts the library scan
Full Changelog: 2026.06.15...2026.06.18