mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-14 13:25:12 +00:00
chore: bump version (#1404)
This commit is contained in:
@@ -135,7 +135,7 @@ export class DataCenter {
|
||||
// assert(workspaceInfo, 'Workspace not found');
|
||||
return (
|
||||
// this._workspaceInstances.get(workspaceId) ||
|
||||
createBlocksuiteWorkspace(workspaceId)
|
||||
createBlocksuiteWorkspace({ id: workspaceId })
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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]),
|
||||
|
||||
@@ -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']])
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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,
|
||||
// });
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user