From eb33289f984d572a3b01474e7c12657c46cbea51 Mon Sep 17 00:00:00 2001 From: Himself65 Date: Tue, 28 Mar 2023 22:50:01 -0500 Subject: [PATCH] fix: do not reconnect server if fail to many times (#1735) --- packages/workspace/src/affine/sync.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/workspace/src/affine/sync.js b/packages/workspace/src/affine/sync.js index 6fe48aa7bf..96945e0ee1 100644 --- a/packages/workspace/src/affine/sync.js +++ b/packages/workspace/src/affine/sync.js @@ -6,6 +6,7 @@ /* eslint-env browser */ // import * as Y from 'yjs'; // eslint-disable-line +import { toast } from '@affine/component'; import * as bc from 'lib0/broadcastchannel'; import * as decoding from 'lib0/decoding'; import * as encoding from 'lib0/encoding'; @@ -127,6 +128,11 @@ const readMessage = (provider, buf, emitSynced) => { * @param {WebsocketProvider} provider */ const setupWS = provider => { + // failed too many times to reconnect + if (provider.wsUnsuccessfulReconnects >= 5) { + toast('Unable to connect to server. Please try again later.'); + provider.shouldConnect = false; + } if (provider.shouldConnect && provider.ws === null) { const websocket = new provider._WS(provider.url); websocket.binaryType = 'arraybuffer';