From 85c9c79699ac0f6f70b2de445fb0ed6e50ad8883 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Mon, 1 May 2023 18:10:51 -0600 Subject: [PATCH] reconnect websocket after closed by server --- .../src/app/services/websocket.service.ts | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/frontend/src/app/services/websocket.service.ts b/frontend/src/app/services/websocket.service.ts index 22da49f06..1e7f528eb 100644 --- a/frontend/src/app/services/websocket.service.ts +++ b/frontend/src/app/services/websocket.service.ts @@ -76,17 +76,22 @@ export class WebsocketService { this.stateService.resetChainTip(); - this.websocketSubject.complete(); - this.subscription.unsubscribe(); - this.websocketSubject = webSocket( - this.webSocketUrl.replace('{network}', this.network ? '/' + this.network : '') - ); - - this.startSubscription(); + this.reconnectWebsocket(); }); } } + reconnectWebsocket(retrying = false, hasInitData = false) { + console.log('reconnecting websocket'); + this.websocketSubject.complete(); + this.subscription.unsubscribe(); + this.websocketSubject = webSocket( + this.webSocketUrl.replace('{network}', this.network ? '/' + this.network : '') + ); + + this.startSubscription(retrying, hasInitData); + } + startSubscription(retrying = false, hasInitData = false) { if (!hasInitData) { this.stateService.isLoadingWebSocket$.next(true); @@ -237,7 +242,7 @@ export class WebsocketService { this.goneOffline = true; this.stateService.connectionState$.next(0); window.setTimeout(() => { - this.startSubscription(true); + this.reconnectWebsocket(true); }, retryDelay); }