From d6d374286446bb6dafbf722eaadbcb898ac6d3d1 Mon Sep 17 00:00:00 2001 From: Robert Long <robert@robertlong.me> Date: Mon, 9 Aug 2021 17:00:17 -0700 Subject: [PATCH] Reset debugger state after leaving the room. --- src/ConferenceCallDebugger.js | 10 ++++++++++ src/ConferenceCallManager.js | 1 + 2 files changed, 11 insertions(+) diff --git a/src/ConferenceCallDebugger.js b/src/ConferenceCallDebugger.js index 10908af..bee635b 100644 --- a/src/ConferenceCallDebugger.js +++ b/src/ConferenceCallDebugger.js @@ -33,6 +33,7 @@ export class ConferenceCallDebugger extends EventEmitter { this.manager.on("debugstate", this._onDebugStateChanged); this.manager.client.on("event", this._onEvent); this.manager.on("entered", this._onEntered); + this.manager.on("left", this._onLeft); } _onEntered = () => { @@ -44,6 +45,15 @@ export class ConferenceCallDebugger extends EventEmitter { } }; + _onLeft = () => { + this.bufferedEvents = []; + this.debugState = { + users: new Map(), + calls: new Map(), + }; + this.emit("debug"); + }; + _onEvent = (event) => { if (!this.manager.entered) { this.bufferedEvents.push(event); diff --git a/src/ConferenceCallManager.js b/src/ConferenceCallManager.js index 0b0ab56..3068eb9 100644 --- a/src/ConferenceCallManager.js +++ b/src/ConferenceCallManager.js @@ -288,6 +288,7 @@ export class ConferenceCallManager extends EventEmitter { clearTimeout(this._memberParticipantStateTimeout); this.emit("participants_changed"); + this.emit("left"); } logout() {