diff --git a/src/ConferenceCallDebugger.js b/src/ConferenceCallDebugger.js index 10908af7..bee635ba 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 0b0ab562..3068eb97 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() {