Commit Graph

1730 Commits

Author SHA1 Message Date
Gustavo Trott
ba647cdd08 Handle Pin Shared Notes in akka-apps 2022-10-28 08:10:23 -03:00
Gustavo Trott
d2d69dd7f9 Removes function clearWhiteboard that is not used anymore 2022-10-26 17:59:09 -03:00
Gustavo Trott
1bd9d57c84 Improves readability 2022-10-26 17:22:17 -03:00
Gustavo Trott
f747b82d47 Improve validation of maxParticipants on akka-apps side 2022-10-26 13:19:16 -03:00
Daniel Petri Rocha
a8587d53b8 Merge branch 'v2.6.x-release' into breakout-upload-ui 2022-10-25 16:13:24 +02:00
Gustavo Trott
e2f9b19afc Merge remote-tracking branch 'upstream/v2.6.x-release' into max-users-improvements 2022-10-24 22:48:38 -03:00
germanocaumo
ce9e53cfe3 fix(tldraw): fix crash on race condition when adding annotion
Sometimes delete and add messages could be received out-of-order in akka, so the page could be saved with an incomplete annotation.
Now we ignore the update message if the annotation does not exists before.
2022-10-24 20:06:22 +00:00
germanocaumo
d3082f3ca0 Merge branch 'v2.6.x-release' of https://github.com/bigbluebutton/bigbluebutton into tldraw-shape-updates 2022-10-24 15:04:00 +00:00
Ramón Souza
8ed142a522 Merge remote-tracking branch 'upstream/v2.5.x-release' into merge-258-26 2022-10-21 14:43:23 -03:00
germanocaumo
835cf4f753 fix(whiteboard): diff shape update + shape permission +
Several improvements to tldraw whiteboard:
 - Only send the shape diff on shape updates (reduce a lot the message traffic)
 - Shape permissions (don't allow others to select/edit unless you are presenter/moderator)
  - This required some changes in akka model
 - Tldraw state patch changes to improve stability with fast updates (fix several crashes)
2022-10-21 14:05:31 +00:00
Gustavo Trott
d97dadaf65 Add validation on poll responses 2022-10-20 09:22:23 -03:00
Daniel Petri Rocha
0a2b4186a2 Merge branch 'v2.6.x-release' into breakout-upload-ui 2022-10-19 19:51:05 +02:00
Daniel Petri Rocha
dd06ce2660 Show UploadingPresentations toast upon breakout notes capture
Displays a "To be uploaded..." toast in the main meeting while the shared notes of breakout rooms are being captured.
2022-10-19 13:36:25 +02:00
Gustavo Trott
ba2aefb5b2
Merge pull request #15840 from gustavotrott/fix-polls-multiple-answers-v26 2022-10-19 08:07:17 -03:00
Gustavo Trott
ddd32b40f0 Validate if user already added a typed answer 2022-10-18 08:10:43 -03:00
Gustavo Trott
80ffb26fff Implements maxUserConcurrentAccesses and change participants count logic 2022-10-17 17:30:53 -03:00
GuiLeme
bc9f24a5fb [backport-pdf-100] - backport of functionality 2022-10-17 17:05:16 -03:00
Gustavo Trott
8dee4bb7b3 Ignore answer if user already responded 2022-10-11 10:07:25 -03:00
Daniel Petri Rocha
f170bdc19b Merge branch 'v2.6.x-release' into capture-shared-notes 2022-10-06 22:38:21 +02:00
GuiLeme
5ca4a92940 [issue-pdf-100-processing] - resolved conflicts 2022-10-06 09:58:42 -03:00
Gustavo Trott
bbe3ca34a8
Merge pull request #15474 from GuiLeme/apply-toast-shared-notes 2022-10-05 12:02:04 -03:00
germanocaumo
3ecf79cc4f fix(whiteboard): only call annotation upsert in one frontend instance
We were calling upsert in the Annotations collection for the same annotation in all frontend instances, this could lead to the same annotation being inserted
multiple times with different ids due to concurrency.

Added the html5InstanceId of the original request to the redis message so we can use it to only call upsert in one instance.
2022-10-04 10:28:36 +00:00
Daniel Petri Rocha
440deff4dc Address SonarCloud code smells 2022-09-29 16:32:49 +02:00
Daniel Petri Rocha
289f4125ec Perform captured pad upload 2022-09-28 19:56:29 +02:00
germanocaumo
d770a7df8c fix(whiteboard): only call annotation upsert in one frontend instance
We were calling upsert in the Annotations collection for the same annotation in all frontend instances, this could lead to the same annotation being inserted
multiple times with different ids due to concurrency.

Added the html5InstanceId of the original request to the redis message so we can use it to only call upsert in one instance.
2022-09-28 12:03:59 +00:00
Daniel Petri Rocha
76b24e1ec3 Route padId to bbb-export-annotations 2022-09-24 22:59:29 +02:00
GuiLeme
633a032fd0 [issue-pdf-100-processing] - implemented retry flow and fixed error message 2022-09-22 16:58:37 -03:00
Daniel Petri Rocha
e23d00004f 'Capture Shared Notes' button in front-end 2022-09-20 17:43:13 +02:00
Daniel Petri Rocha
c84c2e2892 Merge branch 'v2.6.x-release' into breakout-upload-ui 2022-09-19 19:30:18 +02:00
Daniel Petri Rocha
edb2ff39cc Perform upload upon breakout room timeout 2022-09-19 19:22:29 +02:00
Daniel Petri Rocha
e5ed5a4546 Capture slides from breakout rooms upon their end
Sends out the request to export the presentations from the main meeting to each breakout room.
The breakout rooms then generate the PDF file and upload it back to the main meeting.
2022-09-18 15:55:20 +02:00
GuiLeme
39b6359441 [issue-pdf-100-processing] - fix timeout error when PDF is too complex. 2022-09-14 10:33:41 -03:00
Daniel Petri Rocha
41f71981f4 Working checkbox in backend 2022-09-11 20:12:37 +02:00
Anton Georgiev
a17679834f
Merge pull request #15632 from antobinary/build-tweaks-2
fix: JVM apps stopping to differ from failure
2022-09-07 22:02:52 -04:00
Daniel Petri Rocha
f1690247fd Include capture checkbox in bbb-html5 2022-09-05 19:27:38 +02:00
Daniel Petri Rocha
16b3d43f19 Initial back-end wiring for breakout slides capture 2022-09-04 22:34:04 +02:00
GuiLeme
80a381c87c [apply-toast-shared-notes] - resolved conflicts and refactored temporaryPresentationId's name 2022-09-02 15:24:29 -03:00
Anton Georgiev
4ea7bfb6b4 fix: JVM apps stop to differ from failure 2022-09-02 01:59:56 +00:00
Ramón Souza
470f491352
Merge pull request #15583 from germanocaumo/tldraw-viewbox-sync
fix(tldraw): sync viewed area between presenter/viewers +
2022-08-30 17:00:14 -03:00
Ramón Souza
609d43157a Merge tag 'v2.5.5' into merge-2526-aug25 2022-08-25 14:33:44 -03:00
germanocaumo
d609628047 refactor(recording): remove not used event 2022-08-23 18:39:46 +00:00
GuiLeme
d9de398d90 [fix-page-count-exeed] - Forwarded temporaryPresentationId to front-end and refactor it's name 2022-08-22 15:00:27 -03:00
Joao Victor
0d08f226eb fix: send notification messages to appropriate redis channel 2022-08-18 14:34:26 -03:00
Daniel Petri Rocha
d56acd4022 Initial backend+bbb-export-annotations wiring for toast messages 2022-08-16 20:27:40 +02:00
germanocaumo
d4b8bdce7e fix(tldraw): sync viewed area between presenter/viewers +
- Return to the ResizeAndMoveSlide event to do pan&zoom, respecting the viewed width and height ratio
- Defaults zoom in toolbar to 100% like before to be more consistent
- Fit to width and Reset Zoom is back (fit tho width still has some sync problems)
- Fix to not change to first page when presenter reloads page
2022-08-16 12:12:43 +00:00
GuiLeme
491380096e [apply-toast-shared-notes] - changes in review and resolve merge conflict 2022-08-11 15:50:06 -03:00
Gustavo Trott
13308031bb
Merge branch 'v2.6.x-release' into fixPhoneUserLock25 2022-08-04 22:34:57 -03:00
GuiLeme
1e0700b455 [apply-toast-shared-notes] - merge 26 and resolved conflicts 2022-08-03 11:12:55 -03:00
GuiLeme
74caa9cb5f [apply-toast-shared-notes] - Savepoint - Made some changes 2022-08-02 17:25:15 -03:00
Daniel Petri Rocha
3529fe9f28 Rename parameters; hide download button and label when disabled 2022-08-02 15:53:40 +02:00
Daniel Petri Rocha
5dfc9293fb Merge branch 'v2.6.x-release' into pdf-disabledFeatures-tldraw 2022-08-02 12:29:38 +02:00
Gustavo Trott
acb0465266
Merge pull request #15412 from JoVictorNunes/export-presentation 2022-07-26 17:49:09 -03:00
Daniel Petri Rocha
6ac3040d4a Fix multiple pres. export; include PresId in NewPresAnnFileAvailable msg. 2022-07-26 15:19:23 +02:00
Gustavo Trott
59ddf3e8e3 broadcast NewPresAnnFileAvailableMsg to html5 2022-07-20 20:20:32 -03:00
Pedro Beschorner Marin
b52c67d7a7 feat(captions): first pass on recording
Add the main server-side adapter for using the legacy closed captions
recording process with the audio captions data.
2022-07-20 17:20:52 +00:00
Pedro Beschorner Marin
307ab6ea40 feat(captions): add author avatar
Include captions' author avatar at the live feedback to improve identification.
2022-07-20 17:20:50 +00:00
Pedro Beschorner Marin
d32d47168f feat(captions): add transcript settings
Define number of lines and words per line at application.conf.
2022-07-20 17:20:50 +00:00
Pedro Beschorner Marin
f726cb0ad5 refactor(captions): UX improvements
Parse the audio transcript before broadcasting it's content back to the
client and the recording actor. Limiting by 8 words per line and max of
2 lines to avoid CPU intensive operations over this recurring event.

Replace Calibri font family with Verdana to improve character spacing,
add relative sizing to the text content and a background padding.
2022-07-20 17:20:49 +00:00
Pedro Beschorner Marin
1519462f4e feat(captions): use audio's floor
Broadcast the transcript's event based on the voice user's floor state.
2022-07-20 17:20:49 +00:00
Pedro Beschorner Marin
75969ec93c feat(captions): audio captions app
Add a server-side app for the audio captions feature and record proto-events
for this data.

As it is, only behaves as a pass-through module. The idea is to include all
the business intelligence in this app.
2022-07-20 17:20:48 +00:00
Mario Jr
ca6b020f82 fix(audio): prevent dial-in waiting / guest users to speak/listen to the room
Based on the strategy proposed by @schrd in #15163
Also thanks to @jacotec and @maximilianhoecker for the help on investigating

Closes #15163
2022-07-14 13:56:17 -03:00
Mario Jr
3f99413cbb fix(audio): prevent dial-in waiting / guest users to speak/listen to the room
Based on the strategy proposed by @schrd in #15163
Also thanks to @jacotec and @maximilianhoecker for the help on investigating

Closes #15163
2022-07-14 09:04:48 -03:00
Daniel Petri Rocha
5f98290413 Add presentationWithAnnotationDownload, exportPresentationWithAnnotation to disabledFeatures 2022-07-12 18:58:56 +02:00
Anton Georgiev
da474130d9 build: akka apps + fsesl as part of bigbluebutton.target 2022-07-07 00:00:35 +00:00
Anton Georgiev
4595b6688f
Merge pull request #15244 from germanocaumo/tldraw-recording
fix(whiteboard): tldraw recording processing/publishing
2022-07-05 08:55:01 -04:00
Gustavo Trott
502523a048
Merge pull request #14562 from danielpetri1/container-approach 2022-06-30 11:33:47 -03:00
germanocaumo
c2db91b5f9 Merge branch 'v2.6.x-release' of https://github.com/bigbluebutton/bigbluebutton into tldraw-recording 2022-06-30 14:31:08 +00:00
Paulo Lanzarin
885e0ca72c
Merge pull request #15281 from prlanzarin/u26/fix/sxs-callerId
feat: add user name to checkAuthorization response, [...]
2022-06-29 15:40:42 -03:00
Daniel Petri Rocha
27edc515a4 Merge remote-tracking branch 'upstream/v2.6.x-release' into container-approach 2022-06-29 19:41:34 +02:00
prlanzarin
a8c689c8c3 refactor: remove akka-bbb-transcode leftovers
Follow up to the cleanup done in 143d9bbe87
2022-06-29 17:24:56 +00:00
prlanzarin
eeed5ce208 fix: add ban status to SFU audio permission check
The UserJoinedVoice* event handler checks whether the caller is banned
and ejects them. That's valid for both SIP.js and SFU-based audio
flows, but for the latter there's a specific pre-flight permission check
as well.

This adds that same ban check to the pre-flight permission probe so that
calls are rejected earlier.
2022-06-28 20:33:37 +00:00
germanocaumo
853d0dfd9b fix(whiteboard): tldraw recording processing/publishing
Changed the names of tldraw record events to differentiate from before.
Publish tldraw.json file with all shape information during the meeting to be used in playback.
Adapted cursor.xml and panzoom.xml to store tldraw data.
Publish slides svgs to be used by playback's tldraw component (otherwise we have different image sizes in pngs and thus messing the coordinates).
Retro-compatible with old recordings.
2022-06-23 17:04:09 +00:00
prlanzarin
e1644a9fa9 fix(screenshare): remove userLeftFlag from permission checks
If the user is in akka-apps' user cache (which means they are still
visible in the user list) and triggers a screenshare re-connect, the
re-connect should be allowed to minimize outages.

If the user indeeds fails to be reconnected to the whole system, then
the screen sharing sessions will be ejected when the user is
completely ejected from the system.
2022-06-22 23:13:55 +00:00
prlanzarin
14b1c818b1 fix(webcam): remove userLeftFlag from permission checks
If the user is in akka-apps' user cache (which means they are still
visible in the user list) and triggers a camera re-connect, the
re-connect should be allowed to minimize outages.

If the user indeeds fails to be reconnected to the whole system, then
the camera sessions will be ejected when the user is completely ejected
from the system.
2022-06-22 23:13:54 +00:00
prlanzarin
6e19eb55c7 fix(audio): decouple mic auth RPCs from global audio (SFU)
The SFU microphone module was using global audio authentication RPCs in
akka-apps to determine whether a mic connection is valid.

Fixes an issue where SFU microphone connections wouldn't take lock
settings in account in the permission checks.

In detail: decouple them by adding GetMicrophonePermissionReqMsg and
RespMsg. Allows flexibility on which conditionals to use in both. IMO it
is also better than renaming+adding a boolean to GetGlobalAudioPermission*
due to the fact that it gets easier to guarantee backwards compatibility
between SFU and BBB (ie SFU 2.9 keeps working on 2.4, 2.5).
2022-06-22 23:12:56 +00:00
prlanzarin
a1988dbe76 fix(audio): remove userLeftFlag from global audio permission check
If the user is in akka-apps' user cache (which means they are still
visible in the user list) and triggers an audio re-connect, the
re-connect should be allowed.

If the user indeeds fails to be reconnected to the whole system, then
the audio session will be ejected when the user is completely ejected
from the system.
2022-06-22 20:49:39 +00:00
Ramon Souza
edeb70de0d Merge tag 'v2.5.1' into merge25-26-jun16 2022-06-16 13:58:54 -03:00
Daniel Petri Rocha
5f325ad134 Refactor Scala: immutability, no returns, recursion instead of loops 2022-06-15 15:11:39 +02:00
GuiLeme
4e2f013fa0 fix user removal in breakout 2022-06-08 15:00:40 -03:00
Daniel Petri Rocha
1d0d4db2a7 Merge branch 'v2.6.x-release' into tldraw-with-annotation-export 2022-06-07 12:55:29 +02:00
Ramón Souza
f6b190aaa8
Merge pull request #15078 from lfzawacki/develop-layout
fix(layout): Fix propagation bugs and allow moderators to set the pushLayout flag
2022-06-02 19:48:07 +01:00
germanocaumo
07a3a915c0 feat(whiteboard): poll result, zoom fit slide +
- Poll result as text shape in the lower right-hand
- Include all tldraw shape bounds as size in akka (to help Daniel rendering in pdf export)
- Default/initital zoom will be centered in the slide and maximize the size according to the presentation area
- Also limited the max zoom out to be the one that fits the slide, to be similar as we had before
2022-05-31 19:40:31 +00:00
Lucas Zawacki
cd13446c5a fix(layout): Moderators could not change layout if pushLayout was true 2022-05-24 17:31:35 -03:00
Tainan Felipe
3ae69643b2 Make sure that user is a chat participant when send a message 2022-05-24 17:08:56 -03:00
Ramon Souza
5bddbdb4cf adjustments 2022-05-17 09:39:15 -03:00
Daniel Petri Rocha
7aa4de0096 Modify PresentationPageForExport parameters due to tldraw panzoom handling 2022-05-15 22:24:06 +02:00
Daniel Petri Rocha
c9b9ab65ef Merge branch 'export-annotations' into tldraw-with-annotation-export 2022-05-15 21:47:06 +02:00
KDSBrowne
632bac1ebc Merge branch 'develop' of https://github.com/bigbluebutton/bigbluebutton into 2.6-bbb-tldraw 2022-05-15 14:02:22 +00:00
Anton Georgiev
c4874398f6 chore: Merge 2.5.0-rc.2 into develop 2022-05-13 21:03:34 +00:00
Ramon Souza
3800065380 remove chat name 2022-05-13 17:44:41 -03:00
KDSBrowne
10adb3e097 remove merge comment 2022-05-13 12:14:01 +00:00
germanocaumo
45febec644 panAndZoom through akka + some cleanup 2022-05-13 02:47:41 +00:00
germanocaumo
234b2869e5 WIP: tldraw in akka-model & starting cleanup 2022-05-13 02:47:39 +00:00
Daniel Petri Rocha
48f05962a0 Add sequence number to exported PDFs 2022-05-04 18:45:04 +02:00
Daniel Petri Rocha
19bbb4115d Refactor handlers, role validation 2022-04-30 23:28:11 +02:00
Guilherme Pereira Leme
31eef0bdd3
Changes in review
Co-authored-by: Paulo Lanzarin <4529051+prlanzarin@users.noreply.github.com>
2022-04-29 17:24:31 -03:00
Daniel Petri Rocha
7851d54484 PDF file: include meeting and room name 2022-04-29 13:50:42 +02:00
Guilherme Leme
0a384a1331 [issue-9789] - Created the event startConfiguration to store the initial state of WebcamsOnlyForModerator property 2022-04-28 15:59:12 -03:00
Lucas
2db9a1b343
Merge branch 'develop' into develop-bbb 2022-04-26 15:08:43 -03:00
Arthurk12
cff605e996 feat(webcam): pin multiple cameras simultaneously
Adds support for multiple cameras pins.
The pinned cameras are stored in a FIFO-type queue
When a camera is pinned the oldest one is removed.
The queue size can be set via create parameter 'maxPinnedCameras',
if not defaults to 3.
2022-04-18 20:17:58 +00:00