diff --git a/src/modules/socket/middleware.ts b/src/modules/socket/middleware.ts index 4e4d72a..5a3f386 100644 --- a/src/modules/socket/middleware.ts +++ b/src/modules/socket/middleware.ts @@ -77,6 +77,9 @@ function makeSocketFactory( // Bind websocket handlers. socket.onopen = onOpen; socket.onclose = onClose; + socket.onerror = (err) => { + console.log("WebSocket error:", err); + }; socket.onmessage = onMessage; return socket; @@ -106,10 +109,15 @@ function makeMiddleware( if (socket !== undefined) { socket.close(); socket = undefined; - console.log("WebSocket closed."); + console.log("WebSocket closing."); } else { - console.log("Ignoring socketClose action, socket is already closed."); + console.log( + "Ignoring socketClose action, socket is already closing or closed." + ); } + } else if (socketClosed.match(action)) { + console.log("WebSocket closed."); + socket = undefined; } else if (socket !== undefined) { for (const middleware of messageMiddlewares) { middleware.handleAction(socketMessageSender(socket), action);