Push queue info directly at registration to playback client

This commit is contained in:
Christoph Stahl 2025-02-20 15:52:36 +01:00
parent 3eda77012d
commit 0a16feb5d5
2 changed files with 15 additions and 3 deletions

View file

@ -445,10 +445,12 @@ class Client:
if data["success"]: if data["success"]:
self.player.start() self.player.start()
logger.info("Registered") logger.info("Connected to room: %s", data["room"])
qr_string = f"{self.state.config['server']}/{data['room']}" qr_string = f"{self.state.config['server']}/{data['room']}"
self.player.update_qr(qr_string) self.player.update_qr(qr_string)
# this is borked on windows # this is borked on windows
await self.handle_state(data)
if os.name != "nt": if os.name != "nt":
print(f"Join here: {self.state.config['server']}/{data['room']}") print(f"Join here: {self.state.config['server']}/{data['room']}")
qr = QRCode(box_size=20, border=2) qr = QRCode(box_size=20, border=2)

View file

@ -962,8 +962,18 @@ class Server:
) )
await self.sio.enter_room(sid, room) await self.sio.enter_room(sid, room)
await self.sio.emit("client-registered", {"success": True, "room": room}, room=sid) await self.sio.emit(
await self.send_state(self.clients[room], sid) "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 @playback
@with_state @with_state