Chunking incoming WS messages

This commit is contained in:
Marcel Mraz 2024-12-29 21:19:11 +01:00
parent 1abb901ec2
commit 12be5d716b
No known key found for this signature in database
GPG key ID: 4EBD6E62DC830CD2
6 changed files with 405 additions and 173 deletions

View file

@ -90,7 +90,7 @@ import type {
} from "../../packages/excalidraw/data/reconcile";
import { SyncClient } from "../../packages/excalidraw/sync/client";
export const syncAPIAtom = atom<SyncClient | null>(null);
export const syncApiAtom = atom<SyncClient | null>(null);
export const collabAPIAtom = atom<CollabAPI | null>(null);
export const isCollaboratingAtom = atom(false);
export const isOfflineAtom = atom(false);
@ -239,7 +239,7 @@ class Collab extends PureComponent<CollabProps, CollabState> {
SyncClient.create(this.excalidrawAPI, SyncIndexedDBAdapter).then(
(syncAPI) => {
appJotaiStore.set(syncAPIAtom, syncAPI);
appJotaiStore.set(syncApiAtom, syncAPI);
},
);
@ -276,6 +276,8 @@ class Collab extends PureComponent<CollabProps, CollabState> {
window.clearTimeout(this.idleTimeoutId);
this.idleTimeoutId = null;
}
appJotaiStore.get(syncApiAtom)?.disconnect();
this.onUmmount?.();
}