From b8016dfb2e6ba55c1bd04e38d3c4d33bbef5fca7 Mon Sep 17 00:00:00 2001 From: Tomas Martykan Date: Tue, 25 Mar 2025 12:17:28 +0100 Subject: [PATCH] fix(websocket-client): get rid of problematic timeout error emit --- packages/websocket-client/src/client.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/websocket-client/src/client.ts b/packages/websocket-client/src/client.ts index acb2f9b3a4..8e377e5d63 100644 --- a/packages/websocket-client/src/client.ts +++ b/packages/websocket-client/src/client.ts @@ -170,9 +170,9 @@ export class WebsocketClient> extends TypedEm // set connection timeout before WebSocket initialization const connectionTimeout = setTimeout( () => { - ws.emit('error', new WebsocketError('websocket_timeout')); + this.onClose(); + dfd.reject(new WebsocketError('websocket_timeout')); try { - ws.once('error', () => {}); // hack; ws throws uncaughtably when there's no error listener ws.close(); } catch { // empty @@ -237,6 +237,9 @@ export class WebsocketClient> extends TypedEm clearTimeout(this.pingTimeout); this.ws?.removeAllListeners(); + this.ws?.on('error', () => { + // Suppress errors after close + }); this.messages.rejectAll(new WebsocketError('Websocket closed unexpectedly')); }