chore: bump version (#1404)

This commit is contained in:
Himself65
2023-03-08 03:50:58 -06:00
committed by GitHub
parent 049d6dd83f
commit ac9adcb7b2
31 changed files with 211 additions and 235 deletions

View File

@@ -135,7 +135,7 @@ export class DataCenter {
// assert(workspaceInfo, 'Workspace not found');
return (
// this._workspaceInstances.get(workspaceId) ||
createBlocksuiteWorkspace(workspaceId)
createBlocksuiteWorkspace({ id: workspaceId })
);
}

View File

@@ -172,15 +172,15 @@ export class AffineProvider extends BaseProvider {
}
private _getWebsocketProvider(workspace: BlocksuiteWorkspace) {
const { doc, room } = workspace;
assert(room);
const { doc, id } = workspace;
assert(id);
assert(doc);
let ws = this._wsMap.get(workspace);
if (!ws) {
const wsUrl = `${
window.location.protocol === 'https:' ? 'wss' : 'ws'
}://${window.location.host}/api/sync/`;
ws = new WebsocketProvider(wsUrl, room, doc, {
ws = new WebsocketProvider(wsUrl, id, doc, {
params: { token: this._apis.auth.refresh },
// @ts-expect-error ignore the type
awareness: workspace.awarenessStore.awareness,
@@ -200,7 +200,7 @@ export class AffineProvider extends BaseProvider {
blocksuiteWorkspace: BlocksuiteWorkspace,
published = false
) {
const { room: workspaceId } = blocksuiteWorkspace;
const { id: workspaceId } = blocksuiteWorkspace;
assert(workspaceId, 'Blocksuite Workspace without room(workspaceId).');
const updates = await this._apis.downloadWorkspace(workspaceId, published);
await applyUpdate(blocksuiteWorkspace, new Uint8Array(updates));
@@ -217,8 +217,8 @@ export class AffineProvider extends BaseProvider {
);
// FIXME: if add indexedDB cache in the future, can remove following line.
await this._applyCloudUpdates(workspace);
const { room } = workspace;
assert(room);
const { id } = workspace;
assert(id);
this.linkLocal(workspace);
const ws = this._getWebsocketProvider(workspace);
// close all websocket links
@@ -364,11 +364,11 @@ export class AffineProvider extends BaseProvider {
public override async linkLocal(workspace: BlocksuiteWorkspace) {
return workspace;
// assert(workspace.room);
// let idb = this._idbMap.get(workspace.room);
// assert(workspace.id);
// let idb = this._idbMap.get(workspace.id);
// idb?.destroy();
// idb = new IndexedDBProvider(workspace.room, workspace.doc);
// this._idbMap.set(workspace.room, idb);
// idb = new IndexedDBProvider(workspace.id, workspace.doc);
// this._idbMap.set(workspace.id, idb);
// await idb.whenSynced;
// this._logger('Local data loaded');
// return workspace;

View File

@@ -249,7 +249,8 @@ export function createWorkspaceApis(
if (googleAuth.isExpired && googleAuth.isLogin) {
await googleAuth.refreshToken();
}
return _createBlocksuiteWorkspace(newWorkspaceId, {
return _createBlocksuiteWorkspace({
id: newWorkspaceId,
blobOptionsGetter: (k: string) =>
// token could be expired
({ api: '/api/workspace', token: googleAuth.token }[k]),

View File

@@ -9,7 +9,7 @@ const { encodeStateAsUpdate, mergeUpdates } = BlocksuiteWorkspace.Y;
export const writeUpdatesToLocal = async (
blocksuiteWorkspace: BlocksuiteWorkspace
) => {
const workspaceId = blocksuiteWorkspace.room;
const workspaceId = blocksuiteWorkspace.id;
assert(workspaceId);
await idb.deleteDB(workspaceId);
const db = await idb.openDB(workspaceId, db =>
@@ -27,7 +27,7 @@ export const writeUpdatesToLocal = async (
export const applyLocalUpdates = async (
blocksuiteWorkspace: BlocksuiteWorkspace
) => {
const workspaceId = blocksuiteWorkspace.room;
const workspaceId = blocksuiteWorkspace.id;
assert(workspaceId, 'Blocksuite workspace without room(workspaceId).');
const db = await idb.openDB(workspaceId, db =>
idb.createStores(db, [['updates', { autoIncrement: true }], ['custom']])

View File

@@ -36,10 +36,10 @@ export class LocalProvider extends BaseProvider {
}
public override async linkLocal(workspace: BlocksuiteWorkspace) {
assert(workspace.room);
assert(workspace.id);
let idb = this._idbMap.get(workspace);
if (!idb) {
idb = new IndexedDBProvider(workspace.room, workspace.doc);
idb = new IndexedDBProvider(workspace.id, workspace.doc);
}
this._idbMap.set(workspace, idb);
this._logger.debug('Local data loaded');
@@ -49,7 +49,7 @@ export class LocalProvider extends BaseProvider {
public override async warpWorkspace(
workspace: BlocksuiteWorkspace
): Promise<BlocksuiteWorkspace> {
assert(workspace.room);
assert(workspace.id);
await applyLocalUpdates(workspace);
await this.linkLocal(workspace);
return workspace;

View File

@@ -7,7 +7,8 @@ import { applyLocalUpdates, writeUpdatesToLocal } from './indexeddb/utils';
export const loadWorkspaceUnit = async (params: WorkspaceUnitCtorParams) => {
const workspaceUnit = new WorkspaceUnit(params);
const blocksuiteWorkspace = createBlocksuiteWorkspace(workspaceUnit.id, {
const blocksuiteWorkspace = createBlocksuiteWorkspace({
id: workspaceUnit.id,
blobOptionsGetter: (k: string) => undefined,
});
@@ -21,7 +22,8 @@ export const loadWorkspaceUnit = async (params: WorkspaceUnitCtorParams) => {
export const createWorkspaceUnit = async (params: WorkspaceUnitCtorParams) => {
const workspaceUnit = new WorkspaceUnit(params);
const blocksuiteWorkspace = createBlocksuiteWorkspace(workspaceUnit.id, {
const blocksuiteWorkspace = createBlocksuiteWorkspace({
id: workspaceUnit.id,
blobOptionsGetter: (k: string) => undefined,
});
blocksuiteWorkspace.meta.setName(workspaceUnit.name);

View File

@@ -22,16 +22,16 @@
// databases
// .map(db => db.name)
// .filter(v => v)
// .includes(this._workspace.room)
// .includes(this._workspace.id)
// );
// const workspace = this._workspace;
// const doc = workspace.doc;
// if (workspace.room) {
// if (workspace.id) {
// try {
// // Wait for ws synchronization to complete, otherwise the data will be modified in reverse, which can be optimized later
// this._ws = new WebsocketProvider(this.host, workspace.room, doc);
// this._ws = new WebsocketProvider(this.host, workspace.id, doc);
// await new Promise<void>((resolve, reject) => {
// // TODO: synced will also be triggered on reconnection after losing sync
// // There needs to be an event mechanism to emit the synchronization state to the upper layer
@@ -41,7 +41,7 @@
// this._ws.once('connection-error', () => reject());
// });
// this._slots.listAdd.emit({
// workspace: workspace.room,
// workspace: workspace.id,
// provider: this.id,
// locally: true,
// });

View File

@@ -120,14 +120,14 @@ export class TauriIPCProvider extends LocalProvider {
}
override async warpWorkspace(blocksuiteWorkspace: BlocksuiteWorkspace) {
const { room } = blocksuiteWorkspace;
assert(room);
const { id } = blocksuiteWorkspace;
assert(id);
(await blocksuiteWorkspace.blobs)?.setProvider(
await IPCBlobProvider.init(room)
await IPCBlobProvider.init(id)
);
await this.#initDocFromIPC(room, blocksuiteWorkspace);
await this.#connectDocToIPC(room, blocksuiteWorkspace);
await this.#initDocFromIPC(id, blocksuiteWorkspace);
await this.#connectDocToIPC(id, blocksuiteWorkspace);
return blocksuiteWorkspace;
}

View File

@@ -7,7 +7,8 @@ import { IPCBlobProvider } from './blocksuite-provider/blob';
export const createWorkspaceUnit = async (params: WorkspaceUnitCtorParams) => {
const workspaceUnit = new WorkspaceUnit(params);
const blocksuiteWorkspace = createBlocksuiteWorkspace(workspaceUnit.id, {
const blocksuiteWorkspace = createBlocksuiteWorkspace({
id: workspaceUnit.id,
blobOptionsGetter: (k: string) => undefined,
});
blocksuiteWorkspace.meta.setName(workspaceUnit.name);

View File

@@ -4,15 +4,11 @@ import {
Workspace as BlocksuiteWorkspace,
} from '@blocksuite/store';
export const createBlocksuiteWorkspace = (
workspaceId: string,
workspaceOption?: StoreOptions
) => {
export const createBlocksuiteWorkspace = (options: StoreOptions) => {
return new BlocksuiteWorkspace({
room: workspaceId,
defaultFlags: {},
isSSR: typeof window === 'undefined',
...workspaceOption,
...options,
})
.register(builtInSchemas)
.register(__unstableSchemas);

View File

@@ -57,7 +57,7 @@ export class WorkspaceUnit {
}
setBlocksuiteWorkspace(blocksuiteWorkspace: BlocksuiteWorkspace | null) {
if (blocksuiteWorkspace && blocksuiteWorkspace.room !== this.id) {
if (blocksuiteWorkspace && blocksuiteWorkspace.id !== this.id) {
throw new Error('Workspace id inconsistent.');
}
this._blocksuiteWorkspace = blocksuiteWorkspace;