Граф коммитов

14728 Коммитов

Автор SHA1 Сообщение Дата
Joas Schilling 6fd10016b5
Merge pull request #8742 from nextcloud/fix-read-after-write
fix(share): Use transaction to avoid read-after-write issue
2023-02-14 16:10:25 +01:00
Thomas Citharel 8318a906a3
fix(share): Use transaction to avoid read-after-write issue
When creating a share, we're reading from the database straight
afterwards saving it

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-02-14 15:45:27 +01:00
Joas Schilling e581d23bfd
Merge pull request #8708 from nextcloud/add-recording-server
Add recording server
2023-02-14 12:37:26 +01:00
Daniel Calviño Sánchez 4511978305 Handle signaling message for recording status changes in UI
This just updates the conversation property "callRecording" as soon as
the signaling message is received, rather than having to wait until the
whole conversation data is fetched again.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-02-14 10:37:19 +01:00
Daniel Calviño Sánchez d48a582dc2 Add unit test for signaling messages for recording status changes
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-02-14 10:37:19 +01:00
Daniel Calviño Sánchez bba46ca801 Use fake recording server in integration tests
The fake recording server just accepts all backend requests (as long as
the validation is correct) and records them to be able to check them
from the integration tests.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-02-14 10:37:19 +01:00
Daniel Calviño Sánchez 3603407b86 Adjust Given/When/Then in recording tests
Given should be used for preconditions, When for the action being tested
and Then for postconditions.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-02-14 10:37:19 +01:00
Daniel Calviño Sánchez ba2412769e Add documentation for the recording server API
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-02-14 10:37:19 +01:00
Daniel Calviño Sánchez 61de2c32c3 Limit starting and stopping the recording only to logged in moderators
Although the recording itself does not require a user uploading the
resulting file does, so it should be limited only to logged in
moderators.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-02-14 10:37:19 +01:00
Daniel Calviño Sánchez 44b741330c Store recording as VP8 in webm rather than Theora in mkv
Chromium does not seem to play all Theora files (might be related to
timestamp problems), while VP8 is supported in both Firefox and
Chromium.

Similarly Firefox can not play Matroska containers, while webm is
supported in both Firefox and Chromium.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-02-14 10:37:19 +01:00
Daniel Calviño Sánchez a4451a9579 Log some details when a file can not be stored
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-02-14 10:37:19 +01:00
Daniel Calviño Sánchez af83fb6040 Send requests to the recording server to start and stop recordings
The owner of the recording must be provided when starting it to be able
to later store it.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-02-14 10:37:19 +01:00
Daniel Calviño Sánchez ef42841772 Fix validation of requests from recording server
The credentials to be used are specific to the recording server and
unrelated to the SIP bridge. The code follows the same schema used for
validation of external signaling server requests in SignalingController.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-02-14 10:37:19 +01:00
Daniel Calviño Sánchez d16d5fbd1f Fix typo
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-02-14 10:37:19 +01:00
Daniel Calviño Sánchez 4e0bf7360f Add verification for the recording server
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-02-14 10:37:19 +01:00
Daniel Calviño Sánchez f1a6ab45ad Add setting to configure recording servers
Currently the recording server does not support clustering, so the UI is
limited to add a single recording server, even if internally the
configuration allows more than one.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-02-14 10:37:18 +01:00
Daniel Calviño Sánchez 5c5588a460 Add helper script to launch the recording backend
The script creates a Docker container and installs all the needed
dependencies as well as the recording backend inside it.

Once the container has been created running the script will just launch
the recording backend again in the existing container, without setting
it up.

Note that the configuration (/etc/nextcloud-talk-recording/server.conf)
needs to be customized as needed.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-02-14 10:37:18 +01:00
Daniel Calviño Sánchez 7f0d3071dd Add module to handle incoming requests from the Nextcloud server
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-02-14 10:37:18 +01:00
Daniel Calviño Sánchez f64716572e Add module to start and stop recordings in a call
To record a call a virtual display server and an audio sink are created.
Then a browser is launched inside the virtual display server, and its
audio is routed to the audio sink. This ensures that several browsers
can be running at the same time without interfering with each other.
Then the call is joined by the browser, and an FFMPEG process to record
the virtual display driver and the audio sink is started.

Once the recording is stopped it is uploaded to the Nextcloud server.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-02-14 10:37:18 +01:00
Daniel Calviño Sánchez c3e7b14912 Add module to send requests to the Nextcloud server
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-02-14 10:37:18 +01:00
Daniel Calviño Sánchez ca2195396b Add module for real participant
Based on the real participant class (and related) from
"Talkbuchet-cli.py", but with some adjustments, like using kiosk mode,
loading the browser with specific environment variables (which will make
possible to load the browser in a specific display and to send the audio
to a specific device) or preventing any microphone or camera from being
used.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-02-14 10:37:18 +01:00
Daniel Calviño Sánchez ff1fcdc60e Add module to load the configuration
"server.conf.in" is provided as an example file with a description of
all the configurations. Some descriptions were copied from
https://github.com/strukturag/nextcloud-spreed-signaling/blob/v1.0.0/server.conf.in,
which is also licensed under the GNU AGPLv3.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-02-14 10:37:18 +01:00
Daniel Calviño Sánchez c43840900a Add skeleton for Python package
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-02-14 10:37:18 +01:00
Joas Schilling 12e24c4b5e
Merge pull request #8726 from nextcloud/perf/8710/modified-since-support-on-roomlist
"Modified since" support on roomlist
2023-02-14 08:52:10 +01:00
Nextcloud bot 2835b323f9
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-14 03:03:29 +00:00
Marco cf83f5ee4b
Merge pull request #8738 from nextcloud/feature/8339/allow-moderators-to-move-participants
Add participant editor to breakoutroomstab
2023-02-13 18:10:25 +01:00
Marco d18f6f2d84 Improve wording
Signed-off-by: Marco <marcoambrosini@icloud.com>
2023-02-13 16:04:13 +01:00
Marco bbee5b32ce Fix unassign participants
Signed-off-by: Marco <marcoambrosini@icloud.com>
2023-02-13 15:54:02 +01:00
Marco 864da87f2f Call store action and process new participants
Signed-off-by: Marco <marcoambrosini@icloud.com>
2023-02-13 15:21:24 +01:00
Marco 94eddd3092 Close modal after submitting
Signed-off-by: Marco <marcoambrosini@icloud.com>
2023-02-13 15:20:18 +01:00
Marco 374aa0e5cb Add reorganize attendees store action
Signed-off-by: Marco <marcoambrosini@icloud.com>
2023-02-13 14:27:45 +01:00
Marco e834b18a71 Add reorganize attendees service
Signed-off-by: Marco <marcoambrosini@icloud.com>
2023-02-13 14:24:51 +01:00
Marco 5a13e1ac88
Merge pull request #8743 from nextcloud/fix/8363/apply-title-to-reaction-button
Apply title to reaction button
2023-02-13 14:14:34 +01:00
Maksim Sukharev 631db65497
check if participant was already assigned to any room
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2023-02-13 14:05:15 +01:00
Maksim Sukharev 5583cd72be
apply paddings to modal content
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2023-02-13 14:04:30 +01:00
Maksim Sukharev 19dbf2c764
fetch participants if rooms are configured
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2023-02-13 12:40:03 +01:00
Maksim Sukharev eb7407721f
apply title to reaction button
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2023-02-13 11:22:34 +01:00
Nextcloud bot 67088437d2
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-13 03:02:48 +00:00
Joas Schilling 21cba54bef
Merge pull request #8734 from nextcloud/dependabot/composer/firebase/php-jwt-6.4.0
Bump firebase/php-jwt from 6.3.2 to 6.4.0
2023-02-12 20:19:51 +01:00
Joas Schilling 6dfb92579b
Merge pull request #8735 from nextcloud/dependabot/composer/tests/integration/phpunit/phpunit-9.6.3
Bump phpunit/phpunit from 9.6.1 to 9.6.3 in /tests/integration
2023-02-12 20:19:18 +01:00
Joas Schilling 53dbd59150
Merge pull request #8737 from nextcloud/dependabot/composer/vendor-bin/csfixer/friendsofphp/php-cs-fixer-3.14.4
Bump friendsofphp/php-cs-fixer from 3.14.3 to 3.14.4 in /vendor-bin/csfixer
2023-02-12 20:18:32 +01:00
Joas Schilling 3af7b3cfe8
Merge pull request #8740 from nextcloud/automated/noid/master-update-nextcloud-ocp
[master] Update nextcloud/ocp dependency
2023-02-12 20:17:53 +01:00
nextcloud-command 66565b1598 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2023-02-12 03:04:22 +00:00
Nextcloud bot 8e8c0fb052
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-12 03:02:24 +00:00
Marco 45329ea0dd Add participant editor to breakoutroomstab
Signed-off-by: Marco <marcoambrosini@icloud.com>
2023-02-11 15:36:20 +01:00
Marco 9e5e2378d9
Merge pull request #8736 from nextcloud/dependabot/npm_and_yarn/extendable-media-recorder-7.1.3
Bump extendable-media-recorder from 7.1.2 to 7.1.3
2023-02-11 09:09:35 +01:00
dependabot[bot] 2683ac85f5
Bump friendsofphp/php-cs-fixer in /vendor-bin/csfixer
Bumps [friendsofphp/php-cs-fixer](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer) from 3.14.3 to 3.14.4.
- [Release notes](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/releases)
- [Changelog](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.14.3...v3.14.4)

---
updated-dependencies:
- dependency-name: friendsofphp/php-cs-fixer
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-11 04:46:41 +00:00
dependabot[bot] 7777dc0dcb
Bump extendable-media-recorder from 7.1.2 to 7.1.3
Bumps [extendable-media-recorder](https://github.com/chrisguttandin/extendable-media-recorder) from 7.1.2 to 7.1.3.
- [Release notes](https://github.com/chrisguttandin/extendable-media-recorder/releases)
- [Commits](https://github.com/chrisguttandin/extendable-media-recorder/compare/v7.1.2...v7.1.3)

---
updated-dependencies:
- dependency-name: extendable-media-recorder
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-11 04:32:18 +00:00
dependabot[bot] 914d0c9ca1
Bump phpunit/phpunit from 9.6.1 to 9.6.3 in /tests/integration
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.1 to 9.6.3.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/main/ChangeLog-9.6.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.1...9.6.3)

---
updated-dependencies:
- dependency-name: phpunit/phpunit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-11 04:10:12 +00:00
Nextcloud bot f0f1322f84
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-11 03:02:26 +00:00