Merge remote-tracking branch 'refs/remotes/origin/feat/datacenter'

Conflicts:
	package.json
	packages/app/src/components/create-workspace/index.tsx
	packages/app/src/components/workspace-modal/index.tsx
	packages/app/src/components/workspace-modal/languageMenu.tsx
	packages/app/src/components/workspace-slider-bar/WorkspaceSelector/SelectorPopperContent.tsx
	packages/app/src/components/workspace-slider-bar/index.tsx
	packages/app/src/pages/_app.tsx
	pnpm-lock.yaml
This commit is contained in:
linonetwo
2023-01-10 18:23:25 +08:00
58 changed files with 1188 additions and 3572 deletions

View File

@@ -10,7 +10,7 @@ import { getLogger } from './logger';
import { applyUpdate, encodeStateAsUpdate } from 'yjs';
import { TauriIPCProvider } from './provider/tauri-ipc';
import { createBlocksuiteWorkspace } from './utils/index.js';
import { MessageCenter } from './message/message';
import { MessageCenter } from './message';
/**
* @class DataCenter
@@ -313,6 +313,7 @@ export class DataCenter {
applyUpdate(newWorkspace.doc, encodeStateAsUpdate(workspace.doc));
assert(newWorkspace, 'Create workspace failed');
await currentProvider.deleteWorkspace(workspace.room);
return newWorkspace.room;
}
/**

View File

@@ -25,7 +25,8 @@ const _initializeDataCenter = () => {
export const getDataCenter = _initializeDataCenter();
export type { DataCenter };
export type { AccessTokenMessage } from './provider/affine/apis';
export type { WorkspaceInfo } from './types';
export * from './types';
export { getLogger } from './logger';
export * from './message';

View File

@@ -1,5 +1,5 @@
import { Observable } from 'lib0/observable';
import { Message } from 'src/types';
import { Message } from '../types';
import { MessageCode } from './code';
export class MessageCenter extends Observable<string> {

View File

@@ -11,7 +11,7 @@ import { WebsocketProvider } from './sync.js';
import { getApis } from './apis/index.js';
import type { Apis, WorkspaceDetail, Callback } from './apis';
import { setDefaultAvatar } from '../utils.js';
import { MessageCode } from 'src/message/code.js';
import { MessageCode } from '../../message';
export interface AffineProviderConstructorParams
extends ProviderConstructorParams {
@@ -146,8 +146,8 @@ export class AffineProvider extends BaseProvider {
if (workspace) {
workspaces[i] = {
...workspaces[i],
name: workspace.doc.meta.name,
avatar: workspace.doc.meta.avatar,
name: workspace.meta.name,
avatar: workspace.meta.avatar,
};
}
});

View File

@@ -1,5 +1,5 @@
import { Workspace as BlocksuiteWorkspace, uuidv4 } from '@blocksuite/store';
import { MessageCenter } from 'src/message';
import { MessageCenter } from '../message';
import { Logger, User, WorkspaceInfo, WorkspaceMeta } from '../types';
import type { WorkspaceMetaCollectionScope } from '../workspace-meta-collection';

View File

@@ -25,8 +25,9 @@ export class LocalProvider extends BaseProvider {
public override async linkLocal(workspace: BlocksuiteWorkspace) {
assert(workspace.room);
let idb = this._idbMap.get(workspace.room);
idb?.destroy();
idb = new IndexedDBProvider(workspace.room, workspace.doc);
if (!idb) {
idb = new IndexedDBProvider(workspace.room, workspace.doc);
}
this._idbMap.set(workspace.room, idb);
this._logger('Local data loaded');
return workspace;