diff options
author | Joas Schilling <coding@schilljs.com> | 2021-12-14 19:35:56 +0300 |
---|---|---|
committer | backportbot[bot] <backportbot[bot]@users.noreply.github.com> | 2021-12-15 16:46:05 +0300 |
commit | 9d5c66ace009ea254219cc7e54e345be8d80486c (patch) | |
tree | ccfe63c4b1271ca7277d94ad0995bee18c20479f | |
parent | 329ef106164ab2387a98f9ff88817247fe6f77d7 (diff) |
Don't reload the room list if only the participants changed
Signed-off-by: Joas Schilling <coding@schilljs.com>
-rw-r--r-- | src/utils/signaling.js | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/utils/signaling.js b/src/utils/signaling.js index 8efa849b4..382c0d25f 100644 --- a/src/utils/signaling.js +++ b/src/utils/signaling.js @@ -1219,8 +1219,19 @@ Signaling.Standalone.prototype.processRoomMessageEvent = function(data) { Signaling.Standalone.prototype.processRoomListEvent = function(data) { switch (data.event.type) { + case 'update': + if (data.event.update.properties['participant-list']) { + console.debug('Room list event for participant list', data) + if (data.event.update.roomid === this.currentRoomToken) { + this._trigger('participantListChanged') + } else { + // Participant list in another room changed, we don't really care + } + break + } + // eslint-disable-next-line no-fallthrough case 'disinvite': - if (data.event.disinvite.roomid === this.currentRoomToken) { + if (data.event?.disinvite?.roomid === this.currentRoomToken) { if (this._isRejoiningConversationWithNewSession) { console.debug('Rejoining conversation with new session, "disinvite" message ignored') return |