• v2026.07.23 — Queue fix + cross-client queue enhancements
    test-web / test (push) Successful in 1m10s
    android / Build + lint + test (push) Successful in 4m59s
    release / Build signed APK (tag releases only) (push) Successful in 4m3s
    release / Build + push container image (push) Successful in 1m42s
    Stable

    bvandeusen released this 2026-07-23 08:38:10 -04:00 | 0 commits to main since this release

    Per-day CalVer. A web playback-blocking fix plus a batch of cross-client queue ("up next") improvements. main CI green on a26ef4e9 (all three lanes, incl. the signed debug APK assemble).

    Fix — web: clicking play did nothing (#1928)

    QueueDrawer was rendered outside QueryClientProvider. Its always-mounted <aside> renders a row per queued track, and the queue like-heart (added in #1596) calls useQueryClient() 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.ts mocks 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