From bd5f0ad7c189cce006929df178e9edf728a87624 Mon Sep 17 00:00:00 2001 From: MingLiang Wang Date: Mon, 9 Jan 2023 17:52:38 +0800 Subject: [PATCH] feat: add disconnect ws --- packages/data-center/src/provider/affine/affine.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/data-center/src/provider/affine/affine.ts b/packages/data-center/src/provider/affine/affine.ts index d86c42f9fa..41f438d88f 100644 --- a/packages/data-center/src/provider/affine/affine.ts +++ b/packages/data-center/src/provider/affine/affine.ts @@ -78,6 +78,12 @@ export class AffineProvider extends BaseProvider { ws = new WebsocketProvider('/', room, doc); this._wsMap.set(room, ws); } + // close all websocket links + Array.from(this._wsMap.entries()).forEach(([id, ws]) => { + if (id !== room) { + ws.disconnect(); + } + }); ws.connect(); await new Promise((resolve, reject) => { // TODO: synced will also be triggered on reconnection after losing sync