From 24f5f1f952391b895eb18b34aec8d65a97412506 Mon Sep 17 00:00:00 2001 From: Dmitry Gozman Date: Thu, 23 Jan 2020 10:33:05 -0800 Subject: [PATCH] fix(wk websocket): do not send messages to a closing websocket (#593) --- src/server/wkPlaywright.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/server/wkPlaywright.ts b/src/server/wkPlaywright.ts index 598840cddc..44166a9f6b 100644 --- a/src/server/wkPlaywright.ts +++ b/src/server/wkPlaywright.ts @@ -283,7 +283,12 @@ function wrapTransportWithWebSocket(transport: ConnectionTransport) { } socket = s; s.on('message', message => transport.send(Buffer.from(message).toString())); - transport.onmessage = message => s.send(message); + transport.onmessage = message => { + // We are not notified when socket starts closing, and sending messages to a closing + // socket throws an error. + if (s.readyState !== ws.CLOSING) + s.send(message); + }; s.on('close', () => { socket = undefined; transport.onmessage = undefined;