0.14.0 update from dev - client portal, SLMM expansion, multistream support. #67

Merged
serversdown merged 97 commits from dev into main 2026-06-17 16:41:11 -04:00
Showing only changes of commit 3b818dcd97 - Show all commits
+7 -2
View File
@@ -269,10 +269,15 @@ async def proxy_websocket_monitor(websocket: WebSocket, unit_id: str):
done, pending = await asyncio.wait(tasks, return_when=asyncio.FIRST_COMPLETED)
for t in pending:
t.cancel()
for t in pending:
# Await ALL tasks (the done one AND the cancelled one) and swallow both
# the expected WebSocketDisconnect and CancelledError. CancelledError is a
# BaseException, so a bare `except Exception` misses it — that's what leaked
# the traceback on stop; and awaiting only `pending` left the done task's
# exception unretrieved.
for t in tasks:
try:
await t
except Exception:
except (asyncio.CancelledError, Exception):
pass
except websockets.exceptions.WebSocketException as e: