From e2859cccc3adacc4e2085d3be23d0b9d13e60c66 Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Mon, 31 Mar 2025 00:35:44 +0200 Subject: [PATCH] Fix: Ensure Sonos queue gets refreshed when queue items change --- music_assistant/providers/sonos/player.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/music_assistant/providers/sonos/player.py b/music_assistant/providers/sonos/player.py index 04a2acf6..d9808cf9 100644 --- a/music_assistant/providers/sonos/player.py +++ b/music_assistant/providers/sonos/player.py @@ -182,7 +182,7 @@ class SonosPlayer: self._on_cleanup_callbacks.append( self.mass.subscribe( self._on_mass_queue_event, - EventType.QUEUE_UPDATED, + (EventType.QUEUE_UPDATED, EventType.QUEUE_ITEMS_UPDATED), ) ) @@ -509,8 +509,12 @@ class SonosPlayer: return if not self.client.player.is_coordinator: return - # sync crossfade and repeat modes - await self.sync_play_modes(event.object_id) + if event.event == EventType.QUEUE_UPDATED: + # sync crossfade and repeat modes + await self.sync_play_modes(event.object_id) + elif event.event == EventType.QUEUE_ITEMS_UPDATED: + # update the queue version to force a refresh + self.queue_version = shortuuid.random(8) async def sync_play_modes(self, queue_id: str) -> None: """Sync the play modes between MA and Sonos.""" -- 2.34.1