diff options
author | Daniel Calviño Sánchez <danxuliu@gmail.com> | 2022-03-14 04:50:39 +0300 |
---|---|---|
committer | Daniel Calviño Sánchez <danxuliu@gmail.com> | 2022-03-14 05:11:34 +0300 |
commit | f95553c1c04eb33638ea6b1af1f0a00e4a0bdd73 (patch) | |
tree | 4a57373c7f557732adebed86b6650f3ad65361b8 /lib | |
parent | 7f811468622ba491ca0e42d6c05bde39b209215e (diff) |
Fix permissions not honoured if updated right before joining a callfix-permissions-not-honoured-if-updated-right-before-joining-a-call
When the local participant joins a call the sent media is based on the
last fetched permissions. However, once the call is joined the sent
media is based on the participant permissions updates notified by the
signaling messages.
When the HPB is used the "participantPermissions" property of the
"participants->update" signaling messages is used. Those messages are
sent when the permissions are modified and also when a participant joins
a call, but in this last case it did not include the expected property.
Due to this, if the permissions of the local participant were updated
right before the participant joined the call and the participant data
was not fetched again yet the previous permissions would be used. If the
message sent when the permissions were updated was received before
actually joining the call then it would be ignored, and although the
message sent due to joining the call would be processed the WebUI would
not notice the permission change, as the message did not provide them.
To solve that now the "participants->update" message sent when joining a
call also includes the permissions. This way, even if the previous
permissions are initially used when joining the call as soon as the
signaling message sent due to joining the call is received the WebUI
will adjust the sent media to the new permissions.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Signaling/BackendNotifier.php | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/Signaling/BackendNotifier.php b/lib/Signaling/BackendNotifier.php index 4fdada9c0..fe8cd4266 100644 --- a/lib/Signaling/BackendNotifier.php +++ b/lib/Signaling/BackendNotifier.php @@ -383,6 +383,7 @@ class BackendNotifier { 'sessionId' => $session->getSessionId(), 'nextcloudSessionId' => $session->getSessionId(), 'participantType' => $attendee->getParticipantType(), + 'participantPermissions' => $participant->getPermissions(), ]; if ($attendee->getActorType() === Attendee::ACTOR_USERS) { $data['userId'] = $attendee->getActorId(); |