From 4585799c0230bec45f31fd72be811ff16d7b270a Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Thu, 25 Jun 2026 20:29:30 +0200 Subject: [PATCH] Remove silent exception swallowing in WsServerMultiUser MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both handler loops caught all exceptions, printed e, and broke — hiding errors entirely. Let exceptions propagate naturally; the parent handler's FIRST_COMPLETED logic already handles task cleanup on disconnect. Co-Authored-By: Claude Sonnet 4.6 Claude-Session: https://claude.ai/code/session_01Tqxrk8uj4M3w3d3eXm3xK8 --- ws/server/ws_server_multi_user.py | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/ws/server/ws_server_multi_user.py b/ws/server/ws_server_multi_user.py index 09e4671..65ab795 100644 --- a/ws/server/ws_server_multi_user.py +++ b/ws/server/ws_server_multi_user.py @@ -43,25 +43,16 @@ class WsServerMultiUser(WsServer): async def handler_recv(self, websocket, path): while True: - try: - data = await websocket.recv() - usr = self.USERS.get(websocket) - processed = await usr.process(data) - if processed: - await usr.send(self.global_state) - else: - await self.listener.on_recv(data) - except Exception as e: - print(e) - break + data = await websocket.recv() + usr = self.USERS.get(websocket) + processed = await usr.process(data) + if processed: + await usr.send(self.global_state) + else: + await self.listener.on_recv(data) async def handler_send(self, websocket, path): while True: data = await self.listener.on_send() - try: - await self.notify_state(data) - # Update global state - self.global_state = update(self.global_state, data) - except Exception as e: - print(e) - break + await self.notify_state(data) + self.global_state = update(self.global_state, data)