fix(editor): invoke subscriber.unsubscribe() during cleanup (#12628)

This commit is contained in:
congzhou09
2025-05-29 22:30:55 +08:00
committed by GitHub
parent 31a1841e25
commit 517aec79ba

View File

@@ -132,12 +132,13 @@ export class DocEngine {
this.logger this.logger
); );
cleanUp.push( const subscriber = state.mainPeer.onStatusChange.subscribe(() => {
state.mainPeer.onStatusChange.subscribe(() => { if (!signal.aborted)
if (!signal.aborted) this.updateSyncingState(state.mainPeer, state.shadowPeers);
this.updateSyncingState(state.mainPeer, state.shadowPeers); });
}).unsubscribe cleanUp.push(() => {
); subscriber.unsubscribe();
});
this.updateSyncingState(state.mainPeer, state.shadowPeers); this.updateSyncingState(state.mainPeer, state.shadowPeers);
@@ -152,12 +153,15 @@ export class DocEngine {
this.priorityTarget, this.priorityTarget,
this.logger this.logger
); );
cleanUp.push(
peer.onStatusChange.subscribe(() => { const subscriber = peer.onStatusChange.subscribe(() => {
if (!signal.aborted) if (!signal.aborted)
this.updateSyncingState(state.mainPeer, state.shadowPeers); this.updateSyncingState(state.mainPeer, state.shadowPeers);
}).unsubscribe });
); cleanUp.push(() => {
subscriber.unsubscribe();
});
return peer; return peer;
}); });