diff --git a/src/server/chromium.ts b/src/server/chromium.ts index 4959571e14..0751ca698a 100644 --- a/src/server/chromium.ts +++ b/src/server/chromium.ts @@ -18,7 +18,7 @@ import * as fs from 'fs'; import * as os from 'os'; import * as path from 'path'; -import { helper } from '../helper'; +import { debugError, helper } from '../helper'; import { CRBrowser } from '../chromium/crBrowser'; import * as platform from '../platform'; import * as ws from 'ws'; @@ -269,6 +269,8 @@ function wrapTransportWithWebSocket(transport: ConnectionTransport, port: number session.queue!.push(parsedMessage); }); + socket.on('error', error => debugError(error)); + socket.on('close', (socket as any).__closeListener = () => { const session = socketToBrowserSession.get(socket); if (!session || !session.sessionId) diff --git a/src/server/firefox.ts b/src/server/firefox.ts index 3a7535084a..ba0cb66359 100644 --- a/src/server/firefox.ts +++ b/src/server/firefox.ts @@ -25,7 +25,7 @@ import { TimeoutError } from '../errors'; import { Events } from '../events'; import { FFBrowser } from '../firefox/ffBrowser'; import { kBrowserCloseMessageId } from '../firefox/ffConnection'; -import { helper } from '../helper'; +import { debugError, helper } from '../helper'; import * as platform from '../platform'; import { BrowserServer, WebSocketWrapper } from './browserServer'; import { BrowserArgOptions, BrowserType, LaunchOptions } from './browserType'; @@ -297,6 +297,8 @@ function wrapTransportWithWebSocket(transport: ConnectionTransport, port: number pendingBrowserContextDeletions.set(seqNum, params.browserContextId); }); + socket.on('error', error => debugError(error)); + socket.on('close', (socket as any).__closeListener = () => { for (const [browserContextId, s] of browserContextIds) { if (s === socket) { diff --git a/src/server/webkit.ts b/src/server/webkit.ts index 0c4d1a9e95..1027a49799 100644 --- a/src/server/webkit.ts +++ b/src/server/webkit.ts @@ -22,7 +22,7 @@ import * as fs from 'fs'; import * as path from 'path'; import * as platform from '../platform'; import * as os from 'os'; -import { helper } from '../helper'; +import { debugError, helper } from '../helper'; import { kBrowserCloseMessageId } from '../webkit/wkConnection'; import { LaunchOptions, BrowserArgOptions, BrowserType } from './browserType'; import { ConnectionTransport, SequenceNumberMixer } from '../transport'; @@ -276,6 +276,8 @@ function wrapTransportWithWebSocket(transport: ConnectionTransport, port: number pendingBrowserContextDeletions.set(seqNum, params.browserContextId); }); + socket.on('error', error => debugError(error)); + socket.on('close', (socket as any).__closeListener = () => { for (const [pageProxyId, s] of pageProxyIds) { if (s === socket)