V1.2.0 Media Browser Updates
v1.2.0
What's new
Media browser — play albums and artists as playlists
Albums and artists now have a play button in the HA media browser, matching the behaviour of Music Assistant.
- Play album — queues the full album in disc/track order and starts from track 1. Next/previous stays within the album.
- Play artist — queues all tracks by the artist sorted by album then track order. Next/previous stays within the artist.
- Expand album — still available to browse individual tracks and play a specific one.
- Expand artist — shows albums, each with their own play button and the ability to expand to tracks.
Playback context is achieved by creating a temporary playlist (HA_Play_Album / HA_Play_Artist) in Music.app, which confines next/previous navigation correctly. These playlists are hidden from the media browser.
Media browser — playlists fixed
The playlist browser now uses every user playlist via AppleScript instead of the JXA playlists() call, which was unreliable and caused 500 errors. System playlists (Library, Music, Podcasts, etc.) are excluded automatically. Playlist playback now matches by numeric ID rather than a name slug, fixing cases where switching to a playlist had no effect.
Optimistic shuffle and repeat
Toggling shuffle or repeat now reflects instantly in the HA UI without waiting for the next poll, consistent with the existing optimistic volume behaviour.
Artwork stability fixes
- SSE notifications with a
PersistentIDof0(fired by macOS on shuffle toggle and seek) no longer incorrectly trigger an artwork reload for a different track. - The
/artworknow-playing endpoint no longer carries animmutablecache header, preventing browsers from permanently caching stale art after a track change.
Bug fixes
- Album play no longer starts the first alphabetical song in the library — context is now correctly set to the album
- Skipping tracks while an album or artist is playing no longer jumps to a random library track
- Playlists endpoint no longer returns a 500 error
- Switching from an album to a playlist now works correctly
Files changed
Server: app.js, lib/play-album.applescript (new), lib/play-artist.applescript (new), lib/get-playlists.applescript (new)
Integration: media_player.py, browse_media.py