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); });