Commit Graph

646 Commits

Author SHA1 Message Date
Anton Georgiev
638ba47ecf
Enabled by default screenshare with audio (#11622) 2021-03-24 15:06:23 -04:00
Paulo Lanzarin
65c359a79c
audio: change default SDP format to Unified Plan
Making the default transition a bit earlier so that we can field trial it just to be sure enough it's safe.
2021-03-24 12:16:13 -03:00
Mario Jr
402b082355 Default enable banner alert when user speaks with mic muted
This sets back the default value after fixes done in #11272 and #11268
2021-03-23 14:45:41 -03:00
Anton Georgiev
c6a9d8e213
Merge pull request #11719 from ramonlsouza/issue-11714
Locales fetch rework
2021-03-23 10:57:50 -04:00
Ramon Souza
3b08a54df7 adding locale instructions in settings.yml 2021-03-23 11:50:16 -03:00
KDSBrowne
132dfb02d9 add raise hand shortcut and help entry 2021-03-21 23:47:15 +00:00
Ramon Souza
3715266883 add selectRandomUser flag 2021-03-19 15:54:54 -03:00
Anton Georgiev
6f3898f933
Merge pull request #11664 from prlanzarin/u23-imago
video-provider: add dynamic video page sizes based on number of users
2021-03-17 09:48:50 -04:00
Pedro Beschorner Marin
d90ba5e286 Merge branch '2.3-per-user-wb' into develop 2021-03-16 20:28:39 -03:00
Pedro Beschorner Marin
381c5cb15c Isolated whiteboard access
Modified the previous implementation of the whiteboard individual access to remove
multiple Collections dependency on this feature. Multi-user whiteboard is now an
array instead of a boolean value and most of the access control can be synchronized
and handled by akka-apps.
2021-03-16 19:55:25 -03:00
prlanzarin
0a0a4b4915 video-provider: add dynamic video page sizes based on number of users
New config called paginationThreshold defines classes of page sizes that depend on the number of participants of a meeting

The rationale is pretty much the same as the cameraQualityThresholds, but the thresholds are users here and the ceilings are the page sizes
2021-03-16 20:15:13 +00:00
Fred Dixon
c2748e2cac Enable pagination by default 2021-03-12 14:50:01 -06:00
Anton Georgiev
e673fb2cf4
Merge pull request #11630 from prlanzarin/u23-sculptor
listenonly,video-provider,screenshare: remove ICE gathering pre-flight check
2021-03-12 12:58:43 -05:00
Anton Georgiev
3fbb40875f
Merge pull request #11631 from prlanzarin/u23-planZETA
audio: make sdpSemantics configurable
2021-03-12 05:34:10 -05:00
Anton Georgiev
9f841bd64b
Merge pull request #11622 from prlanzarin/u23-ilgiardino
[screenshare] Rewrite SFU/Kurento screensharing bridge (+reconnections|audio sharing|QoL, was #11025)
2021-03-12 05:13:11 -05:00
prlanzarin
f20fb3eef2 audio: make sdpSemantics configurable
Plan B is going to be phased out of Chrome soon and we should be testing it with unified plan
2021-03-12 03:04:55 +00:00
prlanzarin
ab17b10c38 listenonly,video-provider,screenshare: remove ICE gathering pre-flight check 2021-03-12 02:51:45 +00:00
Anton Georgiev
a165d3a7e3
Merge pull request #11606 from prlanzarin/u22-sadl1
video-provider: add video pagination UI toggle (was #10970)
2021-03-11 16:05:33 -05:00
prlanzarin
7eb91f9273 Merge branch 'u22-screenshare18102020' of https://github.com/prlanzarin/bigbluebutton-1 into u23-ilgiardino 2021-03-11 18:49:14 +00:00
Ramon Souza
150bedf16d fix locales url settings + captions locales order 2021-03-11 15:33:48 -03:00
Tainan Felipe
87ebdbd02a Merge remote-tracking branch 'upstream/develop' into fix-chat-issues 2021-03-11 10:07:16 -03:00
prlanzarin
d00e8e0436 Merge remote-tracking branch 'origin/develop' into u22-sadl1 2021-03-11 12:31:10 +00:00
Anton Georgiev
c280769ebf
Merge pull request #11559 from MaximKhlobystov/dragndrop-poll-23
Editing poll options via drag and drop
2021-03-10 16:40:00 -05:00
prlanzarin
cf8b5e422f video-provider: add pagination settings toggle 2021-03-10 18:44:23 +00:00
Maxim Khlobystov
619c5ed176 Make the poll drag and drop feature optional 2021-03-10 18:23:25 +00:00
Anton Georgiev
47b685003e
Enable enableGuestLobbyMessage by default (html5) 2021-03-10 12:24:09 -05:00
Tainan Felipe
927e2167bc Re-implements chat sync and clear 2021-03-09 17:52:20 -03:00
Pedro Beschorner Marin
0365018e92 Add guest lobby messages
Moderators are able to send a message to the meeting's guest lobby. This new
event reaches bbb-web and is sent to the guest user with her/his status response
while polling. All guest users that are waiting for acceptance will be able to
read this message.

enableGuestLobbyMessage is disabled by default.
2021-03-09 11:02:25 -03:00
Anton Georgiev
68cfcd0215
Merge pull request #11544 from pedrobmarin/guest-doorbell
Waiting users audio and push alerts
2021-03-05 09:13:29 -05:00
Anton Georgiev
c9bbcebe59
Revert "Add reconnection and sync handler" 2021-03-05 03:53:36 -05:00
Anton Georgiev
228bad03d5 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into march4-merge 2021-03-04 21:25:47 +00:00
Tainan Felipe
51f073197b put enable to top 2021-03-04 14:10:08 -03:00
Tainan Felipe
21045abf16 Merge remote-tracking branch 'upstream/develop' into issue-11438 2021-03-04 11:29:01 -03:00
Pedro Beschorner Marin
e08af4b43e Include waiting users push alert in settings
Since we added audio alert notifications in settings controls there was an ampty
grid gap reserved for the push alerts.
2021-03-03 16:26:15 -03:00
Vitor Vanacor
65ceb37872 Change default guestWaitingAudioAlerts to false
Co-authored-by: Pedro Beschorner Marin <pedrobmarin@gmail.com>
2021-03-03 15:26:26 -03:00
Vitor Vanacor
f2e40d3286 guestWaitingAudioAlert moved to settings 2021-03-03 15:24:54 -03:00
Anton Georgiev
de3cbec87a
Revert custom changes to settings.yml
Inadvertently introduced by #11514
2021-03-03 13:09:00 -05:00
Vitor Vanacor
d9007d2ce6 Add sound notification for waiting guest
Both debounce or throttle could be used to prevent a spammer from
annoying the moderators.
With debounce, a spammer won't even be noticed by the mods, but
there won't be new notifications for legit guests during the spam.
With throttle, a spammer could still annoy the mods, we would only make
the interval between notifications bigger.
It is a tradeoff. An ideal solution would be preventing spamming from
the same user, but probably unnecessarily complex.
2021-03-03 15:03:00 -03:00
Anton Georgiev
eba2d0ab58
Merge pull request #11535 from pedrobmarin/etherpad-patch
Rework padIds and turn bbb-web pad aware
2021-03-02 14:48:34 -05:00
Anton Georgiev
9848672775
Bumped up copyright year to 2021. Closes #11519 2021-03-02 14:20:27 -05:00
Tainan Felipe
71e0ca9d92 Add sync and reconnection handler 2021-03-02 11:35:26 -03:00
Mohamed Amine Ben Salah
4dc679d000 Adds tests recording + updates some outdated tests + linting 2021-02-26 12:52:17 -03:00
Anton Georgiev
382e661b92 disable customHeartbeat #10826 2021-02-24 13:00:59 -05:00
Anton Georgiev
111109674e
Merge pull request #11247 from ramonlsouza/language-dropdown
Reduces the number of options displayed on locale settings dropdown
2021-02-22 15:44:29 -05:00
Anton Georgiev
3589ee5232
Merge pull request #11423 from ramonlsouza/fix-layout-params
Fix layout params (show participants + show public chat) not affecting the meeting
2021-02-19 11:51:55 -05:00
Ramon Souza
043fa4bac8 fix user-sent poll result messages 2021-02-19 10:57:11 -03:00
Anton Georgiev
55e8de4357 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into feb18-merge 2021-02-18 20:33:19 +00:00
Ramon Souza
3778ccb397 fix layout params not affecting the meeting 2021-02-18 13:11:02 -03:00
Anton Georgiev
d5e7f5cf67
Merge pull request #11339 from basisbit/v2.2.x-release
Enable video-pagination and cameraQualityThresholds by default
2021-02-17 18:37:40 -05:00
Anton Georgiev
b2c4244276 Merge branch 'develop' of github.com:bigbluebutton/bigbluebutton into 2.3-alpha5-with-split-meteor-roles-10349 2021-02-16 19:55:10 +00:00
Anton Georgiev
adefc6a20c
Merge pull request #11341 from ramonlsouza/breakout-invitation-settings
Add property to settings.yml to enable/disable breakout invitations to moderators
2021-02-09 15:50:24 -05:00
Pedro Beschorner Marin
c0a7f9cd92 Replace FNV32a pad's id generator with salted SHA1
When managing Etherpad's pads, Meteor makes API calls to initiate the closed captions
and shared notes modules. The pad id was being mapped to a shorter id than the meeting
id because of a Etherpad lenght limitation.

Changed to something less guessable.
2021-02-09 12:59:59 -03:00
Anton Georgiev
e2e0b78d40 Merge branch 'develop' of github.com:bigbluebutton/bigbluebutton into split-meteor-roles-on-top-of-2.3-alpha6 2021-02-08 23:39:42 +00:00
Ramon Souza
a3780209f3 Add property to settings.yml to enable/disable breakout invitations to moderators 2021-02-08 14:40:03 -03:00
basisbit
d5c9cc38e7
disable video-pagination for desktop view users by default
also adjusted moderator mobile video-pagination as suggested by @prlanzarin
2021-02-08 18:13:26 +01:00
basisbit
5af1f1cd81
Enable video-pagination and cameraQualityThresholds by default
One of the main issues in 2.2.x problem reports currently in the wild in social media and in the bbb admin groups seems to be that people turn a couple of webcams on and the clients or the server already can't handle it any more. In most cases, enabling video-pagination for mobile devices and also cameraQualityThresholds already "solves" the problem and makes it possible for much more students to attend online-class as well as raise acceptance of using BBB instead of other commercial services.
Even after promoting these new settings for weeks, many BBB operators still don't know of them and are surprised and happy once they enable it.
This change contians rather high values so that admins see that these features exist, but typical use cases which might not want video-pagination enabled (typical 28people school class) are still not "annoyed".
2021-02-08 15:44:01 +01:00
Anton Georgiev
75a1896b0d Set default cursorInterval to 150ms (was 40ms) 2021-02-05 21:42:52 +00:00
Anton Georgiev
363c801338
Merge pull request #11215 from pedrobmarin/guest-draft
Disable authenticated guests
2021-02-05 16:13:46 -05:00
Anton Georgiev
8c0f0fdd52 Split Meteor roles backend-frontend revisit 2021-02-05 17:47:46 +00:00
Anton Georgiev
c0c5a87e3c
Updated CopyRight year in bbb-html5 to 2021 2021-02-04 16:58:45 -05:00
Anton Georgiev
5a6f232989
Merge pull request #11285 from ramonlsouza/issue-10454
Changes on webcam skip preview behavior
2021-02-04 13:43:46 -05:00
KDSBrowne
0abdf00a25
Add new join param skip echo test on first join only (#11284)
* add param to force echo test when user joins audio after init

* fix UI stuck on connecting when userdata-bbb_auto_join_audio=false

* fix conditions for joinFullAudioImmediately and joinFullAudioEchoTest | remove old format

* remove extra param in getItem

* recover audioLocked | only set getEchoTest if doesnt exist
2021-02-04 13:42:31 -05:00
Ramon Souza
b1cb4435ee introduce userdata-bbb_skip_video_preview_on_first_join parameter 2021-02-04 15:05:48 -03:00
Anton Georgiev
09e6ba8dfd Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into merge-Jan30 2021-01-29 20:58:05 +00:00
Anton Georgiev
d122639042
Merge pull request #11239 from jfsiebel/sync-with-active-connections
Synchronize users with active connections
2021-01-29 12:28:07 -05:00
Joao Siebel
68b2752e0d Add flag to enable sync 2021-01-29 14:27:13 -03:00
Mario Jr
f2de2806eb Add setting for enabling/disabling microphone audio filters
As explained in #11143, disabling audio filters is desired in some scenarios.
This basically adds an option for user to disable default constraints.
When user doesn't change this value in Settings > Application, the default
value for each audio constraints is retrieved from settings.yml.
When user changes this value in Settings > Application, audio
filters (AGC, Noise Supression and Echo Cancellation) are all set to
true/false, according to the value selected in the Settings GUI.

To start it simple, we decided to not to add a different setting in the GUI for
each audio contraint. This may be added in the future, though (perhaps in a
dedicated Audio Settings tab)
This is related to #4873
2021-01-29 14:18:15 -03:00
Anton Georgiev
abb44a7949 Set default cursorInterval to 150ms (was 40ms) 2021-01-28 09:42:36 -05:00
Ramon Souza
7c2a488f15 show only variations of the selected language on locale settings 2021-01-27 16:50:48 -03:00
Joao Siebel
31552f6c78 Add heapdump threshold in settings 2021-01-27 11:04:49 -03:00
Joao Siebel
8c7c21f936 Sync users in collection with server active connections 2021-01-26 16:22:32 -03:00
prlanzarin
234efd289a audio: add a configurable throttle to action-bar`s mute toggle
Default value is 300ms, with default trailing/leading. Set toggleMuteThrottleTime to 0 to restore old behaviour
2021-01-26 11:47:48 -03:00
Pedro Beschorner Marin
e595d31f80 Set default guest configuration
Changes to the current (v2.2) default configuration of the guest feature.

The ideal is to keep the simplified guest feature as default (`authenticatedGuests=false`)
but we also need to be in sync with Greenlight settings to make this happen.

Greenlight will have to re-add the `guest=true` param on user's join API call when ASK_MODERATOR
is set as guest's policy.
2021-01-23 21:58:34 -03:00
Pedro Beschorner Marin
4fbc237a8f Configurable users' labels
User's name labels can be enabled and disabled at `settings.yml`.
2021-01-23 21:58:25 -03:00
Mario Jr
97c76900cb Add setting for enabling/disabling microphone audio filters
As explained in #11143, disabling audio filters is desired in some scenarios.
This basically adds an option for user to disable default constraints.
When user doesn't change this value in Settings > Application, the default
value for each audio constraints is retrieved from settings.yml.
When user changes this value in Settings > Application, audio
filters (AGC, Noise Supression and Echo Cancellation) are all set to
true/false, according to the value selected in the Settings GUI.

To start it simple, we decided to not to add a different setting in the GUI for
each audio contraint. This may be added in the future, though (perhaps in a
dedicated Audio Settings tab)
This is related to #4873
2021-01-22 16:30:42 -03:00
Joao Siebel
fa0fd8a054 Add configurable process interval for cursor and annotations 2021-01-20 11:36:40 -03:00
prlanzarin
b4ac2e7fd3 Bump min Firefox (desktop) version to 68
Rationale: removed support for gUM based screen sharing. Uses getDisplayMedia now, minimum FF 68 and Chrome 72
2021-01-13 09:04:59 -03:00
prlanzarin
c9220a48b7 screenshare: remove deprecated chrome extension configs 2021-01-13 09:04:52 -03:00
Mario Jr
92708da447 Allow audio constraints to be changed in bbb-html5's settings.yml
In some scenarios, there's no need for the browser to apply such audio filters. For example, when user's microphone already does audio filtering (echo cancellation, noise supression ...).
This commit doens't change the current behavior (filters still follow browser's default config): admins need to uncomment/set these values if disabling/enabling specific filters if desired.
This is related to #4873
2021-01-12 14:42:27 -03:00
basisbit
9c3c926ede
Increase camera baseTimeout to 30 seconds
see https://github.com/bigbluebutton/bigbluebutton/issues/11099#issuecomment-753985300
2021-01-08 04:56:20 +01:00
Paulo Lanzarin
1334127b35 video-preview: bump default gUMTimeout to 20s
Otherwise users who took long enough to accept the gUM permission prompt would fall into the workaround
2020-12-22 20:10:59 +00:00
Pedro Beschorner Marin
4e370d28ec Add timeout at video's preview modal
Some browsers seem to (occasionally) not return the getUserMedia promise call and the
user gets stuck in this state unable to share her/his webcam.

Since enumerateDevices still works even on a gUM rejection this includes a racing
timeout that skips gUM. Configured at settings `gUMTimeout`.

Reproduced with Windows 10 Chrome 87.
2020-12-22 20:10:19 +00:00
Anton Georgiev
2a825c8aaa settings.yml media configs incorrectly placed under "stats" 2020-12-18 17:55:44 +00:00
Anton Georgiev
646dd583e3 add Kazakh and Mongol 2020-12-18 16:54:27 +00:00
Anton Georgiev
c1ffced27d Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into develop 2020-12-17 21:14:29 +00:00
Anton Georgiev
1880c0b5db
Merge pull request #11024 from jfsiebel/generate-heapdump-file
Add option to generate heap file and tweak metrics
2020-12-15 14:47:15 -05:00
Anton Georgiev
2bf6758f31
Enable customHeartbeat by default
https://github.com/bigbluebutton/bigbluebutton/pull/10826
2020-12-15 14:46:38 -05:00
Joao Siebel
c5b8f30f5d Add option to generate heapdump file and improve metrics 2020-12-15 13:10:39 -03:00
Mario Jr
6113113af9 Add option to disable traceSip logs
Audio client logs already cover audio session progress the way we need.
This avoids keepAlive and other unnecessary messages to be logged in browser's console.
If setting is not present, default value is set to false.
2020-12-11 00:31:10 -03:00
Mario Jr
c65fa2b350 Add keep alive message to audio's websocket
This was added as an option (websocketKeepAliveInterval), which is the interval to send keep alive messages.
Setting websocketKeepAliveInterval to 0 disables the keep alive, producing the same old behavior.
This helps avoid websocket disconnection due to socket inactivity, preventing it to unnecessarily reconnect.
Also, sometimes reconnect fails and error 1005 is triggered.
Fixes problems reported in #10985.
Also reduces occurrences of error 1005.
2020-12-10 23:48:01 -03:00
prlanzarin
1383ab4def screenshare/html5: rewrite most of the client side code
Added new SFU broker for screen sharing

Removed kurento-extension entirely

Added inbound and outbound reconnection procedures

Improve UI responsiveness when sharing

Add reconnection UI states

Redo error handling

Refactor actions-bar screen share components. Make it smarter with less prop drilling and less re-rendering. Also more readable. Still work to do in that I think

Add a connection retry procedure for screen presenters when they are sharing; try a configurable amount of times when failure is triggered, with configurable min and max reconn timeouts and timeout increase factor

Make local preview attachment smarter

ADD PARTIAL SUPPORT FOR AUDIO SHARING VIA SCREEN SHARING WITH GET DISPLAY MEDIA, RECORDING STILL NOT SUPPORTED!!!
2020-12-09 22:00:54 +00:00
Anton Georgiev
3930e164e6
Merge branch 'develop' into debug-window 2020-12-08 16:16:24 -05:00
Joao Siebel
a702d27732 Adjust metrics settings 2020-12-08 11:07:57 -03:00
Joao Siebel
0ec8576209 Fix multiple write listeners 2020-12-08 09:37:59 -03:00
Joao Siebel
829591ffc7 Implement redis metrics object 2020-12-07 17:57:33 -03:00
Anton Georgiev
244a239810 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into 2020-12-01-merge 2020-12-01 20:02:50 +00:00
Joao Siebel
347ad8b243 disable bulk by default 2020-11-30 14:09:45 -03:00
Anton Georgiev
f34826718d include instanceId in resources url 2020-11-30 16:09:35 +00:00
Joao Siebel
b07786b9b8 WIP add bulk insert and throttle for chat messages 2020-11-30 11:27:26 -03:00
Anton Georgiev
08a0a38f30 do not log client issues to Winston, only via nginx 2020-11-26 15:39:04 -05:00