From 0179f03b9a0931bbb88da3c1c089351db549e0ad Mon Sep 17 00:00:00 2001 From: Kenneth Date: Sun, 28 Jul 2024 12:01:47 +0100 Subject: [PATCH] fix: websocket disconnection not handled properly --- server.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/server.py b/server.py index a713069..e5649b4 100644 --- a/server.py +++ b/server.py @@ -111,7 +111,7 @@ async def ws_endpoint(ws: WebSocket): await ws.close() ws_connection_manager.disconnect(ws) - await ws.send_text(f"{len(active_listeners)}") + await ws_connection_manager.broadcast(f"{len(active_listeners)}") try: while True: @@ -121,15 +121,12 @@ async def ws_endpoint(ws: WebSocket): active_listeners.add(addr) await ws_connection_manager.broadcast(f"{len(active_listeners)}") elif msg == "paused": - active_listeners.remove(addr) + active_listeners.discard(addr) await ws_connection_manager.broadcast(f"{len(active_listeners)}") except WebSocketDisconnect: - if ws.client: - addr, _ = ws.client - active_listeners.discard(addr) + active_listeners.discard(addr) ws_connection_manager.disconnect(ws) - await ws_connection_manager.broadcast(f"{len(active_listeners)}")