From eb479df689d75b655cd9c41f3db2261cfed87f22 Mon Sep 17 00:00:00 2001 From: Christoph Stahl Date: Sat, 15 Feb 2025 01:33:22 +0100 Subject: [PATCH] Treat playback session as admin session on the server --- syng/server.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/syng/server.py b/syng/server.py index 7f6789f..614e5d3 100644 --- a/syng/server.py +++ b/syng/server.py @@ -85,8 +85,10 @@ def admin(handler: Callable[..., Any]) -> Callable[..., Any]: async def wrapper(self: Server, sid: str, *args: Any, **kwargs: Any) -> Any: async with self.sio.session(sid) as session: - if not session["admin"]: + room = session["room"] + if ("admin" not in session or not session["admin"]) and self.clients[room].sid != sid: await self.sio.emit("err", {"type": "NO_ADMIN"}, sid) + return return await handler(self, sid, *args, **kwargs) return wrapper