diff --git a/docs/interfaces/websocketadapter.html b/docs/interfaces/websocketadapter.html index 2aba79fa4f..7b8caa4ed4 100644 --- a/docs/interfaces/websocketadapter.html +++ b/docs/interfaces/websocketadapter.html @@ -266,7 +266,7 @@

Returns -

removeEventListener

+

Optional removeEventListener

diff --git a/src/signalingclient/DefaultSignalingClient.ts b/src/signalingclient/DefaultSignalingClient.ts index 78859db506..121e137945 100644 --- a/src/signalingclient/DefaultSignalingClient.ts +++ b/src/signalingclient/DefaultSignalingClient.ts @@ -220,13 +220,13 @@ export default class DefaultSignalingClient implements SignalingClient { DefaultSignalingClient.CLOSE_EVENT_TIMEOUT_MS ); const handler = (event: CloseEvent): void => { - this.webSocket.removeEventListener('close', handler); + this.webSocket?.removeEventListener('close', handler); scheduler.stop(); this.closeEventHandler(event); }; // Remove the existing close handler to prevent SDK from opening a new connection. - this.webSocket.removeEventListener('close', this.closeEventHandler); + this.webSocket?.removeEventListener('close', this.closeEventHandler); this.webSocket.addEventListener('close', handler); scheduler.start(() => { handler( diff --git a/src/websocketadapter/WebSocketAdapter.ts b/src/websocketadapter/WebSocketAdapter.ts index c56adfd276..61c999818b 100644 --- a/src/websocketadapter/WebSocketAdapter.ts +++ b/src/websocketadapter/WebSocketAdapter.ts @@ -47,7 +47,7 @@ export default interface WebSocketAdapter { * @param handler The handler being assigned. * @param eventListener The event listener to add. */ - removeEventListener(handler: string, eventListener: EventListener): void; + removeEventListener?(handler: string, eventListener: EventListener): void; /** * Returns the ready state.