Commit Graph

1767 Commits

Author SHA1 Message Date
Paulo Lanzarin
d7e9cb05ee
Merge pull request #18461 from prlanzarin/u27/feat/transparent-listen-only
feat(audio): add experimental transparent listen only mode
2023-08-08 09:39:12 -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
Paulo Lanzarin
5ddf3155c7
Merge pull request #18407 from prlanzarin/u27/fix/audio-retry-timeout-logs
feat(audio): add retryThroughRelay, +...
2023-08-03 15:50:04 -03:00
Ramón Souza
df8e9e9440 split disabled download of presentation params 2023-07-31 17:03:29 -03:00
prlanzarin
50d019ac01 chore(audio): lower SFU audio negotiation timeout to 15s (from 25s) 2023-07-31 11:40:04 -03: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
Anton Georgiev
1e08c28962 chore: set guestPolicyExtraAllowOptions to false 2023-07-31 09:49:32 -04:00
Ramón Souza
8e0b48e8be
Merge pull request #18164 from Arthurk12/bbb-wake-locke
feat: Screen wake lock feature
2023-07-27 10:58:05 -03:00
Ramón Souza
bf6f96fc44 renaming interactions -> reactions 2023-07-18 08:54:36 -03:00
Dennis Benz
dd15012761 Html5: Add config to hide names in typing indicator 2023-07-14 15:35:18 +02:00
Anton Georgiev
45215ed88f
Merge branch 'v2.7.x-release' into bbb-wake-locke 2023-07-14 07:50:04 -04: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
Gustavo Trott
58e862e6a7 Make names more clear for 'invite assigned moderators to breakoutRooms' 2023-06-29 12:04:14 -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
Anton Georgiev
116209887c captions writer modal tweak 2023-06-22 04:28:13 -04:00
Anton Georgiev
72ea26b931 captions writer modal tweak 2023-06-22 04:27:44 -04:00
Arthurk12
e5aa8cb0e0 refactor(wake-lock): change settings flags
Changes enableWakeLock => wakeLock.enabled to follow the pattern used by
other features and wakeLockEnabled => wakeLock. Also make the necessary
code changes to reference this new settings flags correctly.
2023-06-14 13:38:00 -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
Arthurk12
f880e56a1e feat(wake-lock): prototype
Adds wake lock feature, which is available only for mobile users using
browser with support to the given API.
When an user using a supported device joins the meeting, a toast is
displayed offering to activate the feature.
Adds a toggle under settings menu to activate/deactivate it.
2023-06-13 16:22:02 -03:00
Anton Georgiev
ddca65cb43
enable-french-cc 2023-06-13 09:00:01 -04:00
Anton Georgiev
540ebe4bf9
chore: Enable Timer by default 2023-06-08 20:20:37 -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
Ramón Souza
f72f84106a
Merge pull request #18106 from hiroshisuga/dev2.6_pointerSize
feat(config): Configurable presentation pointer size
2023-06-08 09:19:27 -03:00
hiroshisuga
99919edb33
default pointer size 10 -> 5 2023-06-08 08:25:24 +09:00
hiroshisuga
97f660e268
Update settings.yml 2023-06-07 22:47:34 +09:00
Ramón Souza
d31e56b3fd rename parameter, fix props 2023-06-07 09:35:56 -03:00
Anton Georgiev
831a46afc4 Update bigbluebutton-html5/private/config/settings.yml 2023-06-07 09:06:40 -03:00
Samuel Weirich
db1c76b89b Add allow snapshot to config file 2023-06-07 09:03:00 -03:00
Anton Georgiev
cda09e2c17
chore: Add inline comments on how the reactions options configs work 2023-05-31 11:39:22 -04:00
Anton Georgiev
bde9864a9e
chore: Enable ReactionsBar by default 2023-05-31 11:24:45 -04:00
Anton Georgiev
80a46d5ab3
chore: Enable by default Camera as content 2023-05-26 11:28:40 -04: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
33878f6224 fix(timer): tab title indicator flag
Adds a flag to the settings.yml file to enable and disable the timer
indicator in the tab title.
2023-05-18 15:29:43 -03:00
Lucas Zawacki
545f486c29 fix(timer): New songs for timer 2023-05-18 15:29:41 -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
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
Arthurk12
cc2f509c7c Refactored timer design 2023-05-18 15:29:33 -03:00
Pedro Beschorner Marin
2f104eafc8 Syncing time offset between client and server 2023-05-18 15:29:32 -03:00
Pedro Beschorner Marin
4d8f7070de Add timer alarm 2023-05-18 15:29:32 -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
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
af23ce542e
Merge pull request #17702 from Scroody/virtual-backgound-accepts-webp
feat (html5): Virtual backgrounds now accepts webp format
2023-05-15 17:06:41 -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
Paulo Lanzarin
6326a81123
feat(audio): microphone bridge set to mediasoup by default
The initial goal is for this to be default in 2.7.
Set it as default early in the cycle so folks can test it for longer.

If there's any deal-breaking issue with it nearing release we can just flip back to the old (2.6, FS/SIP.js) default.
2023-05-10 16:01:45 -03:00