diff --git a/webapp/platform/client/src/websocket.ts b/webapp/platform/client/src/websocket.ts index c88379ec37..b026891933 100644 --- a/webapp/platform/client/src/websocket.ts +++ b/webapp/platform/client/src/websocket.ts @@ -189,9 +189,16 @@ export default class WebSocketClient { console.log('long timeout, or server restart, or sequence number is not found.'); //eslint-disable-line no-console this.missedEventCallback?.(); - this.missedMessageListeners.forEach((listener) => listener()); - - this.serverSequence = 0; + + for (const listener of this.missedMessageListeners) { + try { + listener(); + } catch (e) { + console.log(`missed message listener "${listener.name}" failed: ${e}`); // eslint-disable-line no-console + } + } + + this.serverSequence = 0; } // If it's a fresh connection, we have to set the connectionId regardless.