diff --git a/packages/data-center/src/datacenter.ts b/packages/data-center/src/datacenter.ts index 8d860ac18c..c15861223e 100644 --- a/packages/data-center/src/datacenter.ts +++ b/packages/data-center/src/datacenter.ts @@ -122,8 +122,8 @@ export class DataCenter { * @param {string} workspaceId workspace id */ private _getBlocksuiteWorkspace(workspaceId: string) { - const workspaceInfo = this._workspaceUnitCollection.find(workspaceId); - assert(workspaceInfo, 'Workspace not found'); + // const workspaceInfo = this._workspaceUnitCollection.find(workspaceId); + // assert(workspaceInfo, 'Workspace not found'); return ( // this._workspaceInstances.get(workspaceId) || createBlocksuiteWorkspace(workspaceId) diff --git a/packages/data-center/src/provider/affine/affine.ts b/packages/data-center/src/provider/affine/affine.ts index 1e754e5138..a98386104b 100644 --- a/packages/data-center/src/provider/affine/affine.ts +++ b/packages/data-center/src/provider/affine/affine.ts @@ -104,10 +104,13 @@ export class AffineProvider extends BaseProvider { return ws; } - private async _applyCloudUpdates(blocksuiteWorkspace: BlocksuiteWorkspace) { + private async _applyCloudUpdates( + blocksuiteWorkspace: BlocksuiteWorkspace, + published = false + ) { const { doc, room: workspaceId } = blocksuiteWorkspace; assert(workspaceId, 'Blocksuite Workspace without room(workspaceId).'); - const updates = await this._apis.downloadWorkspace(workspaceId); + const updates = await this._apis.downloadWorkspace(workspaceId, published); if (updates && updates.byteLength) { await new Promise(resolve => { doc.once('update', resolve); @@ -117,7 +120,7 @@ export class AffineProvider extends BaseProvider { } override async loadPublicWorkspace(blocksuiteWorkspace: BlocksuiteWorkspace) { - await this._applyCloudUpdates(blocksuiteWorkspace); + await this._applyCloudUpdates(blocksuiteWorkspace, true); return blocksuiteWorkspace; } diff --git a/packages/data-center/src/provider/affine/apis/workspace.ts b/packages/data-center/src/provider/affine/apis/workspace.ts index 29a729ae6b..6ac1d63c92 100644 --- a/packages/data-center/src/provider/affine/apis/workspace.ts +++ b/packages/data-center/src/provider/affine/apis/workspace.ts @@ -172,7 +172,11 @@ export async function leaveWorkspace({ id }: LeaveWorkspaceParams) { } export async function downloadWorkspace( - workspaceId: string + workspaceId: string, + published = false ): Promise { + if (published) { + return bareClient.get(`api/workspace/${workspaceId}/doc`).arrayBuffer(); + } return client.get(`api/workspace/${workspaceId}/doc`).arrayBuffer(); }