Merge pull request #4819 from toeverything/61/hotfix

fix(server): remove awareness states cache
This commit is contained in:
LongYinan 2023-11-02 18:31:19 +08:00 committed by GitHub
commit bf17b4789b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 1 additions and 23 deletions

View File

@ -2,6 +2,7 @@ import { registerEnumType } from '@nestjs/graphql';
export enum DocVariant {
Workspace = 'workspace',
Page = 'page',
Space = 'space',
Settings = 'settings',
Unknown = 'unknown',

View File

@ -1,5 +1,4 @@
import { DebugLogger } from '@affine/debug';
import { isEqual } from 'lodash-es';
import type { Socket } from 'socket.io-client';
import { Manager } from 'socket.io-client';
import {
@ -191,23 +190,6 @@ function setupAffineAwareness(
rootDoc: Doc,
awareness: Awareness
) {
let lastAwarenessState: Map<number, any> = new Map();
// can't compare on update binary because the protocol will encode clock in it but the state is still the same
const compareAwarenessState = (clients: number[]) => {
const newAwarenessState = new Map();
clients.forEach(client => {
newAwarenessState.set(client, awareness.states.get(client));
});
const equal = isEqual(lastAwarenessState, newAwarenessState);
if (!equal) {
lastAwarenessState = newAwarenessState;
}
return equal;
};
const awarenessBroadcast = ({
workspaceId,
awarenessUpdate,
@ -235,11 +217,6 @@ function setupAffineAwareness(
...cur,
]);
// hit the last awareness update cache, skip
if (compareAwarenessState(changedClients)) {
return;
}
const update = encodeAwarenessUpdate(awareness, changedClients);
uint8ArrayToBase64(update)
.then(encodedUpdate => {