Commit Graph

2963 Commits

Author SHA1 Message Date
GuiLeme
08f1b5832d [issue-18449] - changes in review 2023-08-15 10:30:17 -03:00
Paul Trudel
e615233ae8 Removed addSlidePositionsPubMsg 2023-08-11 18:11:18 +00:00
GuiLeme
a1746da6fe [issue-18449] - added possibility of download original presentation with original format 2023-08-10 12:18:59 -03:00
Ramón Souza
866c40f84f Merge remote-tracking branch 'upstream/v2.6.x-release' into 2627-aug10 2023-08-10 11:49:01 -03:00
prlanzarin
b8a1b881c5 fix(audio): clear connection timeout on autoplay failures
If the autoplay block is triggered in listen only, the connection timer
keeps ticking even if the user correctly accepts the audio play prompt.
That causes an audio re-connect once the timeout expires.

Clear the connection timer if the audio bridge starts with
NotAllowedError as a soft error. For connection purposes, the audio join
procedure worked. The autoplay thing is at the UI/UX level, not WebRTC.
2023-08-09 11:09:27 -03:00
Gustavo Trott
eaf86b37a8 Fix: Unable to choose same reaction twice in a row 2023-08-08 11:32:52 -03:00
prlanzarin
8feb934169 feat(audio): add experimental transparent listen only mode
This is an initial, experimental implementation of the feature proposed in
https://github.com/bigbluebutton/bigbluebutton/issues/14021.

The intention is to phase out the explicit listen only mode with two
overarching goals:
  - Reduce UX friction and increase familiarity: the existence of a separate
  listen only mode is a source of confusion for the majority of users
  Reduce average server-side CPU usage while also making it possible for
  having full audio-only meetings.

The proof-of-concept works based on the assumption that a "many
concurrent active talkers" scenario is both rare and not useful. With
that in mind, this including two server-side triggers:
 - On microphone inactivity (currently mute action that is sustained for
   4 seconds, configurable): FreeSWITCH channels are held (which translates
   to much lower CPU usage, virtually 0%). Receiving channels are switched,
   server side, to a listening mode (SFU, mediasoup).
   * This required an extension to mediasoup two allow re-assigning producers
     to already established consumers. No re-negotiation is done.
 - On microphone activity (currently unmute action, immediate):
   FreeSWITCH channels are unheld, listening mode is deactivated and the
   mute state is updated accordingly (in this order).

This is *off by default*. It needs to be enabled in two places:
  - `/etc/bigbluebutton/bbb-webrtc-sfu/production.yml` ->
    `transparentListenOnly: true`
  - End users:
    * Server wide: `/etc/bigbluebutton/bbb-html5.yml` ->
      `public.media.transparentListenOnly: true`
    * Per user: `userdata-bbb_transparent_listen_only=true`
2023-08-07 19:43:18 -03:00
Gustavo Trott
5d94bfd8b0
Merge pull request #18404 from paultrudel/migrate-slide-positions
refactor (graphql-server): Migrate slide-positions data
2023-08-04 22:27:41 -03:00
Gustavo Trott
baba92cb0f Merge 2.7 into Develop 2023-08-04 16:47:23 -03:00
Paul Trudel
6ba58c3c86 Move size scale calculation to Postgres 2023-08-03 20:14:38 +00:00
Paul Trudel
5f9545997c Only update slide data for a single slide 2023-08-03 15:40:10 +00:00
Paul Trudel
2874a41e32 Removed slideId column from presPage table 2023-08-03 12:50:20 +00:00
Daniel Molkentin
fa5aa182fe fix: do not escape text twice
The refactoring in 838accf015 incorrectly
replaced the wrong parseMessage function in addBulkGroupChatMsgs.js

This bug is only triggered when the option public.chat.bufferChatInsertsMs != 0.
2023-08-02 18:48:22 +02:00
prlanzarin
a8e4e876d0 fix(audio): add connection timers for SFU audio
SFU based audio is missing connection timers, which means the join
procedure can go on indefinitely in a couple of scenarios.

Refactor the connection timers added for re-connections in the SFU audio
bridge and make them valid for the first try as well.

Make 1010 errors (connection timeout) retriable when retryThroughRelay
is enabled.
2023-07-31 11:39:52 -03:00
prlanzarin
7c3ac51e38 feat(audio): add retryThroughRelay flag for 1007 errors
1007 errors are still a large fraction of our overall audio join error
rate. This usually indicates some sort of firewall block or UDP issues
carrier networks. I can't figure out why some scenarios won't trickle
down to relay candidates though - I'm leaning to scenarios where STUN
packets with USE-CANDIDATE are being mangled/lost along the way or
something else that borks the (already fragile) conn checks for ICE-lite
implementations.

Add a new feature called retryThroughRelay which triggers a retry with
iceTransportPolicy=relay whenever audio fails to join with a 1007 error.
The goal is to force relay usage to try and bypass 1007s scenarios that
still happen.

Disabled by default.
2023-07-31 11:39:45 -03:00
Gustavo Trott
3758dd89e2 Merge 2.7 into Develop 2023-07-31 11:24:25 -03:00
Paul Trudel
14775e32eb Store page resize in postgres 2023-07-28 18:01:53 +00:00
Paul Trudel
8373eefdc3 Store slide position data in postgres 2023-07-27 19:10:51 +00:00
Anton Georgiev
7be38fd876 Merge remote-tracking branch 'bbb/v2.6.x-release' into merge-july26 2023-07-26 22:27:55 -04:00
Tainan Felipe
838accf015 Improve text sanitizing of lobby messages 2023-07-26 16:12:39 -03:00
Paul Trudel
ec9deb1e67 Added podId, width, and height, columns to postgres 2023-07-26 13:53:15 +00:00
Gustavo Trott
c74a7ff90e Add required props to dial-in users 2023-07-25 15:23:57 -03:00
Gustavo Trott
185e48d36c Merge remote-tracking branch 'upstream/v2.7.x-release' into develop 2023-07-21 17:17:52 -03:00
Gustavo Trott
762ae78814 Implements func to Clear all users reaction 2023-07-21 11:10:10 -03:00
Tainan Felipe
f2e0fd43e9
Refactor: Make all chat area use graphql (#18122)
* Refactor: Make all chat area use graphql

* Fix: large space between welcome msg and chat list

* Fix: missing file

* add pending status and fix system messages

* Add: mark messages as seen in chat

* Refactor: Move char opening logic to inside of chat panel

* Refactor message and mark as seen

* Add Recharts to package.json and fix miss data

* Implements clear-chat function on graphql

* Make system message sticky

* Add clear message support and fix user is typing

* FIx chat unread and scroll not following the tail

* Change: make unread messages be marked by message and fix throttle

* Don't show restore welcome message when the welcome message isn't set

* Fix: scroll not following the tail properly

* Fix: previous page last sender not working

* Fix: scroll loading all messages

* Fix messaga not marked as read

---------

Co-authored-by: Gustavo Trott <gustavo@trott.com.br>
2023-07-07 17:46:36 -03:00
Ramón Souza
26bd960ba2 fix unlock shared notes 2023-07-04 09:50:53 -03:00
Gustavo Trott
c8867fadb5
Merge pull request #18197 from Scroody/I-18127
Allow dynamic control on moderators invitation for breakouts
2023-06-29 13:39:26 -03:00
Ramón Souza
af670883c1 remove unused code 2023-06-22 15:35:40 -03:00
Ramón Souza
ae1e6079e1 rename includeMods -> sendInviteToModerators 2023-06-22 13:55:23 -03:00
Gustavo Trott
6ba4aad05a
Merge branch 'v2.7.x-release' into user-raiseHand-away-flags 2023-06-22 08:27:20 -03:00
Anton Georgiev
43b96b47c4
Merge pull request #17724 from lfzawacki/v2.7.x-release
feat: Implement automatic closed captions using an open transcription server
2023-06-22 05:25:14 -04:00
Ramón Souza
96a2484876 additional client-side changes 2023-06-21 16:49:38 -03:00
Anton Georgiev
a962a44c74 Merge branch 'v2.6.x-release' of github.com:bigbluebutton/bigbluebutton into june14merge 2023-06-14 10:07:54 -04:00
Anton Georgiev
c8b0437df3
Merge pull request #18133 from GuiLeme/port-timer-with-events-suggestions
feat(timer): Port timer (Mconf) with events suggestions
2023-06-08 15:56:10 -04:00
GuiLeme
2cf46e4d05 [port-timer-with-events-suggestions] - made review suggestions 2023-06-08 16:37:32 -03:00
Gustavo Trott
8263dd17ca Introduces flags user.away and user.raiseHand 2023-06-07 22:10:07 -03:00
Ramón Souza
22b02ead28 Merge remote-tracking branch 'upstream/v2.7.x-release' into 16120 2023-06-06 08:45:29 -03:00
danielpetri1
ffeb8c3acb Allow multiple MIME types per extension 2023-06-06 10:08:14 +00:00
Arthurk12
d6095a2da2 fix(timer): misleading function name 2023-06-02 09:12:44 -03:00
Paulo Lanzarin
0e8dc2a0cc
Merge pull request #17847 from prlanzarin/u27/feat/fullaudio-bridge-userdata
feat(audio): add userdata-bbb_fullaudio_bridge
2023-05-31 17:07:57 -03:00
prlanzarin
80414a9cc4 feat(audio): add userdata-bbb_fullaudio_bridge
Allows controlling which audio bridge should be used, per user
2023-05-31 17:07:10 -03:00
prlanzarin
f4a761cea4 Merge remote-tracking branch 'origin/v2.7.x-release' into u27/fix/screenshare-audio-output 2023-05-31 11:06:49 -03:00
Paulo Lanzarin
5447666c15
Merge branch 'v2.7.x-release' into port-timer 2023-05-26 10:33:38 -03:00
Paulo Lanzarin
171c7a6587
Merge branch 'v2.7.x-release' into v2.7.x-release 2023-05-26 09:27:14 -03:00
Anton Georgiev
4948731fe7
Merge pull request #17764 from lfzawacki/reactions-port
feat: Port Mconf Reactions into BBB 2.7
2023-05-26 08:05:02 -04:00
Anton Georgiev
1a1f442d5a
Merge pull request #17746 from Carloshsc/port-present-webcam-27
feat(camera as content): present webcam
2023-05-26 08:01:40 -04:00
prlanzarin
7c77fc7433 Merge remote-tracking branch 'origin/v2.7.x-release' into reactions-port 2023-05-25 19:54:01 -03:00
Arthurk12
461be7a7fc fix(reactions): method call
Update method call to the unified one(setUserReaction) and include the userID
parameter, so it can be used by mods to clear others status as well.
2023-05-25 17:42:02 -03:00
Arthurk12
196d2c1e0a feat(reactions): sync expiration with akka
Currently, the reactions are cleared on mongo based on the expire time.
So to sync its state with akka, an observer is atattched to the user
reactions collection and whenever a reaction is removed because of the
expiration time, akka is notified with message 'UserReactionTimeExpiredCmdMsg'.
2023-05-25 17:32:27 -03:00
prlanzarin
636ab74826 fix(screenshare): adjustments to make output device switching work 2023-05-24 11:40:32 -03:00
Arthurk12
3efdbd9012 feat(reactions): add akka messages to clear all emojis status
Adds two new messages which clear the users emoji statuses. This messages
enables this task to be done in a single call, instead of triggering one
method call for each user.
'ClearAllUsersEmojiCmdMsg' is sent from meteor to akka and updates all the
emoji states in the users model.
'ClearedAllUsersEmojiEvtMsg' is sent from akka to meteor. This triggers the
 mongo collection update.
2023-05-24 10:49:42 -03:00
Scroody
08a0226b59 Fix: Send to chat presentation not having unread notification 2023-05-19 10:54:29 -03:00
Arthurk12
f13217607e feat(timer): add model and messages to akka apps
This commit makes the messages of the timer feature to be proxied by
akka-apps and also adds a timer model that is updated based on these
messages.
Moving the timer panel opening logic to the timer button component in
the navigation panel was a consequence of these changes.
2023-05-18 15:29:42 -03:00
AtilaU19
7a6e457f5d refactor(timer): updateTimer fuction argument list
Replacement of the list of arguments of the update Timer function in an object and adequacy of its calls in the functions when necessary.
2023-05-18 15:29:39 -03:00
Arthurk12
02a6feb1c8 fix(timer): change users count threshold
Changes the timer auto-stop threshold from 90% to 100% of user count
to prioritize the timer alert sounding for all users over the timer state
being consistent.

Also, puts the user count fetch back to where it was to avoid a race
condition where the number of users when setting the observer is
different than when the timer ends(i.e. users've joined or left the
meeting while the timer was running) causing the timer not to stop or
stop prematurely.
2023-05-18 15:29:39 -03:00
Arthurk12
6628296471 fix(timer): wrong attribute to get users count
There was a legacy attribute being used to find active users in the meeting.
This wrong attribute caused the returned number of users to be 0 which
makes the timer stop prematurely and, possibly, not to issue the timer beep.

Also adds a missing argument to updateTimer and moves the find call to
the Users collection to a external function, so it doesn't get executed
every time an user notifies timer has ended.
2023-05-18 15:29:38 -03:00
AtilaU19
a694595275 feat(timer): added requestedUserId and Action logs 2023-05-18 15:29:38 -03:00
Arthurk12
f5a5a960ba feat(timer): adds more songs
Adds 2 more songs to the timer, which can be switched using the radio
buttons inside timer panel.
Changed the music loop logic to make it gapless.
2023-05-18 15:29:35 -03:00
Arthur B. Grossi
17aa3d7177 Requested changes
Filters users collection by 'online' connection status and describes when/how
server detects that the timer has ended to automatically stop it.
Also, fixed a corner case that when timer alarm was disabled, clients didn't
notify that the timer ended.
2023-05-18 15:29:35 -03:00
Arthur B. Grossi
dbbef569a9 fix(timer): autoplay
When user enters meeting with music already playing, an event listener is set
to play the music only after user interaction.
Also, to keep timer more cohesive and reduce complexity of the condition for
playing music, timer automatically stops after 90% of users notify that the
timer has expired.
2023-05-18 15:29:34 -03:00
Arthur B. Grossi
cc61652aa3 feat(timer): ambient music
Adds a music player for ambient sound which can be turned on and off using a
toggle located inside timer panel. When stopwatch is selected, this toggle is
automattically turned off.
2023-05-18 15:29:34 -03:00
Pedro Beschorner Marin
c040db8f58 Fix alarm when deactivated 2023-05-18 15:29:32 -03:00
Pedro Beschorner Marin
2f104eafc8 Syncing time offset between client and server 2023-05-18 15:29:32 -03:00
Pedro Beschorner Marin
f4a5421843 Add timer view 2023-05-18 15:29:31 -03:00
Pedro Beschorner Marin
5463a4a423 Stopwatch handlers 2023-05-18 15:29:31 -03:00
Arthurk12
953a3d3548 Timer first commit 2023-05-18 15:29:31 -03:00
GuiLeme
1b26302745 [issue-17531] - merge upstream/v2.7.x-release 2023-05-16 15:30:15 -03:00
Anton Georgiev
510c94cfa7 Merge branch 'v2.6.x-release' of github.com:bigbluebutton/bigbluebutton into may16-merge 2023-05-16 13:35:47 -04:00
Ramón Souza
dcef3e3d7b
Merge pull request #17845 from ramonlsouza/issue-17839
fix: ignore restore on update for first load of initial presentation
2023-05-15 13:41:27 -03:00
Anton Georgiev
4e851a7571 Merge branch 'v2.6.x-release' of github.com:bigbluebutton/bigbluebutton into merge-267-27 2023-05-15 11:51:17 -04:00
GuiLeme
89eafc6315 [issue-17531] - changes in review 2023-05-12 12:40:07 -03:00
Anton Georgiev
1c9ba032a6
Merge pull request #17554 from AtilaU19/reconection-fixes
fix: overlapping screen end alerts and invisible cameras on reconnections
2023-05-11 17:15:12 -04:00
GuiLeme
4c2806a018 [issue-17531] - changes in review and ES-lint fixes 2023-05-11 18:06:48 -03:00
Arthurk12
7697367335 feat(screenshare): make component generic
Turns the screenshare component into a generic component, so that it can be
used both for screenshare and camera as content fetures.
Also changes specific locales and icons for the camera as content feature.
2023-05-09 17:21:47 -03:00
Arthurk12
e902f2ee27 feat(screenshare): add contentType field
This commit adds a contentType field in the back-end components of the
screenshare feature in order to accomodate the new 'camera as content'
feature.
2023-05-09 17:21:47 -03:00
GuiLeme
d2c5b33eec [issue-17839] - back-end part for hide_presentation_on_join issue 2023-05-09 12:01:55 -03:00
Anton Georgiev
c8342ce5ac
Merge pull request #17821 from antobinary/meteor-timeout-part-2
refactor: ensure setTimeout and clearTimeout run within Fiber
2023-05-08 16:23:19 -04:00
Anton Georgiev
1340265d26
Update bigbluebutton-html5/imports/api/users/server/handlers/validateAuthToken.js 2023-05-08 09:05:13 -04:00
Anton Georgiev
1746c9376f refactor: add userId and authToken for each PendingAuth 2023-05-05 16:01:07 -04:00
Anton Georgiev
340f727b0f refactor: ensure setTimeout and clearTimeout run within Fiber 2023-05-05 15:39:27 -04:00
Anton Georgiev
f51205a119 refactor: adding logs for closing the connection due to invalid user 2023-05-05 15:28:21 -04:00
Paul Trudel
cdfe54bc56 Use meteor.setTimeout to keep call inside fiber 2023-05-05 15:26:56 +00:00
GuiLeme
90078aedc7 [issue-17531] - resolve conflicts with 2.7 2023-05-04 08:56:27 -03:00
GuiLeme
f650ade561 [issue-17531] - prevent user from exporting annotations when there is no annotation 2023-05-04 08:48:32 -03:00
Tainan Felipe
66052802c0 Fix: duplicate messages when start a new chat 2023-05-03 17:14:05 -03:00
GuiLeme
f03c01399f [issue-17531] - added ConvertedPresentationName to be referenced when getting the link to downloading the original file 2023-05-02 11:14:40 -03:00
Lucas Zawacki
f81652a4dd feature(reactions): Unify reaction messages with emoji status and pass it through akka 2023-04-28 11:47:15 -03:00
Max Franke
fbcc611bd9 feat(interactions): add new interactions button
Interactions button is a button that stays in action bar.
Integrates several features in just one place: user-reaction, raise hand,
user-status (away/not away), toggle question panel.
2023-04-27 13:57:40 -03:00
Max Franke
d28b93a586 feat(reactions): add user reaction
add user-reaction collection
add emoji picker for user reaction in the user list
add options to enable/disable user-reaction
add a way to pass style to emoji-picker component
2023-04-27 11:54:11 -03:00
Lucas Zawacki
894bd3e126 fix(transcription): Don't set webspeech provider for transcription-controller 2023-04-25 10:25:35 -03:00
Arthurk12
3b871e5ca2 fix(captions): "not supported" in chrome
Fixes a case where the locale selector don't show up in Chrome when using
'webspeech' provider.
And adds missing fields to the webspeech transcription messages, after the
addition of some new parameters to those messages with the open
transcription server.
2023-04-25 10:25:20 -03:00
prlanzarin
54b6578b03 fix(audio): forcefully disable stereo when using Vosk transcription
The current Vosk CC provider does not support stereo mic streams
(pending investigation as to why).

This commits makes sure stereo is forcefully disabled via SDP munging
only when transcription is active and using Vosk. Having it disabled
in the server side (FreeSWITCH) is not enough because the stereo parameter
is client mandated and replicated by FS on its answer. So we need to
make sure it's always disabled for the time being.
SFU audio does munging server side (and stereo is always off), so no changes
needed there.

The rest of the providers (except WebSpeech) need to be validated against
stereo audio as well.
This is also intended to be temporary - ideally this needs to be fixed in
mod_audio_fork/Vosk/wherever this is breaking.
2023-04-25 10:10:39 -03:00
Lucas Fialho Zawacki
4400cc68c8 feat(captions): Add SetUserSpeechLocaleMsg files 2023-04-25 10:05:16 -03:00
Lucas Fialho Zawacki
fee6ff026a feat(captions): Use setUserSpeechLocale as an akka event and catch it in the transcription manager 2023-04-25 09:54:34 -03:00
Ramón Souza
af8556e026 Merge remote-tracking branch 'upstream/v2.6.x-release' into 26-27-apr24 2023-04-24 17:15:47 -03:00
GuiLeme
6e05e3ca51 [issue-17131] - Suggestions in review and some change of behavior 2023-04-20 08:48:43 -03:00
Gustavo Trott
d19d286811 Adds prop color for voiceUsers create msgs 2023-04-19 12:16:35 -03:00
GuiLeme
90bbb10de6 [issue-17531] - insert tag besides the presentation's name 2023-04-17 09:04:58 -03:00
Paulo Lanzarin
5c2e9bff94
Merge pull request #17021 from prlanzarin/u27/fix/audio-reconn-inbound-delay
fix(audio): decouple remote media setup (play) from state callback
2023-04-14 16:08:25 -03:00
Paulo Lanzarin
a7fec34cd1
Merge pull request #17524 from prlanzarin/u27/refactor/remove-vu-socket-ejection
refactor(audio): remove unused VU ejection on socket disconnection
2023-04-14 16:07:49 -03:00
GuiLeme
536285fc37 [issue-17531] - restored old feature of downloading original presentation 2023-04-14 11:04:24 -03:00
AtilaU19
0654bc9394 fix(screenshare): correct end alert behavior 2023-04-13 10:34:29 -03:00
Ramón Souza
6a06f994a9
Merge branch 'v2.6.x-release' into meteor-migration 2023-04-12 11:03:13 -03:00
prlanzarin
b17ba35238 fix(audio): decouple remote media setup (play) from state callback
Audio state callback and remote media setup both depend on FS's state
(comes through Meteor) and the ICE state (local, peer connection). The
caveat: FS's state can come delayed on reconnection scenarios because
Meteor's websocket generally takes significantly longer to re-connect than
the peer connection, which means the ICE state gets completed way before FS
is flagged as ready.
The practical issue: while outbound audio (client -> FS) will work, inbound
audio (FS -> client) won't _just because it wasn't played_ (even though
data is  coming through).

This commit decouples the remote media setup step from the state
through:
  - Setup remote media when ICE state is completed
  - Run the state callback only after FS is flagged as ready. This
    should maintain the UI states consistent across client-server.
    Keep in mind the assumption that if FS is ready, ICE is completed by
    consequence.
2023-04-11 16:02:20 -03:00
prlanzarin
fb30b145af refactor: remove unused VU ejection on socket disconnection
The voice user ejection callback tethered to Meteor's socket
disconnection seems broken (since its introduction). The VU selector
uses an invalid field (requesterUserId) - so no VU is ever returned.

Since I'm unaware of the original goal behind this code and there's
already ejections in place in other components (akka-apps, for
instance), this is basically a revert of #9888.
2023-04-11 15:58:22 -03:00
GuiLeme
5eb29e0ab5 [issue-16954] - merge upstream/v2.7.x-release 2023-04-11 11:02:00 -03:00
Gustavo Trott
0b2bf8f68b Akka-apps will set mobile flag instead of Meteor 2023-04-06 17:43:57 -03:00
Ramón Souza
abbe64ab16
add missing await 2023-04-06 17:04:47 -03:00
Gustavo Trott
0630fb05ea Moves user color picker to akka-apps instead of meteor-backend 2023-04-06 16:39:05 -03:00
Ramón Souza
ca668f165e
Merge branch 'v2.6.x-release' into meteor-migration 2023-04-06 16:06:10 -03:00
Anton Georgiev
72c575b911 Merge branch 'v2.6.x-release' of github.com:bigbluebutton/bigbluebutton into merge-apr-6 2023-04-06 11:50:26 -04:00
Anton Georgiev
e2dc7da98a
Merge pull request #16828 from prlanzarin/u27/fix/ss-cam-reconn
fix: re-connection improvements for cameras and screen sharing
2023-04-05 16:13:01 -04:00
Anton Georgiev
124ab8d972
Merge pull request #17468 from prlanzarin/u26/feat/sfu-gather-block
feat: add option to force/extend gathering window in SFU components, +
2023-04-05 15:52:10 -04:00
Anton Georgiev
f6004b477c
Merge pull request #17340 from KDSBrowne/bbb-16951
fix: Handle Exception While Invoking ZoomSlide
2023-04-05 15:17:26 -04:00
prlanzarin
be6a23a003 feat: add option to force/extend gathering window in SFU components
There's an edge case in finnicky networks where ALG-like firewalls
tamper with USE-CANDIDATE STUN packets and, consequently, bork ICE-lite
connectivity establishment. The odd part is that client-side gathering
seems to complete if intermediate STUN bindings work (before the final
USE-CANDIDATE), which may cause the peer not to generate relay
candidates == connectivity fails.

This adds the `public.kurento.gatheringTimeout` option to forcefully extend
the candidate gathering window in peers that act as offerers. The
behavior is as follows: if the flag is set (ms), the peer will wait
either the gathering completed stage or, _at most_,
public.kurento.gatheringTimeout ms before proceeding with calls chained
to setLocalDescription.

This option is disabled by default and intentionally ommited from the
base settings.yml file as to not encourage its use. Don't use it unless
you know what you're doing :).
2023-04-05 13:22:38 -03:00
Ramón Souza
bcd504b749 Merge remote-tracking branch 'upstream/v2.7.x-release' into lodash-radash 2023-04-05 09:42:05 -03:00
Scroody
4b965a2a71 Migration of the API to async for Meteor3.0 2023-03-31 17:40:41 -03:00
Anton Georgiev
eecde552ce Merge branch 'v2.6.x-release' of github.com:bigbluebutton/bigbluebutton into mar-30-1 2023-03-30 08:47:07 -04:00
GuiLeme
9b39decec7 [issue-16954] - Fix minor issues and cleanning of the old modal structure traces 2023-03-29 11:02:14 -03:00
KDSBrowne
d4d3b412df handle exception while invoking method zoomSlide 2023-03-28 14:47:23 +00:00
imdt
76b546f6d6 fetchAsync not working with some method fixed. 2023-03-21 14:44:12 -03:00
imdt
2a5142a4ea Users persistent data back-end migrated to new async API 2023-03-20 16:43:05 -03:00
Tainan Felipe
3959eab633 Refactor: Migrate video-streams for the Meteor 3.0 api 2023-03-20 16:39:36 -03:00
imdt
6949e9b59b Voice call states and voice users back-end migrated to new async API. 2023-03-20 16:39:24 -03:00
Tainan Felipe
3fb59bcb41 Refactor: Migrate screenshare for the Meteor 3.0 api 2023-03-20 16:39:11 -03:00
imdt
b27542065e Users settings migrated to new async API. 2023-03-20 16:38:56 -03:00
Tainan Felipe
f7b8b116e7 Refactor: Migrate presentation upload token for the Meteor 3.0 api 2023-03-20 16:38:42 -03:00
Tainan Felipe
029929e7d8 Refactor: Migrate pads for the Meteor 3.0 api 2023-03-20 16:38:31 -03:00
imdt
fc14710e14 Local settings back-end migrated to new async API. 2023-03-20 16:38:20 -03:00
Tainan Felipe
8b1565f2c9 Refactor: Migrate cursors for the Meteor 3.0 api 2023-03-20 16:38:05 -03:00
Tainan Felipe
2bb7235836 Refactor: Migrate group chat for the Meteor 3.0 api 2023-03-20 16:37:51 -03:00
Tainan Felipe
e3bbf1156f Refactor: Migrate auth-token for the Meteor 3.0 api 2023-03-20 16:37:36 -03:00
imdt
bbac3e5b11 Slides back-end migrated to new async API. 2023-03-20 16:37:16 -03:00
Tainan Felipe
470937bf6f Refactor: Migrate users for the Meteor 3.0 api 2023-03-20 16:35:52 -03:00
imdt
f03cc32b56 Presentation pod migrated to new async API 2023-03-20 16:35:40 -03:00
imdt
d7d1eb65da Presentations back-end migrated to new async API. 2023-03-20 16:35:06 -03:00
imdt
f3c6fbc5f2 Group chat msg back-end migrated to new async API. 2023-03-20 16:24:58 -03:00
Tainan Felipe
7c8337733f Refactor: Migrate meetings for the Meteor 3.0 api 2023-03-20 16:24:41 -03:00
imdt
16ff3be4ee External video back-end migrated to new async API 2023-03-20 16:24:26 -03:00
imdt
03e037b5ea Audio captions back-end migrated to new async API 2023-03-20 16:24:09 -03:00
imdt
5add111aa9 Connection status back-end migrated to new async API 2023-03-20 16:23:56 -03:00
Tainan Felipe
a5dea6f595 Refactor: Migrate captions for the Meteor 3.0 api 2023-03-20 16:23:41 -03:00
imdt
6472cf8d0d Breackouts history back-end migrated to new async API 2023-03-20 16:23:27 -03:00
imdt
c701ff5c66 Users info back-end migrated to new async API 2023-03-20 16:23:11 -03:00
Tainan Felipe
314395298b Refactor: Migrate whiteboard-multi-user for the Meteor 3.0 api 2023-03-20 16:22:55 -03:00
imdt
f18d4018f0 Backend of guest-users migrated to new async API. 2023-03-20 16:21:40 -03:00
Tainan Felipe
77fc5d4067 Refactor: Migrate annotations for the Meteor 3.0 api 2023-03-20 16:16:52 -03:00
imdt
074ce93a4f refactor: Migrate polls backend to new async api 2023-03-20 16:15:55 -03:00
Ramón Souza
630247a568 reduce canvas max size 2023-03-20 08:43:27 -03:00
Anton Georgiev
2c5cd8f2a0 Merge branch 'v2.6.x-release' of github.com:bigbluebutton/bigbluebutton into merge-26-27 2023-03-10 13:03:56 -05:00
prlanzarin
afa2908ded fix(screenshare): better reconnection timers and UI for abrupt failures
Reconnection timers are far too long for abrupt failures because we
are waiting the original timeouts to elapse (30-60s) before trying it
again - even if a connection worked N-sessions back in that session's
history. The ideal thing to have is another intermediate, smaller and
fixed reconnection timer for sessions that had a working screen share
at least once.
The UI is also not being updated to the reconnecting state on negotiation
failures.

* Add an intermediate reconnection timer for abrupt failures set to 8s.
  This should improve reconnection times.
* Lower default connection timers values (base 20s down from 30s, max
  25s down from 60s)
* Set screen share UI to reconnecting on abrupt failures as well - we
  were only tracking ICE states prior to this, not negotiation errors
2023-03-08 15:48:30 -03:00
prlanzarin
d2e8e74471 fix(screenshare): always try to reconnect to screen as viewer
The reconnect routine is stopping for viewers if a broker cannot
re-connect in the first try. That is wrong: viewers should try to
reconnect as long as there'sigaling data that mandates so.

The reconnect trigger is changed from broker's started attribute to the
presence of a scheduled reconnection timeout - if there isn't one (not
schedule), always re-schedule it.
2023-03-08 15:47:01 -03:00
Ramón Souza
966a471e50
Merge pull request #16800 from Tainan404/migrate-to-async
refactor: Migrate the breakout room backend to new async api
2023-03-07 10:57:34 -03:00
Ramón Souza
65a91970d3
Merge pull request #16820 from antobinary/indexing-2
fix: index auth-token-validation by connectionId
2023-03-07 09:04:24 -03:00
Tainan Felipe
fdc6a64085 Fix restoreOnUpdate feature 2023-03-03 14:58:41 -03:00
Ramón Souza
d181eba1c2 replace lodash.throttle with native function 2023-03-02 10:25:08 -03:00
Ramón Souza
41c187d93e Merge remote-tracking branch 'upstream/v2.6.x-release' into lodash-radash 2023-03-01 15:19:12 -03:00
Ramón Souza
0a622eff32 replace lodash throttle with standalone package 2023-03-01 15:13:29 -03:00
Tainan Felipe
2553c44643 Make all handlers async 2023-03-01 13:38:40 -03:00
Ramón Souza
aa47aaa22a replace lodash merge and mergeWith 2023-03-01 11:52:39 -03:00
Ramón Souza
a60d817041 replace lodash debounce 2023-03-01 10:39:04 -03:00
GuiLeme
cfdff618fc [issue-16734] - Changes in review 2023-02-27 12:45:04 -03:00
Anton Georgiev
d8ed43dc86 fix: index auth-token-validation by connectionId 2023-02-27 13:50:15 +00:00
Tainan Felipe
593333200d Add remove for assync api migration 2023-02-24 15:18:45 -03:00
Ramón Souza
0a9e2ed7d5 Merge remote-tracking branch 'upstream/v2.6.x-release' into lodash-radash 2023-02-24 15:01:49 -03:00
GuiLeme
661ab05bfa [issue-16734] - changes in review 2023-02-24 12:52:01 -03:00
Tainan Felipe
264f6bae04 Migrate the breakout room backend to new async api 2023-02-23 16:42:21 -03:00
Ramón Souza
811d6aa1c1 replace lodash delay and defaultsDeep 2023-02-23 14:38:48 -03:00
Ramón Souza
ba9c414989 replace lodash isEqual and isEmpty 2023-02-23 10:27:16 -03:00
GuiLeme
6545736a1f [issue-16734] - merge upstream/v2.6.x-release 2023-02-22 17:19:27 -03:00
GuiLeme
d47d586f0e [issue-16734] - refactor disabledFeatures presentationArea to just presentation 2023-02-22 17:16:43 -03:00
Anton Georgiev
de34f0fd68
refactor: Add meetingId in log for user left (#16775)
* refactor: Add meetingId in log for user left
2023-02-21 15:47:43 -05:00
GuiLeme
421717a817 [issue-16734] - patch for error handling 2023-02-21 08:41:05 -03:00
GuiLeme
9fb2c32384 [issue-16734] - refactor hidePresentation to hidePresentationOnJoin 2023-02-17 14:59:39 -03:00
Ramón Souza
06f43f8bed replace lodash each and groupBy 2023-02-17 14:39:52 -03:00
Anton Georgiev
1dd13026e3
Merge pull request #16722 from gustavotrott/connectionAliveAt-flood-improvement
refactor: Avoid flood moderators with useless connection status
2023-02-14 16:02:27 -05:00
Gustavo Trott
ff7c161f07 In ConnectionStatus publish only flag clientNotResponding instead of timestamp connectionAliveAt 2023-02-14 14:51:31 -03:00
Ramón Souza
83161c23a6 force slide scaling to a fixed size 2023-02-14 13:27:51 -03:00
Anton Georgiev
4ff0213d36
Merge pull request #16710 from antobinary/connection-status-distribution
fix: Only moderators should hear connection-status for all; otherwise…
2023-02-13 13:25:38 -05:00
Ramón Souza
ece96f6265
Merge pull request #16681 from ramonlsouza/issue-16663
fix: NotifyRecordingIsOn should not offer me to leave
2023-02-13 14:59:03 -03:00
Anton Georgiev
9a95054a77 fix: Only moderators should hear connection-status for all; otherwise only hear your own 2023-02-13 16:52:32 +00:00
Ramón Souza
49b5883710 do not notify user that started the recording 2023-02-08 08:47:26 -03:00
GuiLeme
ce50e00cef [issue-13867] - remove and related settings 2023-01-31 10:30:55 -03:00
Daniel Petri Rocha
6a11e295ba Prevent division by zero in zoom calculation 2023-01-27 16:49:32 +01:00
Gustavo Trott
6dfbcd29c6 Resolves conflicts 2023-01-24 09:35:13 -03:00
Gustavo Trott
ff184d9d13
Merge pull request #16421 from danielpetri1/capture-content-iff-necessary 2023-01-19 15:34:34 -03:00
Daniel Petri Rocha
ee44f15639 Fix search of padId in collection 2023-01-17 19:13:24 +01:00
Daniel Petri Rocha
2ecd3d6a80 Use prop as filename 2023-01-17 00:10:13 +01:00
Daniel Petri Rocha
a6b589a069 Add captured filename as breakout property 2023-01-16 23:00:27 +01:00
Daniel Petri Rocha
a72d76a46a Add 'no content' toast for slide capture 2023-01-14 18:00:29 +01:00
Daniel Petri Rocha
da6f5d996e Merge branch 'v2.6.x-release' into capture-content-iff-necessary 2023-01-14 13:43:38 +01:00
Ramón Souza
4d3d1f86f6 remove offline users data on chat clear 2023-01-13 13:19:52 -03:00
Ramón Souza
268c3532e7 Merge remote-tracking branch 'upstream/v2.6.x-release' into remove-persistent-on-chat-clear 2023-01-13 10:05:21 -03:00
Ramón Souza
fe3937d3ba
Merge pull request #16061 from ramonlsouza/adjust-poll-pub
fix: adjust poll publisher
2023-01-12 09:37:42 -03:00
Daniel Petri Rocha
3b8bdef05b Merge branch 'v2.6.x-release' into capture-slides-upload-toast 2023-01-09 16:03:44 +01:00
Daniel Petri Rocha
f4cb37d4cf Add 'no content' toast 2023-01-08 16:15:16 +01:00
Daniel Petri Rocha
b3ab33470e Do not capture pad if it has not been modified 2022-12-27 22:23:13 +01:00
Anton Georgiev
2d742b654c
Merge pull request #15919 from prlanzarin/u26/fix/cam-reconn-issues
fix(webcam): intermittent client crashes when sharing camera (2.6)
2022-12-23 09:12:54 -05:00
Daniel Petri Rocha
a8657ff0ed
Merge branch 'v2.6.x-release' into capture-slides-upload-toast 2022-12-22 21:18:14 +01:00
Anton Georgiev
c0626900fe
Merge pull request #15679 from ramonlsouza/rename-external-pres-params
refactor: rename external upload parameters
2022-12-22 13:00:52 -05:00
Ramón Souza
1f2562e95c sort users by sortName 2022-12-13 15:00:13 -03:00
KDSBrowne
09eb68f23b add lock setting for viewer annotations 2022-12-12 23:26:03 +00:00
Daniel Petri Rocha
d06a642ae9 Include timestamp in exported content 2022-12-09 23:48:04 +01:00
Ramón Souza
c433869f6e adjust poll publisher 2022-11-25 09:31:04 -03:00
GuiLeme
5391bd1a83 [fix-check-mime-insert-document] - changes in review 2022-11-23 09:22:35 -03:00
Daniel Petri Rocha
5a432289cf Remove unreachable code 2022-11-23 01:39:41 +01:00
Daniel Petri Rocha
587c11c56a Remove potential race condition 2022-11-23 01:25:03 +01:00
GuiLeme
058bbb039b [fix-check-mime-insert-document] - add validation to front-end 2022-11-22 17:41:57 -03:00
Daniel Petri Rocha
b43863342b Add captured slides to UploadingPresentations collection 2022-11-22 21:07:43 +01:00
Ramón Souza
ed04e10b4b remove user persistent data if chat is cleared 2022-11-21 13:07:30 -03:00
Gustavo Trott
8b7b501ea2
Merge pull request #15589 from danielpetri1/breakout-shared-notes-upload 2022-11-21 08:08:36 -03:00
Gustavo Trott
17a16eced5
Merge pull request #16022 from gustavotrott/presentation-refactor 2022-11-18 16:31:00 -03:00
Daniel Petri Rocha
a53a7e924f Refactor: remove setPresentationExportingProgress; AnalyticsActor log 2022-11-17 20:55:15 +01:00
Gustavo Trott
7781909d50 Removes all references to swf files (used by old flash client) 2022-11-17 10:55:19 -03:00
Daniel Petri Rocha
f6ccf74f9b Merge branch 'v2.6.x-release' into breakout-shared-notes-upload 2022-11-11 15:38:38 +01:00
Daniel Petri Rocha
334b97779b Merge branch 'v2.6.x-release' into capture-notes-toast 2022-11-10 23:01:28 +01:00
Gustavo Trott
50010ea528
Merge pull request #15894 from JoVictorNunes/shared-notes-on-media 2022-11-10 11:44:28 -03:00
Ramón Souza
cdc2bc7e04
Merge pull request #15770 from JoVictorNunes/store-webcam-microphone
improvement: share audio and video setup among different sessions
2022-11-09 10:37:52 -03:00
Gustavo Trott
c9ddd971f5
Merge pull request #15857 from gustavotrott/max-users-improvements
Closes https://github.com/bigbluebutton/bigbluebutton/issues/9354
2022-11-07 21:24:07 -03:00
Joao Victor
f1007fb7b6 Use the new config option from #15413 - A centralized way of defining which storage to use (Session or Local) 2022-11-03 17:57:54 -03:00
Daniel Petri Rocha
f7952fa256 Allow 16 simultaneous exports; remove timeout behavior 2022-11-03 18:09:48 +01:00
Joao Victor
08fac039c8 Merge branch 'v2.6.x-release' into shared-notes-on-media 2022-10-31 11:13:31 -03:00
Gustavo Trott
09697948e1
Merge pull request #15708 from danielpetri1/breakout-upload-ui 2022-10-31 08:29:56 -03:00
Gustavo Trott
ba647cdd08 Handle Pin Shared Notes in akka-apps 2022-10-28 08:10:23 -03:00
prlanzarin
d839b457d9 fix(audio): check for session availability on exitAudio
Mostly benign, but exitAudio/forceExitAudio was throwing an unhandled
error when called on sessions with no active audio because the
underlying bridge methods did not check whether there was an active
session to stop beforehand.
2022-10-27 16:30:11 +00: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
Joao Victor
33d08b2e2f Remove modifier from method 2022-10-24 10:35:46 -03:00
Joao Victor
4c6050521b feat: pin/unpin shared notes on media area (HTML5 portion) 2022-10-24 10:11:28 -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
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
80ffb26fff Implements maxUserConcurrentAccesses and change participants count logic 2022-10-17 17:30:53 -03:00
Daniel Petri Rocha
184b1c2169 Merge branch 'v2.6.x-release' into capture-shared-notes 2022-10-08 11:24:22 +02:00
Ramón Souza
6017786a85
Merge pull request #15783 from JoVictorNunes/improved-error-screen-messages
improvement: error screen messages and logs
2022-10-07 16:40:45 -03:00
Joao Victor
e4f5317009 fix: unauthenticated user handling and manual disconnection 2022-10-07 16:21:43 -03:00
Joao Victor
010f1c2964 tweak userLeaving and Base 2022-10-07 10:38:50 -03:00
Joao Victor
912b7cf70c improvement: add setExitReason method 2022-10-07 09:15:00 -03:00
Daniel Petri Rocha
f170bdc19b Merge branch 'v2.6.x-release' into capture-shared-notes 2022-10-06 22:38:21 +02:00
Joao Victor
b77cab92bd fix: log the reason why the user is leaving. --- logout: user requested logout --- disconnection: user is being removed for disconnection reasons 2022-10-06 15:58:41 -03: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
Joao Victor
7e8cee7340 improvement: error screen messages 2022-10-05 11:30:12 -03:00
Joao Victor
6781602420 improvement: store audio setup 2022-10-03 11:03:14 -03:00
Daniel Petri Rocha
234e36f462
Merge branch 'v2.6.x-release' into breakout-upload-ui 2022-10-03 11:05:23 +02:00
GuiLeme
362371834a Merge remote-tracking branch 'upstream/v2.6.x-release' into issue-pdf-100-processing 2022-09-30 10:34:23 -03: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
GuiLeme
9495e9ae01 [apply-toast-shared-notes] - fix shared-notes display wrong information when clicking the confirm button 2022-09-27 10:05:27 -03: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