mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-13 21:05:19 +00:00
feat: improve provider testing (#1280)
This commit is contained in:
3
apps/web/src/blocksuite/logger.ts
Normal file
3
apps/web/src/blocksuite/logger.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
import { DebugLogger } from '@affine/debug';
|
||||
|
||||
export const providerLogger = new DebugLogger('provider');
|
||||
@@ -6,6 +6,7 @@ import {
|
||||
} from 'y-protocols/awareness';
|
||||
|
||||
import { BlockSuiteWorkspace, BroadCastChannelProvider } from '../../../shared';
|
||||
import { providerLogger } from '../../logger';
|
||||
import {
|
||||
AwarenessChanges,
|
||||
BroadcastChannelMessageEvent,
|
||||
@@ -83,7 +84,10 @@ export const createBroadCastChannelProvider = (
|
||||
onmessage: handleBroadcastChannelMessage,
|
||||
}
|
||||
);
|
||||
console.log('connect broadcast channel', blockSuiteWorkspace.room);
|
||||
providerLogger.info(
|
||||
'connect broadcast channel',
|
||||
blockSuiteWorkspace.room
|
||||
);
|
||||
const docDiff = Y.encodeStateVector(doc);
|
||||
broadcastChannel.postMessage(['doc:diff', docDiff, awareness.clientID]);
|
||||
const docUpdateV2 = Y.encodeStateAsUpdate(doc);
|
||||
@@ -98,7 +102,10 @@ export const createBroadCastChannelProvider = (
|
||||
},
|
||||
disconnect: () => {
|
||||
assertExists(broadcastChannel);
|
||||
console.log('disconnect broadcast channel', blockSuiteWorkspace.room);
|
||||
providerLogger.info(
|
||||
'disconnect broadcast channel',
|
||||
blockSuiteWorkspace.room
|
||||
);
|
||||
doc.off('update', handleDocUpdate);
|
||||
awareness.off('update', handleAwarenessUpdate);
|
||||
broadcastChannel.close();
|
||||
|
||||
@@ -8,6 +8,7 @@ import {
|
||||
LocalIndexedDBProvider,
|
||||
} from '../../shared';
|
||||
import { apis } from '../../shared/apis';
|
||||
import { providerLogger } from '../logger';
|
||||
import { createBroadCastChannelProvider } from './broad-cast-channel';
|
||||
|
||||
const createWebSocketProvider = (
|
||||
@@ -18,7 +19,8 @@ const createWebSocketProvider = (
|
||||
flavour: 'affine-websocket',
|
||||
cleanup: () => {
|
||||
assertExists(webSocketProvider);
|
||||
webSocketProvider?.destroy();
|
||||
webSocketProvider.destroy();
|
||||
webSocketProvider = null;
|
||||
},
|
||||
connect: () => {
|
||||
const wsUrl = `${
|
||||
@@ -34,15 +36,17 @@ const createWebSocketProvider = (
|
||||
awareness: blockSuiteWorkspace.awarenessStore.awareness,
|
||||
// we maintain broadcast channel by ourselves
|
||||
disableBc: true,
|
||||
connect: false,
|
||||
}
|
||||
);
|
||||
console.log('connect', webSocketProvider.roomname);
|
||||
providerLogger.info('connect', webSocketProvider.roomname);
|
||||
webSocketProvider.connect();
|
||||
},
|
||||
disconnect: () => {
|
||||
assertExists(webSocketProvider);
|
||||
console.log('disconnect', webSocketProvider.roomname);
|
||||
webSocketProvider?.disconnect();
|
||||
providerLogger.info('disconnect', webSocketProvider.roomname);
|
||||
webSocketProvider.destroy();
|
||||
webSocketProvider = null;
|
||||
},
|
||||
};
|
||||
};
|
||||
@@ -58,7 +62,10 @@ const createIndexedDBProvider = (
|
||||
indexdbProvider.clearData();
|
||||
},
|
||||
connect: () => {
|
||||
console.info('connect indexeddb provider', blockSuiteWorkspace.room);
|
||||
providerLogger.info(
|
||||
'connect indexeddb provider',
|
||||
blockSuiteWorkspace.room
|
||||
);
|
||||
indexdbProvider = new IndexeddbPersistence(
|
||||
blockSuiteWorkspace.room as string,
|
||||
blockSuiteWorkspace.doc
|
||||
@@ -66,7 +73,10 @@ const createIndexedDBProvider = (
|
||||
},
|
||||
disconnect: () => {
|
||||
assertExists(indexdbProvider);
|
||||
console.info('disconnect indexeddb provider', blockSuiteWorkspace.room);
|
||||
providerLogger.info(
|
||||
'disconnect indexeddb provider',
|
||||
blockSuiteWorkspace.room
|
||||
);
|
||||
indexdbProvider.destroy();
|
||||
indexdbProvider = null;
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user