fix: make presentation sync disconnect lifecycle-safe

This commit is contained in:
lda
2026-07-14 12:08:56 +07:00 Verified
parent c8e519a563
commit c428d180d1
2 changed files with 52 additions and 15 deletions
@@ -245,14 +245,15 @@ export const createPresentationRoomService = (options: {
return { kind: "connected", snapshot: room.snapshot, presence };
},
disconnect(token: string): void {
disconnect(token: string, peer: PresentationPeer): void {
const membership = membershipByToken.get(token);
const room = membership?.room;
if (
membership === undefined ||
room === undefined ||
!roomsById.has(room.id) ||
membership.peer === null
membership.peer === null ||
membership.peer !== peer
) {
return;
}