diff --git a/packages/playwright-core/src/server/chromium/crConnection.ts b/packages/playwright-core/src/server/chromium/crConnection.ts index 520fe2709c..791f91a902 100644 --- a/packages/playwright-core/src/server/chromium/crConnection.ts +++ b/packages/playwright-core/src/server/chromium/crConnection.ts @@ -189,6 +189,8 @@ export class CRSession extends EventEmitter { callback.reject(createProtocolError(callback.error, callback.method, object.error)); else callback.resolve(object.result); + } else if (object.id && object.error?.code === -32001) { + // Message to a closed session, just ignore it. } else { assert(!object.id); Promise.resolve().then(() => { diff --git a/packages/playwright-core/src/server/transport.ts b/packages/playwright-core/src/server/transport.ts index b59de1c3c9..bcb9919902 100644 --- a/packages/playwright-core/src/server/transport.ts +++ b/packages/playwright-core/src/server/transport.ts @@ -31,7 +31,7 @@ export type ProtocolResponse = { id?: number; method?: string; sessionId?: string; - error?: { message: string; data: any; }; + error?: { message: string; data: any; code?: number }; params?: any; result?: any; pageProxyId?: string;