mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-17 14:27:02 +08:00
Merge branch 'feat/cloud-sync-saika' into feat/datacenter
This commit is contained in:
@@ -186,7 +186,7 @@ export class DataCenter {
|
|||||||
*/
|
*/
|
||||||
public async onWorkspacesChange(
|
public async onWorkspacesChange(
|
||||||
callback: (workspaces: WorkspaceUnitCollectionChangeEvent) => void,
|
callback: (workspaces: WorkspaceUnitCollectionChangeEvent) => void,
|
||||||
{ immediate = true }: { immediate?: boolean }
|
{ immediate = true }: { immediate?: boolean } = {}
|
||||||
) {
|
) {
|
||||||
if (immediate) {
|
if (immediate) {
|
||||||
callback({
|
callback({
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import { getApis } from './apis/index.js';
|
|||||||
import type { Apis, WorkspaceDetail, Callback } from './apis';
|
import type { Apis, WorkspaceDetail, Callback } from './apis';
|
||||||
import { setDefaultAvatar } from '../utils.js';
|
import { setDefaultAvatar } from '../utils.js';
|
||||||
import { MessageCode } from '../../message';
|
import { MessageCode } from '../../message';
|
||||||
|
import { blob } from 'stream/consumers';
|
||||||
|
|
||||||
export interface AffineProviderConstructorParams
|
export interface AffineProviderConstructorParams
|
||||||
extends ProviderConstructorParams {
|
extends ProviderConstructorParams {
|
||||||
@@ -348,9 +349,10 @@ export class AffineProvider extends BaseProvider {
|
|||||||
assert(to.room, 'Blocksuite Workspace without room(workspaceId).');
|
assert(to.room, 'Blocksuite Workspace without room(workspaceId).');
|
||||||
const ws = this._getWebsocketProvider(to);
|
const ws = this._getWebsocketProvider(to);
|
||||||
applyUpdate(to.doc, encodeStateAsUpdate(from.doc));
|
applyUpdate(to.doc, encodeStateAsUpdate(from.doc));
|
||||||
|
// TODO: upload blobs and make sure doc is synced
|
||||||
await new Promise<void>((resolve, reject) => {
|
await new Promise<void>((resolve, reject) => {
|
||||||
ws.once('synced', () => {
|
ws.once('synced', () => {
|
||||||
resolve();
|
setTimeout(() => resolve(), 1000);
|
||||||
});
|
});
|
||||||
ws.once('lost-connection', () => reject());
|
ws.once('lost-connection', () => reject());
|
||||||
ws.once('connection-error', () => reject());
|
ws.once('connection-error', () => reject());
|
||||||
|
|||||||
Reference in New Issue
Block a user