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
AgeCommit message (Collapse)Author
2022-05-31Fix backend url from CLIJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-05-17Use "all: true" for end meeting for everyone caseJoas Schilling
This is needed to prevent issues with the request body size: POST https:\/\/192.168.178.101:18443\/api\/v1\/room\/3097975620` resulted in a `413 Request Entity Too Large` response:\nRequest entity too large Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-05-16Also retry on connect exceptionJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-05-13Retry sending signaling messages up to 3 timesJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-04-07Fix type handlingJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-04-06Use PHP7.4 property typehinting where possibleVitor Mattos
Signed-off-by: Vitor Mattos <vitor@php.rio>
2022-03-14Fix permissions not honoured if updated right before joining a callfix-permissions-not-honoured-if-updated-right-before-joining-a-callDaniel Calviño Sánchez
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>
2021-11-03Show an admin error when the HPB is incompatibleJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-10-07Split publishing media into audio and video after clarifying with the HPBJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-10-07Allow to remove all permissions without falling back to the next levelJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-10-07Introduce different layers for permissionsJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-10-07Rename and extend constants and methods for the new permissionsJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-06-22Also have sending requests marked as hpbJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-06-11Include "publishingPermissions" in participant messages of signalingDaniel Calviño Sánchez
This will allow the clients to react to "publishingPermissions" changes directly from the signaling messages, without needing to fetch again the participants (although they may need to fetch them again nevertheless for UI updates). The internal signaling server also needs to listen to changes on the property to be able to know when to send the message (the external signaling server already listened to the changes to be able to update the permission flags internally). Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2021-06-11Grant permissions in the HPB based on publishing permissionsDaniel Calviño Sánchez
When a participant does not have publishing permissions the HPB will block signaling messages related to establishing a connection, like sending the candidates. This would prevent participants using clients not supporting yet the publishing permissions (and thus still trying to publish even if they are not allowed to) from sending media in a call. Unfortunately the lack of permissions only prevents the connection from being established. If a participant is already sending media revoking the publishing permissions will not cause the connection to be stopped by the HPB. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2021-03-08Fix session selection in signaling codeJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-08Prepare selecting the correct session in case there are multipleJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-02-24First check for session because we don't do something otherwise anywayJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-01-14Send Nextcloud session id too when a participant joins a callDaniel Calviño Sánchez
When the internal signaling server is used the Nextcloud session id and the signaling session id are the same. However, if the external signaling server is used they are different. Signaling messages for participants in calls (like joining the call, muting and so on) are identified only by their signaling session id, so when the external signaling server is used it was not possible to associate participants in calls with the participant information provided by the Nextcloud server. However, when a participant joins a call her client notifies the Nextcloud server (either directly or, in the case of SIP clients, through the signaling server). The Nextcloud server then notifies the signaling server which, in turn, notifies all the clients. When Nextcloud notifies the signaling server the participant is identified with the Nextcloud session id, and the signaling server then replaces that with the signaling session id before relaying the message to the clients. Due to this when a participant joins (or leaves) a call now the Nextcloud session id is sent too in an extra property. This property is not adjusted by the external signaling server, so the clients receive both the signaling session id and the Nextcloud session id and thus are able to map them. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-12-08Notify external signaling server when description changesDaniel Calviño Sánchez
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-11-26Introduce constants for the actor typesJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-13Fix casing of IURLGenerator to fix DIRoeland Jago Douma
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-10-30Fix the unit testsJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-30Move more functions to the servicesJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-10-30Move Room::getParticipantUserIds() to participant serviceJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-08-03Move to Psr\Log\LoggerInterfaceJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-07-31Pass base URL of Nextcloud to signaling server in backend requests.Joachim Bauch
Signed-off-by: Joachim Bauch <bauch@struktur.de>
2020-07-29Always allow local HPBsJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-05-12Run cs:fixJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-05-12Send the backend message to the correct backend server for nowJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-05-12Hand in the Room object to the deeper levelsJoas Schilling
So we can use it to decide which HPB to talk to Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-05-12Use a dedicated method to get the signaling modeJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-04-07Also don't break on the API when the signaling server is downJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-03-06Send participant permissions to the external signaling serverDaniel Calviño Sánchez
In order to filter control messages the external signaling server needs to know the permissions of each participant. Those permissions need to be set when the participant joins the room or if the participant type is changed. All participants should have permissions to publish media and screen, but only logged in moderators should have permission to send control messages. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-03-02Get room properties for the signaling server from separate function.Joachim Bauch
Also dispatch an event so other apps can extend the properties to return. Signed-off-by: Joachim Bauch <bauch@struktur.de>
2019-09-05Bye Spreed, hello Talk!Joas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-27Make room names non-optionalJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-12Make all classes strictJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-01-14Make Signaling\BackendNotifier strictJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-11-12Use Participant objects were possibleJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-11-12Do not create the participant when we don't need themJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-08-24Add a const for magic 0 as wellJoas Schilling
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-08-24Change "inCall" state to contain bit flagsJoachim Bauch
The flags encode if a user is in the call and whether he is publishing audio and/or video. Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-06-22Make sure to include "userid" for all participants that are users.Joachim Bauch
Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-06-12Use standalone signaling server to notify about new chat messages.Joachim Bauch
This removes the long-polling against the PHP backend and instead sends an event to all users in a room through the standalone signaling server to notify that new chat messages exist. Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-05-08Notify standalone signaling server about sessions to remove from room.Joachim Bauch
Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-05-08Notify standalone signaling backend when a guest name is changed.Joachim Bauch
Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-03-21Provide the app to loggerMorris Jobke
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-02-02Fix type in condition.Joachim Bauch
Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-02-02Add tests for "BackendNotifier".Joachim Bauch
Signed-off-by: Joachim Bauch <bauch@struktur.de>