From c4e2bd094a5a1df86e2ec699ad92ea90981512a8 Mon Sep 17 00:00:00 2001 From: larabr Date: Wed, 9 Oct 2024 15:19:41 +0200 Subject: [PATCH] WebSocketsManager`: send periodic ping over WebSockets to prevent connection closure for inactivity --- packages/dev-server-core/src/web-sockets/WebSocketsManager.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/dev-server-core/src/web-sockets/WebSocketsManager.ts b/packages/dev-server-core/src/web-sockets/WebSocketsManager.ts index cb04c7089..18cd5f788 100644 --- a/packages/dev-server-core/src/web-sockets/WebSocketsManager.ts +++ b/packages/dev-server-core/src/web-sockets/WebSocketsManager.ts @@ -29,7 +29,10 @@ export class WebSocketsManager extends EventEmitter { }); this.webSocketServer.on('connection', webSocket => { this.openSockets.add(webSocket); + // Ping periodically to prevent socket from being closed with error status 1006 due to inactivity e.g. when testing on Browserstack + const pingInterval = setInterval(() => { webSocket.ping() }, 10000); webSocket.on('close', () => { + clearInterval(pingInterval); this.openSockets.delete(webSocket); });