• bvandeusen released this 2026-05-14 14:19:53 -04:00 | 728 commits to main since this release

    Patch batch on top of v2026.05.13.2. See PR #46 for the full breakdown.

    Fixes

    • Full player showed "Nothing playing." while the mini bar showed a live track. Regression from the previous release's load-then-swap rewrite: ref.listen doesn't fire on initial subscription, so opening the full player while a track was already playing left the displayed state null. initState now seeds it synchronously.

    Features

    • External media controllers (Android Wear, Auto, Bluetooth dashes, lock-screen widgets) now see a complete MediaSession surface. Several handler methods were already implemented but never advertised in PlaybackState.systemActions; Android 13+ silently drops any callback for an action not in that set.

      • controls list adds MediaControl.stop
      • systemActions adds stop, skipToQueueItem, setShuffleMode, setRepeatMode, setRating
      • stop() override actually halts the player + dismisses the notification (default was a no-op)
    • Native heart-rating wired through to LikesController. The setRating action is the standard MediaSession protocol for favorite-style buttons on Wear, lock-screen widgets, and Auto. New LikeBridge passes through configure(); _toMediaItem populates MediaItem.rating from likedIdsProvider so the right filled/outlined heart shows on every track change; PlayerActions listens to likedIdsProvider and calls refreshCurrentRating so toggles from TrackRow / kebab / another device (SSE) also reflect on the watch without waiting for the next track.

    • MediaItem.artUri populated on the first broadcast for warm-cache tracks. New AlbumCoverCache.peekCached returns the file path synchronously when the cover is already on disk; external controllers see the cover immediately instead of waiting for the async _loadArtForCurrentItem path.

    Operator notes

    • No schema changes.
    • In-app updater should upgrade cleanly (versionCode 3 → 4).
    • Sideload minstrel-v2026.05.13.3.apk from this release page when CI finishes attaching it.
    Downloads