From 0a16feb5d53cacbe230075bddf733938cd5baea6 Mon Sep 17 00:00:00 2001 From: Christoph Stahl Date: Thu, 20 Feb 2025 15:52:36 +0100 Subject: [PATCH] Push queue info directly at registration to playback client --- syng/client.py | 4 +++- syng/server.py | 14 ++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/syng/client.py b/syng/client.py index 113c1a1..cff1084 100644 --- a/syng/client.py +++ b/syng/client.py @@ -445,10 +445,12 @@ class Client: if data["success"]: self.player.start() - logger.info("Registered") + logger.info("Connected to room: %s", data["room"]) qr_string = f"{self.state.config['server']}/{data['room']}" self.player.update_qr(qr_string) # this is borked on windows + + await self.handle_state(data) if os.name != "nt": print(f"Join here: {self.state.config['server']}/{data['room']}") qr = QRCode(box_size=20, border=2) diff --git a/syng/server.py b/syng/server.py index 1e0dc59..aea8a62 100644 --- a/syng/server.py +++ b/syng/server.py @@ -962,8 +962,18 @@ class Server: ) await self.sio.enter_room(sid, room) - await self.sio.emit("client-registered", {"success": True, "room": room}, room=sid) - await self.send_state(self.clients[room], sid) + await self.sio.emit( + "client-registered", + { + "success": True, + "room": room, + "queue": self.clients[room].queue, + "recent": self.clients[room].recent, + "waiting_room": self.clients[room].waiting_room, + }, + room=sid, + ) + # await self.send_state(self.clients[room], sid) @playback @with_state