63 Commits

Author SHA1 Message Date
9ac1d09b7d fix(settings): Change the talk hash when updating attachment location
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-06-02 10:01:26 +02:00
30444b4c8c refactor(openapi): Better integer types for call recording and mention permissions
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-02-19 13:59:55 +01:00
7b94e06d28 fix(call): Enable call summary by default
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-11-20 14:33:52 +01:00
eea4e083a5 fix(call): Add warning to AI summary and transcript
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-11-20 14:32:21 +01:00
384c5560f4 feat(AI-call-summary): Automatically summarize call transcript
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-11-20 09:58:56 +01:00
d64a3c2e9c feat: transcripts are now avaliable as .md files
Signed-off-by: skalidindi53 <s.teja2004@gmail.com>
2024-06-13 11:04:56 -05:00
90747202dc fix(recording): Handle the problem gracefully when the recording can not be uploaded
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-05-10 12:32:11 +02:00
b2d9bf1fa9 chore: keep the earliest creation year in SPDX Copyright
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2024-04-26 18:09:27 +02:00
1ccbf67da2 chore: Run SPDX convertor
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-04-26 13:02:15 +02:00
89e49e43bd fix(chat): Also use constants on incoming data detection
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-03-27 18:14:13 +01:00
e0f1906f8d fix(CS): Prepare coding standard update
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-02-01 15:21:14 +01:00
14d8bac743 fix(attachments): Don't allow selecting shared folders as attachment folder
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-01-22 14:10:53 +01:00
4d292fe959 feat(recording): Recording consent API - Version 2
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-10-06 14:37:24 +02:00
5f194659e9 feat(recording): Add API for recording consent MVP level
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-10-06 13:16:47 +02:00
6c062433c5 fix(recording): Fix transcription opt-in
Signed-off-by: Joas Schilling <213943+nickvergessen@users.noreply.github.com>
2023-08-02 08:57:06 +02:00
e5d0d55be2 feat(recording): Make automatic call recording transcription opt-in
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-07-12 15:06:42 +02:00
585f1aba26 Avoid out-of-memory errors by using a resource instead of loading entire files into memory
Signed-off-by: Elmer Miroslav Mosher Golovin <miroslav@mishamosher.com>
2023-04-26 16:39:25 +03:00
46251c9042 fix(notifications): Remove duplicate call to markProcessed() with recordings and transcripts
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-04-24 11:55:36 +02:00
b0e5a566ff fix(CS): Automatic fix of coding style
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-04-20 16:37:03 +02:00
e5eaa04728 fix(recording): Add context support to only generate notifications for talk transcripts
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-04-20 14:44:50 +02:00
760f6b657e feat(recording): Add an integration test to proof notifications are deleted on sharing
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-04-20 14:44:49 +02:00
832ca68b00 feat(recording): Automatically generate transcripts of call recordings when possible
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-04-20 14:44:49 +02:00
788fd58bed fix(recording): Type strictness
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-04-18 11:49:15 +02:00
16070288ad Change type of notification
Change type of notification
Add the new type to be deleted

Signed-off-by: Vitor Mattos <vitor@php.rio>
2023-02-27 20:36:19 -03:00
ad76861386 Send notification when get upload problem
Signed-off-by: Vitor Mattos <vitor@php.rio>
2023-02-24 17:12:34 -03:00
03735df988 Return error when trying to stop an unknown recording
The Nextcloud server expects a notification to be sent by the recording
server once a recording is stopped. However, if the recording server
does not know about certain recording the Nextcloud server did not
change the recording status, and the recording was kept active (even if
it was not).

To solve that now the recording server returns a 404 when trying to stop
an unknown recording (although not if the recording is being stopped),
and in that case the Nextcloud server updates the recording status to
"failed".

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-02-22 13:09:27 +01:00
eca3161d24 Add failed status to recordings
Although recordings should not fail in some cases they could (for
example, if the configuration is wrong, the disk is full...). A new
recording status, "failed", has been added to notify that situation to
the Nextcloud server from the recording server.

Typically call participants will not be able to do anything about the
failure, so the clients can just show a notification to the moderators
and hint about asking the system administrators.

In any case, even if the recording status is "failed" further recordings
can be started, which will behave as if the recording was started from
the "none" status.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-02-22 13:09:26 +01:00
058be5c297 Add "starting" values for recording status
As starting the recording can take some time "starting" values were
added to signal that an audio or video recording is starting. The
status will be changed from NONE to STARTING_VIDEO/AUDIO by the
Nextcloud server when the request to start the recording succeeds, and
then the recording status will be set to VIDEO or AUDIO by the recording
server once the recording actually started.

Stopping the recording, on the other hand, should be quite fast, so no
STOPPING status were added.

The system messages were also adjusted to be sent only once the
recording really started or stopped.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-02-22 13:09:26 +01:00
87b20311b0 Include participant in start/stop requests to the recording server
The participant will be in turn forwarded again to the Nextcloud server
once notified that the recording started or stopped so it retains the
proper participant (for example, in system messages) rather than using
the recording server.

The actor is optional when stopping the recording, as the recording
could be implicitly stopped when the last participant leaves the call.
Nevertheless, this causes the system message to be assigned to a guest
(as the request comes from the recording server), which is unexpected,
so this may need to be adjusted.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-02-22 13:09:26 +01:00
24bb1cf20f Change recording status when notified by the recording server
Before the recording status was immediately changed by the Nextcloud
server when a recording was started or stopped. However starting or
stopping (but mostly starting) can take some time due to the
initialization of the display and audio device, starting the browser,
joining the call... so the recording status did not match the actual
status.

To address that now the recording server sends a notification back to
the Nextcloud server when the recording actually started or stopped, and
only then the Nextcloud server changes the recording status.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2023-02-22 02:41:25 +01:00
e0d4e7a70d Change notification object type for better handling in mobile clients
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-02-21 10:20:29 +01:00
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
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
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
bfee410ec6 Merge pull request #8550 from nextcloud/feature/notify-recording-stored
Notify recording stored
2023-01-24 16:35:00 +01:00
cca8617cd7 Log the exception
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-01-24 15:21:46 +01:00
9f1d38b098 Fixes after code review
https://github.com/nextcloud/spreed/pull/8550#discussion_r1084214748
https://github.com/nextcloud/spreed/pull/8550#discussion_r1084202960
https://github.com/nextcloud/spreed/pull/8550#discussion_r1084201311

Signed-off-by: Vitor Mattos <vitor@php.rio>
2023-01-23 13:33:36 -03:00
2a1d71c3f8 Notify always
https://github.com/nextcloud/spreed/pull/8550#discussion_r1084194777

Signed-off-by: Vitor Mattos <vitor@php.rio>
2023-01-23 13:17:35 -03:00
b781a2f737 Don't throw/error when the recording was stopped in parallel
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-01-20 06:53:48 +01:00
e529b71aa0 Fix share id
Signed-off-by: Vitor Mattos <vitor@php.rio>
2023-01-18 18:26:33 -03:00
cb967754ab Fixes to share stored recording
Signed-off-by: Vitor Mattos <vitor@php.rio>
2023-01-18 16:55:00 -03:00
4cc5f43b56 Move dismiss stored notification to specific endpoint
Signed-off-by: Vitor Mattos <vitor@php.rio>
2023-01-17 15:24:18 -03:00
13eff2db46 Fix share file to room
Signed-off-by: Vitor Mattos <vitor@php.rio>
2023-01-17 15:17:45 -03:00
71aa1692c5 Refactors after code review
Signed-off-by: Vitor Mattos <vitor@php.rio>
2023-01-14 10:02:23 -03:00
2a12d6037a Parse stored recording notification
Signed-off-by: Vitor Mattos <vitor@php.rio>
2023-01-14 10:02:23 -03:00
2382c9a33e Notify recording stored
Signed-off-by: Vitor Mattos <vitor@php.rio>
2023-01-14 10:02:16 -03:00
6d98e54077 Use PHP8 constructor promotion
Close #8522

Signed-off-by: Vitor Mattos <vitor@php.rio>
2023-01-05 13:53:14 -03:00
c08f92ead5 Remove redundant "recording" at name of methods
Signed-off-by: Vitor Mattos <vitor@php.rio>
2023-01-04 16:09:17 -03:00
d96fb4431b Move methods of Recording from RoomService to RecordingService
Signed-off-by: Vitor Mattos <vitor@php.rio>
2023-01-04 16:02:27 -03:00
0d3a83b7e9 Fixes after code review
Signed-off-by: Vitor Mattos <vitor@php.rio>
2023-01-04 11:02:21 -03:00