diff --git a/src/snek/service/socket.py b/src/snek/service/socket.py index 92fd33d..b058044 100644 --- a/src/snek/service/socket.py +++ b/src/snek/service/socket.py @@ -36,5 +36,5 @@ class SocketService(BaseService): async def delete(self, ws): try: self.sockets.remove(ws) - except IndexError: + except : pass diff --git a/src/snek/view/rpc.py b/src/snek/view/rpc.py index db11e80..5cfc284 100644 --- a/src/snek/view/rpc.py +++ b/src/snek/view/rpc.py @@ -149,7 +149,8 @@ class RPCView(BaseView): await rpc(msg.json()) elif msg.type == web.WSMsgType.ERROR: print(f"WebSocket exception {ws.exception()}") - - await self.services.socket.delete(ws) + await self.services.socket.delete(ws) + elif msg.type == web.WSMsgType.CLOSE: + await self.services.socket.delete(ws) print("WebSocket connection closed") return ws