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"]:
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)

View file

@ -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