From 412d5205c83d1eacf9c1bee03e9ef5c2444768bf Mon Sep 17 00:00:00 2001 From: MingLiang Wang Date: Tue, 10 Jan 2023 21:35:22 +0800 Subject: [PATCH 1/2] feat: add a time out --- packages/data-center/src/provider/affine/affine.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/data-center/src/provider/affine/affine.ts b/packages/data-center/src/provider/affine/affine.ts index cbe5adef18..890fc6dc00 100644 --- a/packages/data-center/src/provider/affine/affine.ts +++ b/packages/data-center/src/provider/affine/affine.ts @@ -16,6 +16,7 @@ import { getApis } from './apis/index.js'; import type { Apis, WorkspaceDetail, Callback } from './apis'; import { setDefaultAvatar } from '../utils.js'; import { MessageCode } from '../../message'; +import { blob } from 'stream/consumers'; export interface AffineProviderConstructorParams extends ProviderConstructorParams { @@ -348,9 +349,10 @@ export class AffineProvider extends BaseProvider { assert(to.room, 'Blocksuite Workspace without room(workspaceId).'); const ws = this._getWebsocketProvider(to); applyUpdate(to.doc, encodeStateAsUpdate(from.doc)); + // TODO: upload blobs and make sure doc is synced await new Promise((resolve, reject) => { ws.once('synced', () => { - resolve(); + setTimeout(() => resolve(), 1000); }); ws.once('lost-connection', () => reject()); ws.once('connection-error', () => reject()); From ad5e7cb2f4ee4606e6f0c96a12262661416f067a Mon Sep 17 00:00:00 2001 From: MingLiang Wang Date: Tue, 10 Jan 2023 21:44:40 +0800 Subject: [PATCH 2/2] feat: fix data center --- packages/data-center/src/datacenter.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/data-center/src/datacenter.ts b/packages/data-center/src/datacenter.ts index e4fe394c71..8e70718c36 100644 --- a/packages/data-center/src/datacenter.ts +++ b/packages/data-center/src/datacenter.ts @@ -186,7 +186,7 @@ export class DataCenter { */ public async onWorkspacesChange( callback: (workspaces: WorkspaceUnitCollectionChangeEvent) => void, - { immediate = true }: { immediate?: boolean } + { immediate = true }: { immediate?: boolean } = {} ) { if (immediate) { callback({