Commit Graph

646 Commits

Author SHA1 Message Date
GuiLeme
d47d586f0e [issue-16734] - refactor disabledFeatures presentationArea to just presentation 2023-02-22 17:16:43 -03:00
GuiLeme
cbe3e88938 [issue-16734] - Implemented new disabledFeature presentationArea 2023-02-17 12:44:36 -03:00
Guilherme Pereira Leme
455a11d1fb
Update bigbluebutton-html5/imports/ui/services/auth/index.js
changes in review

Co-authored-by: Gustavo Trott <gustavo@trott.com.br>
2023-01-20 09:39:11 -03:00
GuiLeme
8af6c547f2 [issue-16284] - Changes in review 2023-01-20 08:44:21 -03:00
GuiLeme
6f5053d492 [issue-16284] - Changes in review 2023-01-19 11:32:00 -03:00
GuiLeme
7bb03551b1 [issue-16284] - changed behavior of not showing anything when user is moved out a breakout 2023-01-19 09:21:28 -03:00
GuiLeme
2e0a85f268 [issue-16284] - tweaked minor problems and fixed blue screen when changing breakout rooms 2023-01-17 11:30:25 -03:00
GuiLeme
78b165ed7c Merge remote-tracking branch 'upstream/v2.6.x-release' into disabled-transcriptions 2023-01-09 10:58:25 -03:00
GuiLeme
f67f530b32 [disabled-transcription] - Renamed audioCaptions to liveTranscription (for disabledFeatures) 2023-01-09 10:47:22 -03:00
Daniel Schreiber
4347ff2e3b Re-add option to disable enforce relay webrtc traffic for Firefox
There may be other bridges may not need to force relay traffic on
firefox as @prlanzarin pointed out. So set the default to a
configuration that works out of the box but leave other choices for the
operator.

The option is moved from kurento namespace to media next to the general
forceRelay option.
2023-01-03 23:21:25 +01:00
Daniel Schreiber
74f37db4fa Get rid of forceRelayOnFirefox
Firefox has a buggy ICE implementation and needs WebRTC media traffic to
be routed through a turn server to work reliably with mediasoup.

Use the information fetched by the STUN API to determine if the operator
has configured a turn server. If there is one force firefox to use it.

Closes #16164
2022-12-18 23:17:14 +01:00
GuiLeme
b4afec689e [disabled-transcription] - Created new disabledFeature audioCaptions 2022-12-16 17:04:14 -03:00
Ramón Souza
064b554dfd Merge remote-tracking branch 'upstream/v2.5.x-release' into merge-2526-dec14 2022-12-14 13:23:11 -03:00
Ramón Souza
1fda877450
Merge pull request #15929 from prlanzarin/u25/fix/cam-reconn-issues
fix: guarantee cleanup of stale data on re-subscriptions
2022-12-13 13:12:41 -03:00
Gustavo Trott
531241d269
feat: Button to transfer user to mobile App (#15183)
* Provide a link to transfer user to mobile App
* show menu option only if appStoreLink is present and it is not running on mobile app already
2022-11-15 09:49:24 -03:00
Tiago Jacobs
a412371688
Merge pull request #15968 from iMDT/fix-screenshare-in-26
(fix:screenshare) fixes screenshare using BigBlueButton-Tablet app
2022-11-09 16:34:43 -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
Daniel Schreiber
c42fa1ca77 Add config option for html5 settings storage
When BBB is run as a single node or in a scaleout setup with a cluster
proxy in front (see https://docs.bigbluebutton.org/admin/clusterproxy.html) it
is useful to store client settings in browser localStorage instead of
sessionStorage. If localStorage is configured then the client will keep seetings
like notifications for user joining, chat etc across meetings.

It is not advisable to set the setting to `local` in a setup of multiple BBB
nodes without a cluster proxy in front of it because this would lead to
unexpected behaviour at users. The browser would store settings for each server
and for users it would look like BBB is sometimes store the settings and
sometimes not.

It adds the new setting

```yaml
public:
  app:
    userSettingsStorage: (session|local)
```
2022-11-09 09:00:03 -03:00
Tiago Daniel Jacobs
07f4ba1dce Fix screenshare in BigBlueButton-tablet app 2022-11-08 22:50:16 -03:00
Ramón Souza
13b2d8791d
Merge pull request #15814 from danimo/fix/15803
fix: spelling errors in session keys
2022-11-04 13:15:59 -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
Gustavo Trott
09697948e1
Merge pull request #15708 from danielpetri1/breakout-upload-ui 2022-10-31 08:29:56 -03:00
Ramón Souza
8d0316ed31
Merge pull request #15747 from JoVictorNunes/issue-15713
improvement: add internationalization singleton
2022-10-28 13:24:03 -03:00
prlanzarin
401ddc4014 fix: guarantee cleanup of stale data on re-subscriptions
Currently, collection cleanup code is only run when an added event
is received from the server. Where that fails is in scenarios where
a server-side collection turns empty while an affected users is
disconnected - and then reconnects. There's no removed (or updated)
event so no cleanup code is run and you have stale data.

This commit guarantees a stale data check is run whenever a subscription
is established again. The `added` check was also maintained, although
I'm not too sure anymore it's is still needed. That may need to be
revisited.
2022-10-28 13:37:41 +00:00
Daniel Petri Rocha
0a2b4186a2 Merge branch 'v2.6.x-release' into breakout-upload-ui 2022-10-19 19:51:05 +02:00
Joao Victor
d628131e64 improvement: error screen messages and logs 2022-10-14 14:47:27 -03:00
Daniel Molkentin
25b81b6de1 fix: spelling errors in session keys 2022-10-10 14:09:18 +02:00
Daniel Petri Rocha
184b1c2169 Merge branch 'v2.6.x-release' into capture-shared-notes 2022-10-08 11:24:22 +02:00
Joao Victor
7e8cee7340 improvement: error screen messages 2022-10-05 11:30:12 -03:00
Daniel Petri Rocha
26a93f6853
Merge branch 'v2.6.x-release' into capture-shared-notes 2022-10-03 11:03:24 +02:00
Joao Victor
50d92925f7 fix: add empty string fallback config 2022-09-28 14:24:27 -03:00
Joao Victor
f8279ab5b4 improvement: add internationalization singleton 2022-09-28 13:48:27 -03:00
Ramón Souza
2b0971e2c8 Merge tag 'v2.5.6' into merge-256-26 2022-09-26 09:17:59 -03:00
Ramón Souza
6d1463e03b add disableWebsocketFallback settings 2022-09-21 11:03:21 -03:00
Daniel Petri Rocha
e23d00004f 'Capture Shared Notes' button in front-end 2022-09-20 17:43:13 +02:00
prlanzarin
0f24e5634d fix(audio): bypass overconstrained errors in SFU-based audio 2022-09-15 20:42:43 +00:00
prlanzarin
b3eebbb926 fix(audio): retry gUM without pre-set deviceIds on OverconstrainedError(s)
There are some situations where previously set deviceIds (
local/session storage) may become stale. This causes an unexpected
behavior where audio is temporarily borked until the user clears their
local storage.
This issue has been seen more recently on Safari endpoints when switching
back-and-forth breakout rooms in environments running under iframes.
Also seen randomly on endpoints with virtual input devices.

This centralizes audio gUM calling into a single method that retries the
gUM procedure without pre-set deviceIds only if the initial call fails
due with an OverconstrainedError - hopefully circumventing the issue.
2022-09-15 19:25:30 +00:00
Paulo Lanzarin
9c4707b56d
Merge pull request #15582 from prlanzarin/u26/refactor/mic-inout-logs-26
fix(audio): review in/out device management and switching
2022-09-09 09:22:40 -03:00
prlanzarin
646db91367 fix(webcam): add MediaStream id to 'inactive' event handlers
BBBVideoStream 'inactive' event currently does not send the
MediaStream id as the payload for handlers. This can cause theoretical
race conditions due to media stream mismatches in places where
'inactive' handling is done globally (eg video-preview).

This adds the MediaStream id to BBBVideoStream's 'inactive' event
and uses it in video-preview to avoid such race conditions.
2022-09-06 12:31:26 +00:00
Ramón Souza
4e46284a3b
Merge pull request #15603 from JoVictorNunes/camera-brightness
feat(camera): set camera brightness
2022-08-31 17:00:34 -03:00
Ramón Souza
62f8ab3cb2 Merge remote-tracking branch 'upstream/v2.6.x-release' into pr-15460-aug26 2022-08-26 14:05:45 -03:00
Joao Victor
396f5320a4 feat(camera): set camera brightness 2022-08-26 11:50:46 -03:00
prlanzarin
ec1879f96b fix(audio): add inputDeviceId enforcement for post-join/gUM
Extract the deviceId again from the stream to guarantee consistency
between stream DID vs chosen DID. That's necessary in scenarios where,
eg, there's no default/pre-set deviceId ('') and the browser's
default device has been altered by the user (browser default != system's
default).
2022-08-24 14:39:09 +00:00
prlanzarin
89e814d570 fix(audio): centralize device change code, add rollbacks, surface errors
There's no rollback procedure in case a device switch fails right now,
nor does the code entrypoints that call the switching procedures wait
for resolution or failure before marking the new device as chosen. That
may cause inconsistent states in a couple of ways:
  - No rollback: switch fails, audio is still on but no actual
    microphone input is being transmitted
  - Not waiting for resolutions: inconsistent chosen devices on failures
Device switching errors are also not surfaced to the end user

This commit:
  - Adds device rollback and proper resolution/failure response
    awaits to try and make the state a bit more consistent.
  - Centralizes the input device switching code to be reused between
    different bridges
  - Centralizes device ID state management in audio-manager to try and
    mantain them a bit more consistent across the board
  - Surface device switching failures to the end user
  - Guarantee device IDs are set to the session storage on all
    appropriate scenarios
2022-08-24 13:28:27 +00:00
prlanzarin
ac71167ba5 refactor(audio): add debug logs for microphone device changes
In/out device changes are mostly silent which makes it hard to track
them to look for problems.
2022-08-23 14:50:50 +00:00
Joao Victor
66403fe5fe fix: check virtual background type on change 2022-08-17 15:14:14 -03:00
prlanzarin
0e162f1cda feat: configurable DSCP marking for WebRTC media
RTCRTPSender exposes DSCP marking via `networkPriority` in the encodings
configuration dictionaries. That should allow us to control
QoS priorities for different media streams, eg audio with higher network
priority than video. The only browser that implements that right
now is Chromium.

To use this, the public.app.media.networkPriorities configuration in
settings.yml. Audio, camera and screenshare priorities can be controlled
separately. For further info on the possible values, see:
  - https://www.w3.org/TR/webrtc-priority/
  - https://datatracker.ietf.org/doc/html/rfc8837#section-5
2022-08-15 21:24:05 +00:00
Daniel Petri Rocha
3529fe9f28 Rename parameters; hide download button and label when disabled 2022-08-02 15:53:40 +02:00
Daniel Petri Rocha
5dfc9293fb Merge branch 'v2.6.x-release' into pdf-disabledFeatures-tldraw 2022-08-02 12:29:38 +02:00
Gabriel Porfirio
8198953f30 removing unused imports 2022-07-28 16:50:31 -03:00