Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/spreed.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/utils/signaling.js12
-rw-r--r--src/utils/webrtc/webrtc.js5
2 files changed, 16 insertions, 1 deletions
diff --git a/src/utils/signaling.js b/src/utils/signaling.js
index c0d1fbb52..85d37ca3c 100644
--- a/src/utils/signaling.js
+++ b/src/utils/signaling.js
@@ -1280,7 +1280,17 @@ Signaling.Standalone.prototype.processRoomListEvent = function(data) {
Signaling.Standalone.prototype.processRoomParticipantsEvent = function(data) {
switch (data.event.type) {
case 'update':
- this._trigger('usersChanged', [data.event.update.users || []])
+ if (data.event.update.all) {
+ // With `"all": true`
+ if (data.event.update.incall === 0) {
+ this._trigger('allUsersChangedInCallToDisconnected')
+ } else {
+ console.error('Unknown room participant event', data)
+ }
+ } else {
+ // With updated user list
+ this._trigger('usersChanged', [data.event.update.users || []])
+ }
this._trigger('participantListChanged')
break
case 'flags':
diff --git a/src/utils/webrtc/webrtc.js b/src/utils/webrtc/webrtc.js
index 49d268147..d3044c529 100644
--- a/src/utils/webrtc/webrtc.js
+++ b/src/utils/webrtc/webrtc.js
@@ -543,6 +543,11 @@ export default function initWebRtc(signaling, _callParticipantCollection, _local
})
usersInCallChanged(signaling, usersInCallMapping)
})
+ signaling.on('allUsersChangedInCallToDisconnected', function() {
+ // "End meeting for all" was used, we don't have a user list but everyone disconnects from the call
+ usersInCallMapping = {}
+ usersInCallChanged(signaling, usersInCallMapping)
+ })
signaling.on('participantFlagsChanged', function(event) {
/**
* event {