-
released this
2026-07-23 08:38:10 -04:00 | 0 commits to main since this releasePer-day CalVer. A web playback-blocking fix plus a batch of cross-client queue ("up next") improvements.
mainCI green ona26ef4e9(all three lanes, incl. the signed debug APK assemble).Fix — web: clicking play did nothing (#1928)
QueueDrawerwas rendered outsideQueryClientProvider. Its always-mounted<aside>renders a row per queued track, and the queue like-heart (added in #1596) callsuseQueryClient()at init — so the instant the queue populated on first play, it threw "No QueryClient was found in Svelte context" and aborted the reactive flush that starts playback. The play button appeared dead and the console logged the error. Moved the drawer inside the provider.CI didn't catch it because
QueueDrawer.test.tsmocks the likes API, which hid the real provider dependency.Queue enhancements (web + Android)
- Opens on the now-playing track — the queue no longer starts at the top when the current song is further down (#1929 Android, #1931 web).
- Auto-follow + "Jump to current" — the queue keeps the playing row in view as the track auto-advances, but only while you're watching it; scroll away to browse and a Jump to current pill brings you back.
- Album-art thumbnails in every queue row.
- Clear-queue action.
- Android drag-to-reorder + per-row remove — closes the functional gap with the web queue (which already had both), plus a header showing track count + total time.
Verify
- Web: open a system playlist (e.g. Discover) and press play → it plays, no console error. Open the queue → it's scrolled to the current track; let it advance → it follows; scroll up → the "Jump to current" pill appears.
- Android: open the Queue from the player → it's positioned on the now-playing track, rows show artwork; drag the grip handle to reorder; tap ✕ to remove; the clear-queue action empties it. (The reorder/pill are new touch interactions — worth a quick real-device sanity check.)
🤖 Generated with Claude Code
Downloads