Commit Graph

728 Commits

Author SHA1 Message Date
prlanzarin
4ae5c70248 feat(video): add flag to disable quality change exemptions (floor, pin) 2022-03-14 11:58:53 -03:00
prlanzarin
ccbb6c6651 fix(video): add debounce and option to exclude constraints from dynamic camera profiles
Tries to mitigate too-rapidly-switching camera profiles causing video freezes
due to encoder resets. Excluding constraints might not help a lot since
the thing that actually restarts the encoder is the bitrate change, but
they're not really important in the context of dynamic profiles.
We can't get rid of bitrate changes, though, since it's what does the actual
quality constraining.

The camera profile change debounce timer is 2.5s by default (which is
the same timer used for floor changes).

Also fixed an issue with camera profile backfiring due to badly defined peers
2022-03-14 11:56:48 -03:00
prlanzarin
41f89536d6 fix: specify height in high and hd camera profiles
Set height to 720 in those profiles so that aspect ratio has a better chance to
be cohesive in all environments. Having only width set was causing certain
devices to output videos with non-standard ARs
2022-03-14 10:31:59 -03:00
Lucas Zawacki
31ddd9a8d8 fix(layout): Better config names for layout push/toggle 2022-03-09 18:10:09 -03:00
Lucas Zawacki
559b6f59c2 fix(layout): Remove unused options 2022-03-09 18:04:21 -03:00
Max Franke
0f27b1add4 feat(layout): new layout modal
Add a new modal that makes it easier to switch between layouts
Adds a new flag in html5 settings that allows to enable/disable
keepPushing layout
2022-03-09 17:00:06 -03:00
Lucas Zawacki
e113fa489b layout(fix): Fix hidePresentation yml option 2022-03-09 16:12:53 -03:00
prlanzarin
ae6564f276 fix: specify height in high and hd camera profiles
Set height to 720 in those profiles so that aspect ratio has a better chance to
be cohesive in all environments. Having only width set was causing certain
devices to output videos with non-standard ARs
2022-03-02 20:28:29 -03:00
Pedro Beschorner Marin
f267cf29e0 refactor(pads): unneeded redis subscription
Since bbb-pads the html client Etherpad redis' channel subscription isn't
needed anymore. All communication between Etherpad and BigBlueButton goes
through bbb-pads.
2022-03-01 09:54:43 -03:00
Arthurk12
7b5049f14c feat(layout): settings
Adds settings flag to activate/deactivate layout propagation button in actions
bar menu.
2022-02-22 18:18:56 -03:00
Anton Georgiev
89bbddf254 chore: Enable displayBbbServerVersion in settings.yml 2022-02-17 17:21:54 +00:00
Anton Georgiev
db6941970c build: automatically set BBB version in settings.yml 2022-02-17 17:21:02 +00:00
Anton Georgiev
0a3f879bd8
chore: updated bbbServerVersion to 2.5 2022-02-17 08:54:17 -05:00
gustavo-em
fe6428d665 add settings.yml and rule in component to show version 2022-02-04 16:41:46 -03:00
Ramón Souza
16cd3c4ebb Merge remote-tracking branch 'upstream/v2.4.x-release' into dev-24-0125 2022-01-25 16:56:52 +00:00
Pedro Beschorner Marin
810deb907b refactor(etherpad): access control et al.
Move all Etherpad's access control from Meteor to a separated [Node application](https://github.com/bigbluebutton/bbb-pads).
This new app uses [Etherpad's API](https://etherpad.org/doc/v1.8.4/#index_overview)
to create groups and manage session tokens for users to access them. Each group
represents one distinct pad at the html5 client.

- Removed locked users' access to pads: replaced readOnly pad's access with a new pad's content sharing routine
- Pad's access is now controlled by [Etherpad's API](https://etherpad.org/doc/v1.8.4/#index_overview)
- Closed captions edited content now reflects at it's live feedback
- Improved closed caption's dictation mode live feedback
- Moved all Etherpad's API control from Meteor to a separated [app](https://github.com/bigbluebutton/bbb-pads)
- Included access control both in akka-apps and bbb-pads
2022-01-21 16:56:01 -03:00
Arthurk12
45fcd54ab9 refactor(presentation): upload extra hint
Adds text hint about the accepted presentation file size limit.
2022-01-20 17:50:50 +00:00
Paulo Lanzarin
e87a633da3
chore(bbb-html5): enable camera pin/screenshare volume control by default 2022-01-13 19:08:14 -03:00
Anton Georgiev
2d1aab563d
chore: Updated year to 2022 in bbb html settings.yml 2022-01-12 16:59:24 -05:00
Ramón Souza
f6e65f58c5 merge 2.4 into develop and resolve conflicts - partial 2022-01-12 16:40:45 +00:00
Mario Jr
1621834239 feat(audio): add settings for audio websocket connection
Default values were kept, but now this can be changed in settings.yml.
If not set in settings.yml, the old hardcoded values are used.
2022-01-10 18:56:29 -03:00
Anton Georgiev
14d3922846 refactor: Rename L Dashboard to L Analytics Dashboard 2022-01-07 19:22:05 +00:00
Max Franke
7e2a3c3bca feat(webcams): client side implementation of webcam pin 2021-12-21 16:58:39 -03:00
Anton Georgiev
ad97eb2ebe
Merge pull request #13871 from prlanzarin/u24-lifeforms-longforms
feat(bbb-html5): add a general forceRelay flag
2021-12-14 16:44:36 -05:00
Paulo Lanzarin
775150471c
Merge pull request #13688 from Arthurk12/screenshare-volume
feat(screenshare): volume control
2021-12-14 14:06:37 -03:00
Anton Georgiev
797fc49633 TEMP 2021-12-09 20:37:05 +00:00
prlanzarin
93b5f4c93d feat(bbb-html5): add a general forceRelay flag
public.media.forceRelay forces relay usage on all browsers, environments and media modules

If true, overrides public.kurento.[4~forceRelayOnFirefox
2021-12-09 11:35:56 +00:00
prlanzarin
e49aa1c959 refactor(screenshare): revert volume control to HTMLMediaElement, make it configurable
I have growing concerns about gain node`s effect on audio quality the way it
was implemented, so I opted to fall back to HTMLMediaElement`s volume control
for the time being until we can gauge quality impacts properly later on

Add a new configuration flag enableVolumeControl, false by default while the
feature undergoes a field trial
2021-12-08 16:24:31 +00:00
Anton Georgiev
578332a094
Merge pull request #13731 from schrd/cluster_proxy
Allow BBB to run behind a proxy the avoid gUM permission queries per node
2021-12-03 11:32:07 -05:00
Anton Georgiev
def60fbcbc
Merge pull request #13818 from prlanzarin/u24-lift-wsb
feat(webcam): add a way to re-open video preview without multiple cameras
2021-12-02 17:26:23 -05:00
prlanzarin
da6ab02122 chore: add forceRelayOnFirefox option (false by default)
- forceRelayOnFirefox: whether TURN/relay usage should be forced to work
around Firefox's lack of support for regular nomination when dealing with
ICE-litee peers (e.g.: mediasoup).
  * See: https://bugzilla.mozilla.org/show_bug.cgi?id=1034964
- iOS endpoints are ignored from the trigger because _all_ iOS browsers
  are either native WebKit or WKWebView based (so they shouldn't be affected)
2021-11-30 20:31:12 +00:00
prlanzarin
f8034b8e04 refactor(audio): remove unused relayOnlyOnReconnect config
Removed/left behind when SIP.js was bumped for 0.7.x to 0.15.x
2021-11-30 19:22:38 +00:00
Maxim Khlobystov
b7cf670aec Remove the support for iframe postMessage API (recording and self-muting) 2021-11-29 22:53:12 +00:00
Mario Jr
54bda21287 chore(video): change default setting to enable webcam's button selector
Renamed this setting and added some docs about it
Complements #979
2021-11-26 13:12:07 +00:00
Max Franke
310add10ed feat(webcam): add a little button to webcam button
Add the <ButtonEmoji/> to the webcam button. Now it
is possible to change the webcam settings and change
your settings without having to turn off sharing.
Modifies the <ButtonEmoji/> component so that it can
receive an onClick per props.
It is possible to disable this feat in the settings.yml
2021-11-26 12:53:11 +00:00
Daniel Schreiber
c46556e1f6 Allow BBB to run behind a proxy the avoid gUM permission queries per node
The idea is to run a loadbalancer node which maps each BBB node to a
path. That way each user gets only one gUM permission query for a
cluster. The loadbalancer node only serves the html5 client, each BBB
node will serve its own API and handle the websockets for freeswitch and
bbb-webrtc-sfu.

Configuring a cluster setup
===========================

* let bbb-lb.example.com be the loadbalancer node
* let bbb-01.eaxmple.com be a BBB node

Loadbalancer
------------

On the loadbalancer node add an nginx configuration similar to this one
for each BBB node:

```
location /bbb-01/html5client/ {
  proxy_pass https://bbb-01.example.com/bbb-01/html5client/;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "Upgrade";
}

```

BBB Node
--------

On the BBB node add the following options to
`/etc/bigbluebutton/bbb-web.properties`:

```
defaultHTML5ClientUrl=https://bbb-lb.example.com/bbb-01/html5client/join
presentationBaseURL=https://bbb-01.example.com/bigbluebutton/presentation
accessControlAllowOrigin=https://bbb-lb.example.com
```

Add the following options to `/etc/bigbluebutton/bbb-html5.yml`:

```
public:
  app:
    basename: '/bbb-01/html5client'
    bbbWebBase: 'https://bbb-01.eaxmple.com/bigbluebutton'
    learningDashboardBase: 'https://bbb-01.eaxmple.com/learning-dashboard'
  media:
    stunTurnServersFetchAddress: 'https://bbb-01.eaxmple.com/bigbluebutton/api/stuns'
    sip_ws_host: 'bbb-01.eaxmple.com'
  presentation:
    uploadEndpoint: 'https://bbb-01.eaxmple.com/bigbluebutton/presentation/upload'
```

Create the following unit file overrides:

* `/etc/systemd/system/bbb-html5-frontend@.service.d/cluster.conf`
* `/etc/systemd/system/bbb-html5-backend@.service.d/cluster.conf`

with the following content:

```
[Service]
Environment=ROOT_URL=https://127.0.0.1/bbb-01/html5client
```

Change the nginx `$bbb_loadbalancer_node` variable to the name of the
load balancer node in `/etc/bigbluebutton/nginx/loadbalancer.nginx` to
allow CORS requests:

```
set $bbb_loadbalancer_node https://bbb-lb.example.com
```

Prepend the mount point of bbb-html5 in all location sections except
from the `location @html5client` section in
`/etc/bigbluebutton/nginx/bbb-html5.nginx`

```
location @html5client {
    ...
}
location /bbb-01/html5client/locales {
    ...
}
```
2021-11-20 22:13:47 +01:00
Mario Jr
117bb91a0e fix(audio): rename fullaudio bridge to FullAudioBridge
updated whitelist, also according to sonar checks
2021-11-09 12:10:36 -03:00
Mario Jr
db4e2f9c47 update(audio): correctly retrieves the media-server-fullaudio from meta params
Previously we were using the same for listenonly, which for default
environments points to kurento, and didn't make any difference in media server
selection.
This could be problematic in those environments where meta param
for listeonly media server is set , though.
Fullaudio has now it's own meta param that can be passed through API:
"meta_media-server-fullaudio"
2021-11-09 12:09:28 -03:00
Mario Jr
42778adeaf feat(audio): add base code for fullaudio bridge
This bridge will work with bbb-webrtc-sfu to handle microphone audio.
2021-11-09 12:08:45 -03:00
Mario Jr
7e218c3eca feat(audio): add bridge configurable scheme
we are now able to switch between audio bridges, by selecting it in
config files.
2021-11-09 12:08:09 -03:00
germanocaumo
3dd679761f Merge branch 'v2.4.x-release' of https://github.com/bigbluebutton/bigbluebutton into f-h-prom-agent 2021-11-05 19:38:40 +00:00
germanocaumo
6f1e1d4f4a refactor(prom-html5): serve endpoint via meteor instead of http server +
- separate backend/frontend metrics, only add metrics related to the role
- add role and instance labels
2021-11-05 16:31:23 +00:00
Mario Jr
c1c0a2341f Merge branch 'develop' into allow-chrome-in-ios 2021-10-28 13:38:18 -03:00
Mario Jr
94cbc3bbc8 feat: allow users in iOS join from chrome mobile version 94+
Complements #13562
2021-11-03 11:47:36 -03:00
Anton Georgiev
1622425cbc Merge branch 'develop' of github.com:bigbluebutton/bigbluebutton into 2.4-into-develop 2021-10-22 19:12:58 +00:00
Ramón Souza
9e71583ec7 restore old minimize presentation button and add a flag to switch 2021-10-14 19:31:47 +00:00
Anton Georgiev
24d672a832 Merge branch 'v2.4.x-release' of github.com:bigbluebutton/bigbluebutton into merge-24-dev 2021-10-14 15:13:17 +00:00
germanocaumo
30db4a4122 refactor(html5-prometheus): remove MCS references and change default port 2021-10-06 18:56:32 +00:00
germanocaumo
a0580431e0 feat(html5-server): add prometheus default instrumentation
Adds prometheus client to collect html5 server metrics.
Only default Node.js metrics in this initial version.

Enable via configs in private.app.prometheus
2021-10-06 18:55:19 +00:00
Paulo Lanzarin
9c09b36b23 chore(webrtc): let the server generate subscriber offers by default 2021-09-29 21:21:00 +00:00
prlanzarin
1cb412529d feat(webrtc): add EXPERIMENTAL option to disable ICE candidate signaling
ICE lite servers (eg mediasoup) dont need candidates signaled out-of-band; neither does KMS in certain scenarios

Disable their signaling saves us some ticks in bbb-webrtc-sfu and some bandwidth all around
2021-09-24 17:24:06 +00:00
Anton Georgiev
7c11600518
Merge pull request #13266 from mariogasparoni/dynamic-bridges
feat(audio): add bridge configurable scheme
2021-09-22 16:00:46 -04:00
Anton Georgiev
ab845b3078 Merge branch 'v2.4.x-release' of github.com:bigbluebutton/bigbluebutton into merge-24-rc-1-into-dev 2021-09-22 15:28:13 +00:00
Paulo Lanzarin
f8dee2f064
chore(webrtc): let the server generate subscriber offers by default 2021-09-21 13:29:08 -03:00
Anton Georgiev
becf921280
Merge pull request #12528 from bhuvankrishna/patch-1
Update settings.yml
2021-09-20 11:36:49 -04:00
Mario Jr
4fcd051223 feat(audio): add bridge configurable scheme
we are now able to switch between audio bridges, by selecting it in
config files.
2021-08-31 15:50:53 -03:00
prlanzarin
fe5e86052a refactor(html5): media server adapter config is undefined by default
Undefined by default means that the governing configuration is in bbb-webrtc-sfu

Also add some inline docs in settings.yml about the media server adapter configs
2021-08-31 01:58:51 +00:00
prlanzarin
c741cea715 feat(video): add media server adapter config for cameras in bbb-html5
Allows configuring, via bbb-html5, which media server adapter will be used by cameras; server wide
2021-08-31 00:30:06 +00:00
prlanzarin
c57fb0b388 feat(audio): add media server adapter config for listen only in bbb-html5
Allows configuring, via bbb-html5, which media server adapter will be used by listen only; server wide
2021-08-31 00:24:41 +00:00
prlanzarin
86a715dc15 feat(screenshare): add media server adapter config in bbb-html5
Allows configuring, via bbb-html5, which media server adapter will be used by screen sharing; server wide
2021-08-31 00:19:51 +00:00
Anton Georgiev
a820f7bb09 chore: Enable by default enableNetworkStats 2021-08-30 18:30:12 +00:00
Anton Georgiev
4ecb24b4fa Merge branch 'v2.3.x-release' of github.com:bigbluebutton/bigbluebutton into merge-aug30 2021-08-30 18:11:16 +00:00
Anton Georgiev
46af0a8ee0
Merge pull request #13059 from jfsiebel/allow-to-remove-all-presentations
Allow presenter to remove all presentations
2021-08-27 14:06:37 -04:00
Mario Jr
fe7c7fe685 allow network stats information and copy button to be enabled in config file 2021-08-25 16:38:36 -03:00
Anton Georgiev
e6eebfaa81
Merge pull request #12983 from prlanzarin/u24-fantas
refactor(webcams, screenshare, listen-only): let the server generate subscriber offers
2021-08-24 16:37:44 -04:00
Joao Siebel
f3f9ec19eb Allow presenter to remove all presentations 2021-08-23 18:04:16 -03:00
Ramon Souza
b048e77f10 user leave alerts feature 2021-08-20 13:14:12 -03:00
prlanzarin
54d04fdb77 refactor(listen-only): let the server generate subscriber offers 2021-08-12 13:45:18 +00:00
prlanzarin
387c453076 refactor(screnshare): let the server generate subscriber offers 2021-08-12 13:45:04 +00:00
Anton Georgiev
5cfb723e07 Merge branch 'v2.3.x-release' of github.com:bigbluebutton/bigbluebutton into aug6-merge 2021-08-06 15:23:36 +00:00
Jibon Costa
4ec70505f0 added option to allow to use customStyleUrl from config 2021-08-05 02:36:30 +00:00
Anton Georgiev
cb6ff58e37
chore: Enable VirtualBackgrounds by default
To allow for more extensive usage/testing by community
2021-07-23 13:06:21 -04:00
Anton Georgiev
1a46c1b2c0
Merge pull request #12495 from schiesslm/virtual_background
Virtual background
2021-07-23 12:56:18 -04:00
prlanzarin
9071ba8bc4 refactor(virtual-backgrounds): re-organize virtual background code
Changes (maybe not a complete list):
  - Disable virtualbgs by default
  - Move the virtualbg selector in video-preview to the side below the
profile selection
  - Restore old video-preview sizes
  - Add a wrapper class for MediaStreams (BBBVideoStream)
  - Centralize virtualbg services and business logic code into BBBVideoStream
  - Refactor and centralize virtualbg constant fetching
  - Refactor and centralize virtualbg config fetching
  - Organize virtualbg type definitions
  - Remove added states in video-provider to prevent further bloat
  - Remove added states in video-preview to prevent further bloat
  - Lock virtual bg switching while video-preview itself is locked
  - Add proper virtualbg error surfacing via toasts
  - Refactor iOS availability detection to use centralized UA checker
  - Avoid calling gUM when toggling virtualbgs on/off
  - Make virtualbg video-list-item action a toggle instead of a
state-aware action
  - Make virtualbg switching work in video-preview for cameras that are
already shared. Especially useful when there are multiple source
cameras, and will be important in the near future
  - Add Derivative Work notices in files that are partially copied from
jitsi-meet
  - Simplify track replacing in video-provider
  - Split video-preview UI code for virtualbgs into a separate functional component
2021-07-22 18:53:42 +00:00
Ramon Souza
28ed62a128 remove default layout from settings file 2021-07-22 08:20:53 -03:00
Bartu Bazna
9f791a8892 Squashed virtual background commits 2021-07-21 20:00:19 +00:00
Anton Georgiev
5e1fe55731
Merge pull request #12760 from ramonlsouza/change-default-layout
Set new Layout Manager as default
2021-07-13 09:06:32 -04:00
Vitor Mateus De Almeida
6cfd7ee958 Clean code and add some missing css 2021-07-13 09:30:10 -03:00
Ramon Souza
604ae9cf6f change default layout to smart 2021-07-13 09:25:53 -03:00
Vitor Mateus De Almeida
f0145e001e Add resizable and draggable in cameras dock
Remove settings and change resizable context data

Add resizable draggable drop areas in cameras dock
2021-07-13 04:25:03 -03:00
Anton Georgiev
b9cc633286 Merge branch 'v2.3.x-release' of github.com:bigbluebutton/bigbluebutton into merge-2.3.5-into-develop 2021-07-06 19:36:19 +00:00
Mario Jr
c4abd274e8 feat(audio): add option for enabling/disabling kms's trickle for mic 2021-07-02 12:51:00 -03:00
germanocaumo
bd29d156b3 fix(poll): Respect maxCustom property in quick-polls
More than 5 answers are now of Custom type poll and answers passed directly.
Increase A-I slide options detection
2021-06-30 15:19:09 +00:00
Anton Georgiev
19a49c83f1
Merge pull request #12620 from germanocaumo/quick-poll-max-custom
fix(poll): Respect maxCustom property in quick-polls
2021-06-24 14:55:45 -04:00
Anton Georgiev
905e0dd4dd
Updated bbbServerVersion to 2.4 2021-06-23 10:35:18 -04:00
Ramon Souza
1ac5350fd4 change layout ui 2021-06-22 09:17:11 -03:00
germanocaumo
4f06b1fbf8 feat(poll): add option to disable poll chat message 2021-06-18 14:13:20 +00:00
germanocaumo
2c262483d2 fix(poll): Respect maxCustom property in quick-polls
More than 5 answers are now of Custom type poll and answers passed directly.
Increase A-I slide options detection
2021-06-18 14:02:09 +00:00
Anton Georgiev
5ee5ed1970 Merge branch 'v2.3.x-release' of github.com:bigbluebutton/bigbluebutton into merge-june16 2021-06-16 19:54:28 +00:00
Pedro Beschorner Marin
068b82b1fa refactor(connection status): remove legacy monitor
Remove parts of a previous connection monitor.

To add some context (as far as my memory goes) to the multiple connection
monitor features the product has, `stats` (currently named `connection status`)
was introduced at the Flash client back in ~2016. @fcecagno and I did it
as a BigBlueButton's Summit activity. Our work was squashed into a single
commit in 92554f8b3e :).

I'm not sure about the whole story behind `network information` (the late
connection monitor added to the HTML5 client) but I assume it should work
as a collector for a bunch of different connectivity monitors. I remember
when it was introduced but I don't know why it wasn't adopted. My best guess
would be because of some performance issues the `user list` had back then.

To follow on why `connection status` replaced `network information` at the
HTML5 client, when I did the `multiple webcams` feature I had to refactor
a big chunk of the `video provider` (#8374). Something that wasn't really
helping there was the adaptation of `stats` that was made to show local
feedback for each webcam connection. Although this feature wasn't being
used anymore, `network information` did rely on that to build up data. With
this monitor gone I assumed it was my responsibility to provide an alternative
so I promoted Mconf's port of the Flash `stats` monitor to BigBlueButton's
HTML5 client (#8579).

Well, that's my perspective on how things went for those features. If
anyone would like to correct me on something or add something else on
that history I would appreciate to know.
2021-06-13 14:02:46 -03:00
Max Franke
8b274476b1 feat(video): indicate who is sharing webcam
Add the `camera` icon in the user list for whoever is sharing,
in order to improve the understanding of who is sharing the webcam.
It is possible to enable/disable this indication in the settings.yml
2021-06-12 13:40:47 -03:00
Ramon Souza
97aa7278a5 add option to emphasize moderator messages in public chat 2021-06-08 08:56:59 -03:00
Bhuvan Krishna
d89aa1d120
Update settings.yml
Updated langauge
2021-06-06 18:06:12 +00:00
Bhuvan Krishna
00d23aade1
Update settings.yml
Changed language
2021-06-06 17:39:52 +00:00
Tainan Felipe
bf6bbfca69 Add conditional to don't show dropdown when no opition avaible 2021-06-04 15:51:29 -03:00
Tainan Felipe
25bf0096c5 Add field to toggle the download of the public chat message 2021-06-02 11:50:26 -03:00
Ramon Souza
098746d3c0 add setting to enable/disable raise hand action button 2021-05-18 13:39:09 -03:00
Anton Georgiev
b4e609f2c8 feat(guests): Introduce dynamicGuestPolicy in setting.yml 2021-05-12 16:01:04 +00:00
Joao Siebel
70e72cca25 Add warning on meeting end modal about content in meeting. close #10721 2021-05-11 14:34:18 -03:00
Mario Junior
35d3f7a0fd
Update bigbluebutton-html5/private/config/settings.yml
Explicitly set showAudioFilters to true

Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>
2021-05-06 12:02:32 -03:00
Mario Jr
69b2608f88 feat(audio): add showAudioFilters option in settings.yml
This allows showing (or hiding) the option from users in the conference.
Default value is true (show this option to users).
Fixed some eslint warnings.
2021-05-06 11:43:06 -03:00
Anton Georgiev
e62eda3d72
Merge pull request #12272 from mariogasparoni/fix-12190
fix: first audio join in breakout fails with specific config
2021-05-04 10:42:37 -04:00
Mario Jr
db4158dc30 fix: first audio join in breakout fails with specific config
When listenOnlyMode=false, skipCheck=true and skipCheckOnJoin=true, the
audio tries to start a session more than one time, causing it to fail
at the first one (and reconnect after that).

Now we check if user is already connecting before trying to start a new
audio session.

Added some info in settings.yml for the options related to this commit
Closes #12190
2021-05-04 10:11:33 -03:00
Anton Georgiev
040f8c615a
Removed "dev" from 2.3 versioning in settings.yml 2021-04-30 13:19:04 -04:00
Anton Georgiev
60778bf171
Merge pull request #12100 from jfsiebel/better-upload-feedback
Improve feedback to user after a failed file upload
2021-04-29 13:21:37 -04:00
Joao Siebel
60f25939c0 Add configuration for max length typed answer in poll 2021-04-29 13:54:39 -03:00
Maxim Khlobystov
848fdc3ed0 Make the random user picking countdown optional 2021-04-28 15:44:08 +00:00
Joao Siebel
2f89598d2d Merge remote-tracking branch 'upstream/develop' into better-upload-feedback 2021-04-27 17:46:22 -03:00
Anton Georgiev
db769d081b
Merge pull request #12145 from prlanzarin/u23-seepferdchen
feat(screenshare): add screen bitrate config in bbb-html5
2021-04-26 17:36:23 -04:00
Anton Georgiev
341a268fa1 chore: connection status logs enhancement 2021-04-26 21:19:17 +00:00
Anton Georgiev
2a0bca4890
Merge pull request #12139 from pedrobmarin/connection-status-server-log
chore(connection status): log status change at the server
2021-04-26 16:41:10 -04:00
Anton Georgiev
91b57f82f9 feat: allow to omit chat message from logging 2021-04-26 16:04:57 -04:00
prlanzarin
84cbda75a3 feat(screenshare): add screen bitrate config in bbb-html5 2021-04-24 19:12:59 +00:00
Pedro Beschorner Marin
83c813ac6f refactor(connection status): interval and log configuration
Simplify how connection status inteval is configured and make server
log the solo logging option.
2021-04-23 19:15:32 -03:00
Paulo Lanzarin
160e2a238a
feat(video): set audio floor sorting as default for pagination
Set paginationSorting to VOICE_ACTIVITY_LOCAL by default (audio floors -> alphabetical -> local stream).

Rationale: a more sensible default mode for pagination that actually works a bit better for the end user than
the previous mode (presenter -> alphabetical). Should reduce the need for page switching by focusing on
the ones that are actually active in the conference.
2021-04-22 16:20:13 -03:00
Ramon Souza
d6e3f137c4 remove webcamsDefaultPlacement unused settings 2021-04-22 14:26:59 -03:00
Joao Siebel
c5071093d9 Improve feedback to user after a failed file upload 2021-04-20 14:21:12 -03:00
prlanzarin
001ab9554c video: added voice activity stream sorting, made stream sorting extensible
Video streams can be sorted by voice floor activity in the client according to FreeSWITCH´s floor events. The feature works together with pagination, essentially giving an Last-N like experience while not disrupting too much

Made video stream sorting extensible in a way. The sorting modes for pagination and unbounded can be configured in settings.yml and new sorting modes can be added to the stream sorting util under video-provider. Inline docs explain how to do that

Changed how the stream ID attribute from video-streams collection was passed to downstream components; we had an array map that was executed every change just to map stream to cameraId, which is bizarre. So I changed the cameraId usage in downstream components to be conformat with the collection attributes and shaved off the map where it wasnt needed

Add better selectors to video-list-item container´s VoiceUser fetch
2021-04-12 19:06:07 +00:00
Anton Georgiev
056ffc9e2a
Removed memoryMonitoring from settings.yml 2021-04-06 19:54:11 -04:00
Ramon Souza
9a0babd5d8 new default for showAllAvailableLocales (true) 2021-04-05 08:29:12 -03:00
Anton Georgiev
4b68749fb9
Set breakoutRoomLimit to 16
With defaults of 2 backend and 2 frontend bbb-html5 nodejs processes we can handle more breakouts. @ritzalam confirmed no audio changes are needed
2021-04-01 17:22:16 -04:00
Anton Georgiev
6695f7a119
Merge pull request #11813 from mariogasparoni/merge-update-pr-10129
Update and some improvements on PR #10129 - dynamic change audio device
2021-03-30 13:50:30 -04:00
Anton Georgiev
7d1d9fd8e7
Enabled by default Shared notes in 2.3
Packaging already replaces `url: ETHERPAD_HOST` so it should be safe to have `note:enabled: true`
2021-03-30 09:28:01 -04:00
Mario Jr
60378e8c63 Merge branch 'develop' into merge-update-pr-10129 2021-03-29 19:07:27 -03:00
Mario Jr
be84fc91ee Add option to enable/disable dynamic audio device selection
By default this is set to true, allowing users to dynamic change audio devices
Fixed a few linter warnings
2021-03-29 18:55:20 -03:00
Anton Georgiev
b836e5f7ca
Merge pull request #11758 from pedrobmarin/connection-status-button
Move connection-status to nav-bar
2021-03-29 11:44:49 -04:00
Paulo Lanzarin
22436ef60b
screenshare: bump base/max timeouts to 30s/60s
Bump base and max screenshare timeouts to 30s and 60s to follow the values we currently use for cameras.
2021-03-28 16:48:38 -03:00
Pedro Beschorner Marin
280b32d21d Move connection-status to nav-bar
- Removed the connection-status history from the user list's gear
icon and now is opened by the connection-status button. Moderators will
render the same modal as before and viewers will only have access to their
own data.

 - Added data-savings shortcut at the connection-status modal.

 - Added websocket round-trip time.
2021-03-26 10:12:09 -03:00
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
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
Joao Siebel
c34d5381fe Add flag to enable/disable custom heartbeat functions 2020-11-26 11:19:59 -03:00
Anton Georgiev
3faabd1821 Merge 2.2.29 and 2.2.30 into 2.3.x 2020-11-24 15:13:09 +00:00
prlanzarin
8dda22f8a7 [html5/webrtc] Fix tryGenerateIceCandidates rejections, put it behind a flag
Fixed two occurrences where the tryGenerateIceCandidates workaround rejected without an error, which borked the callers error handling

Also put it behind a config flag. This workaround used to be important when Kurento didnt infer prflx candidates properly, but that`s no longer the case. With the flag, we can disable the workaround to see if there`s any visible regression and hopefully remove it down the road
2020-11-11 13:43:36 +00:00
prlanzarin
a1f0276b64 [html5/audio] Add hackViaWs to SIP.js and make it configurable in settings.yml, 1002 workaround
This adds the possibility to configure the SIP Via header to plain WS to allow reverse proxying from WSS to WS, internally, to work around a bug in freeswitch where the WSS stack would get deadlocked due to a still unidentified bug in there that has to do with SSL termination
2020-11-10 15:04:45 +00:00
Anton Georgiev
ce8c733ec4 move the check to disable mutedAlert feature; temp disable it 2020-10-26 21:07:15 +00:00
Mario Jr
18c20261e1 Change default value of iceGatheringTimeout to current's SIP.js default
For some reason (still investigating), using turn/coturn on 443/tcp makes firefox's iceGathering process (during echo test) takes 12+ seconds (tested on webrtc's trickle page with multiple instances).
This was found when testing the current default (15s) on production with a private turn/coturn server on port 443/tcp. For default bbb setup (stun only), echo test still runs fast.
To avoid adding extra delay to iceGathering on this scenario (Firefox + turn on 443/tcp), i am just setting the default value back to the 5s (old default).
So , for those who wants to reduce the 1004 occurrences, increasing the iceGatheringTimeout could help (just be aware this adds delay on the mentioned scenario).
2020-10-24 08:58:25 -03:00
Mario Jr
a86ff72aa3 Increase default iceGatheringTimeout
Added a default 'MEDIA' option: iceGatheringTimeout. This option allows admin to set a higher ICE gathering timeout, which can help when getting ICE errors during audio negotiation (eg 1004)
Default value set to 15s (current default is 5s).
2020-10-23 11:21:20 -03:00
Anton Georgiev
0c7ead1916 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into oct16-merge 2020-10-21 14:48:02 +00:00
Anton Georgiev
1ee7946d38
Merge pull request #10615 from antobinary/09-30-libs
Added allowDefaultLogoutUrl config to optionally ignore non-custom logoutUrl
2020-10-09 17:14:36 -04:00
Anton Georgiev
41cab38e87 Added allowDefaultLogoutUrl config to optionally ignore non-custom logoutUrl 2020-10-08 05:15:05 -04:00
fireba11
91c49417ad fixes #9952
adds identifier for samsungs mobile browser (based on chromium) as
supported browser for check
2020-09-30 09:12:39 -04:00
fireba11
49a44d1339 fixes #9952
adds identifier for samsungs mobile browser (based on chromium) as
supported browser for check
2020-09-28 20:41:53 +02:00
Mario Jr
619ffa0ec1 Port SIP.js to 0.17.1 release
This considerably changes the way we process audio signaling and start audio elements in user's browser.
We now avoid using AudioContext element for both microphone and listenonly calls, once it is unstable for some iOS devices (cracky audio, user stops hearing audio after a while).
Increased default value for listenOnlyCallTimeout: this avoids activating FreeSWITCH's fallback when ICE negotiation takes longer than 15sec (tested on DO).
Increased listenonly logs.
This fixes #8133 #10388
2020-09-25 20:26:22 -03:00
Vitor Mateus De Almeida
69eb26f281 Merge remote-tracking branch 'upstream/develop' into debug-window 2020-09-22 09:37:42 -03:00
Anton Georgiev
377dc27a8d Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into 09-16-merge 2020-09-17 14:37:28 +00:00
mvasylenko
7ba421cc4a Configurable max number of breakout rooms
Use this wisely: breakoutRoomLimit parameter was introduced to controll max number of breakout rooms.
2020-09-10 11:59:21 -03:00
Vitor Mateus De Almeida
849bb9a469 Add debug window 2020-09-03 20:35:57 -03:00
Anton Georgiev
7ed6a2c083 Update minBrowserVersions 2020-08-28 09:36:59 -04:00
Anton Georgiev
8cc8474655 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into 08-26-merge 2020-08-27 19:09:07 +00:00
Anton Georgiev
7d9a58ac61
Merge pull request #10273 from lkiesow/modern-camera-profiles
Modern Camera Profiles
2020-08-25 08:35:25 -04:00
Anton Georgiev
1bb70a62ca
Merge pull request #10320 from prlanzarin/upstream-2.2-vpeg-pagination
video-provider: add inline docs for pagination configuration
2020-08-25 08:33:54 -04:00
prlanzarin
81868ce922 video-provider: add inline docs for pagination configuration
Change the default page sizes for mobile to 2
2020-08-24 21:28:42 +00:00
Anton Georgiev
4fb301c48b
Merge pull request #10293 from prlanzarin/upstream-2.2-vpeg-pagination
video-provider: first tackle at video pagination
2020-08-20 15:24:57 -04:00
prlanzarin
a98c476239 video-provider: remove page change lock in favor of a debounced approach 2020-08-20 15:43:02 +00:00
Lars Kiesow
102caa371f
Modern Camera Profiles
This patch switchessing a somewhat more modern default for the camera
profiles by requesting 720p for the `high` and `hd` profiles like this.

This was discussed on the developers list at:

- https://groups.google.com/g/bigbluebutton-dev/c/PL3kXV9pZmo
2020-08-19 23:51:05 +02:00
Anton Georgiev
b648c26c61
Merge pull request #9012 from Tainan404/issue-9011
Add preloading for slides
2020-08-19 15:28:28 -04:00
prlanzarin
2d436977cb video-provider: add pagination page change timer to prevent spamming 2020-08-19 13:56:22 +00:00
Tainan Felipe
73ba3ef2e9
Merge branch 'develop' into issue-9011 2020-08-19 10:14:12 -03:00
prlanzarin
28e826118a video-provider: first version of video pagination 2020-08-18 17:00:47 +00:00
KDSBrowne
fbeaf87dbd localize the dropdown values for webcam quality 2020-08-17 16:19:45 +00:00
Lars Kiesow
43fc7bf916
Switch to YAML Syntax for Logging
This patch switches to using a much more readable YAML syntax for the
logging configuration in the HTML5 client.
2020-08-16 12:08:41 +02:00
Anton Georgiev
5be5aed1d9 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into merge-2020-08-12 2020-08-12 17:12:58 +00:00
prlanzarin
c524abf05b video-provider: normalize hidden cameraProfiles constraints
Also add some inlined docs to settings.yml
2020-08-11 14:51:50 +00:00
Paulo Lanzarin
629e2dbfd4 Update low-u3 profile to 30kbps/3fps
1 FPS looks too broken. Lower bitrate as much as we can, leave FPS at 3 which is minimally acceptable.
2020-08-05 16:56:25 +00:00
prlanzarin
69ad98f7de video-provider: fix threshold profile names 2020-08-05 16:56:12 +00:00
prlanzarin
1453ee560c video-provider: use single values for threshold frameRates to expand compat 2020-08-05 16:56:06 +00:00
prlanzarin
642de5076a video-provider: first, simplified version of dynamic camera profile control 2020-08-05 16:55:41 +00:00
prlanzarin
dac3259c48 Merge remote-tracking branch 'pedrobmarin/bbb-multiple-webcams' into upstream-2.2-vpeg-base 2020-08-05 14:20:58 +00:00
KDSBrowne
5a158eaab0 turn on raise hand notification / sound by default 2020-07-28 16:13:20 +00:00
Anton Georgiev
7744817130
Merge branch 'develop' into issue-9647 2020-07-28 10:48:13 -04:00
Anton Georgiev
da8075e2ed
Enable displayBrandingArea in html5 settings.yml 2020-07-22 15:25:43 -04:00
Anton Georgiev
4b2fab6f01
Set bbbServerVersion to 2.3-dev 2020-07-16 15:45:25 -04:00
KDSBrowne
8a9430bf26 Merge branch 'develop' of https://github.com/bigbluebutton/bigbluebutton into issue-9647 2020-07-16 12:05:44 +00:00
prlanzarin
1dbafffa26 audio: make listen only call timeout configurable 2020-07-09 18:02:18 +00:00
prlanzarin
0f8b27d2d8 video-provider: make camera timeouts configurable
Also add missing settings.yml val for wsConnectionTimeout
2020-07-09 17:53:24 +00:00
Anton Georgiev
c5e6de2296 Enable multiple webcams and network stats by default 2020-07-07 18:43:46 +00:00
Pedro Beschorner Marin
526f79e8f2 Merge remote-tracking branch 'bigbluebutton/v2.2.x-release' into bigbluebutton/develop 2020-06-30 18:15:18 -03:00
KDSBrowne
0877604d00 improve notification position / prevent state update on unmounted component 2020-06-23 13:38:59 +00:00
KDSBrowne
b3b9a45b35 add config options for muted alert 2020-06-22 16:02:24 +00:00
Anton Georgiev
e7d3487b5d
Merge pull request #9878 from lfzawacki/ending-time-alerts
Make meeting/breakout ending time alerts configurable
2020-06-19 16:25:50 -04:00
Lucas Zawacki
3f16d894c3 Configurable ending time and alert values 2020-06-18 15:11:33 -03:00
Lucas Zawacki
a586c7db55 Configuration for remaining time 2020-06-18 15:11:26 -03:00
Joao Siebel
3e95ed0e4b Merge remote-tracking branch 'upstream/v2.2.x-release' into merge-2.2 2020-06-16 16:40:56 -03:00
mw781
bf68d2c76f Refactor code and implement mirroring for video-preview 2020-06-14 20:13:47 +01:00
Fred Dixon
ccf42b0a67
Merge pull request #9836 from lkiesow/html5-camera-profile-docs
[HTML5 Client] Camera Profile Documentation
2020-06-13 19:00:57 -04:00
Lars Kiesow
f1763cede6
[HTML5 Client] Camera Profile Documentation
This patch adds a short comment block to the HTML5 client's
configuration file explaining the options available for the camera
profiles. Having this in the configuration file helps as a quick
reference and means that administrators do not need to find external
sources of information.
2020-06-14 00:37:59 +02:00
mw781
17350a57fe Implement own video mirroring 2020-06-12 23:39:41 +01:00
Anton Georgiev
1ba6d10c0a
Update copyright year in html5 client 2020-06-05 09:20:18 -04:00
Anton Georgiev
f510fdc484
Merge pull request #9517 from KDSBrowne/2.2-restore-presentation-on-update
Restore minimized presentation for viewer on (slide or zoom change / pub…
2020-05-29 13:20:31 -04:00
Anton Georgiev
29afdafd3e
Merge pull request #9658 from konkret-devils/v2.2.x-release
Add bbb_show_public_chat_on_login as a join (co-) parameter
2020-05-29 12:42:59 -04:00
Anton Georgiev
ac6fd2824c
Merge branch 'develop' into 2.3-audio-stats 2020-05-26 12:36:15 -04:00
Martin Beckmann
630f3393aa Integration of PR #9292 (by weeman1337) and PR #9658 (by mantridereso)
..oops, forgot to update settings.yml
2020-05-26 15:17:11 +02:00
Anton Georgiev
c9e996de21 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into merge-2.2-into-develop 2020-05-25 17:32:24 +00:00
Anton Georgiev
66f11468ac
Merge pull request #9631 from KDSBrowne/issue-9592
Fix userData-shortcuts causing client crash
2020-05-21 15:01:49 -04:00
Anton Georgiev
ead986e3e2
Merge pull request #9542 from prlanzarin/upstream-2.2-safari-ss
Screenshare: add support on Safari 13+ and make constraints configurable
2020-05-21 14:38:32 -04:00
prlanzarin
2cba85e866 html5: refactor STUN/TURN fetch, add fallback STUN, fix deadlock in audio join
Refactored STUN/TURN fetch to be done only once, when successful, per session and cache it in mem to avoid too many reqs. Current way is a bit dumb, this should increase reliability a bit more. The caching is configurable so folks who want to use very short lived TURN credentials can disable it

Add a fallback STUN config option to be used when the default STUN/TURN fetch fails

Clean the safari/no candidate generation pre flight check from 3rd party STUNs

Fix deadlock in audio join when STUN/TURN fetch failed
2020-05-21 04:35:17 +00:00
KDSBrowne
13cf0799a1 fix shortcuts passed as userData not activating 2020-05-20 13:47:04 +00:00
prlanzarin
e875408f8d screenshare: add support on Safari 12.1+ and make constraints configurable
This adds support for screensharing on Safari 12.1+ or whichever has getDisplayMedia enabled

To be conservative and backwards compatible, I`ve maintained the current gUM-based code available as a fallback for those still using older versions of FF or Chrome

Made screenshare constraints configurable. The constraints config will be piped directly to gDM, so it`s just a regular gDM constraint dictionary
2020-05-14 16:54:54 +00:00
Pedro Beschorner Marin
366ea0ce40 Included stats help URL 2020-05-14 10:20:10 -03:00
KDSBrowne
f5d004c322 restore minimized presentation for viewer (slide or zoom change / published poll / added annotation) 2020-05-12 12:58:14 +00:00
Anton Georgiev
cc79c4b6ae merge 2.2.10 into 2.3 2020-05-05 19:52:44 +00:00
Richard Alam
ac78fd5913 - revert back value for wsUrl 2020-04-24 09:39:21 -07:00
Richard Alam
79096d0c55 Increase voice conf length
We need to increase the length of the voice conference. If we have lots of meetings running,
 there is a high chance of collision.

 Need corresponding changes to FreeSWITCH dialplan.

 In bbb_echo_test.xml, change to `expression="^echo(\d{5,11})$"`.

 In bbb_conference.xml, change to `expression="^(\d{5,11})$"`.
2020-04-24 09:22:46 -07:00