Commit Graph

959 Commits

Author SHA1 Message Date
Ramón Souza
8269c840a7 change default value 2023-08-11 11:04:10 -03:00
Ramón Souza
6d4c140f76 auto close reactions settings 2023-08-10 16:28:21 -03:00
Ramón Souza
cd2c85474e change default value for wake lock 2023-08-08 16:49:15 -03:00
Ramón Souza
07ce5befec limit cameras page in grid mode 2023-08-08 13:05:54 -03:00
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
Gustavo Trott
baba92cb0f Merge 2.7 into Develop 2023-08-04 16:47:23 -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
Gustavo Trott
3758dd89e2 Merge 2.7 into Develop 2023-07-31 11:24:25 -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
692370d3b1 reduce page size 2023-07-26 09:55:39 -03:00
Ramón Souza
22605b3fbb grid mode pagination 2023-07-26 09:18:23 -03:00
Tainan Felipe
9869ee7f2b Refactor: actions bar audio button 2023-07-24 15:56:40 -03:00
Gustavo Trott
185e48d36c Merge remote-tracking branch 'upstream/v2.7.x-release' into develop 2023-07-21 17:17:52 -03:00
Ramón Souza
bf6f96fc44 renaming interactions -> reactions 2023-07-18 08:54:36 -03:00
Gustavo Trott
cf896e8a66 Merge branch 'v2.7.x-release' into develop 2023-07-17 11:20:49 -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
a7cd1c5232 Merge 2.7 into Develop 2023-06-29 16:27:10 -03:00
Gustavo Trott
c8867fadb5
Merge pull request #18197 from Scroody/I-18127
Allow dynamic control on moderators invitation for breakouts
2023-06-29 13:39:26 -03:00
Gustavo Trott
58e862e6a7 Make names more clear for 'invite assigned moderators to breakoutRooms' 2023-06-29 12:04:14 -03:00
Gustavo Trott
5681e88c60 Merge 2.7 into Develop 2023-06-26 17:21:01 -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
Gustavo Trott
22a2c8ce7c Merge remote-tracking branch 'upstream/v2.7.x-release' into graphql-timer 2023-06-12 10:06:22 -03: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
2abe115e04 Merge branch 'v2.7.x-release' of github.com:bigbluebutton/bigbluebutton into june1merge 2023-06-01 10:11:59 -04: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
Gustavo Trott
2f68313df0 Merge remote-tracking branch 'upstream/v2.7.x-release' into develop 2023-05-30 08:43:14 -03:00
Anton Georgiev
80a46d5ab3
chore: Enable by default Camera as content 2023-05-26 11:28:40 -04:00
Gustavo Trott
51bdcededc Merge 2.7 into develop 2023-05-26 10:50:39 -03:00
Paulo Lanzarin
5447666c15
Merge branch 'v2.7.x-release' into port-timer 2023-05-26 10:33:38 -03:00
Paulo Lanzarin
171c7a6587
Merge branch 'v2.7.x-release' into v2.7.x-release 2023-05-26 09:27:14 -03:00
Anton Georgiev
4948731fe7
Merge pull request #17764 from lfzawacki/reactions-port
feat: Port Mconf Reactions into BBB 2.7
2023-05-26 08:05:02 -04:00
Anton Georgiev
1a1f442d5a
Merge pull request #17746 from Carloshsc/port-present-webcam-27
feat(camera as content): present webcam
2023-05-26 08:01:40 -04:00
prlanzarin
7c77fc7433 Merge remote-tracking branch 'origin/v2.7.x-release' into reactions-port 2023-05-25 19:54:01 -03:00
Arthurk12
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
Arthurk12
33c9abd874 requested changes 2023-05-09 17:21:47 -03:00
Carlos
8f8bfc8903 feat(camera as content): port to BBB
Enables the presenter to share a camera in the presentation area.
The shared camera automatically uses a pre-defined, fixed and hidden camera.
Profile defined in the settings.yml file.
It is currently using the screenshare's backend.
2023-05-09 17:21:46 -03:00
Lucas Fialho Zawacki
fcb6b94787 feature(reactions): Flags to enable new/old status button and to position it centered or to the right 2023-04-28 14:10:27 -03:00
André Castro
2c52c1a596
Merge branch 'v2.6.x-release' into I-17465 2023-04-27 19:25:56 -03:00
Lucas Fialho Zawacki
2a3e2d4993 feat(user-actions): enabled option in settings.yml 2023-04-27 18:37:18 -03:00
Max Franke
fbcc611bd9 feat(interactions): add new interactions button
Interactions button is a button that stays in action bar.
Integrates several features in just one place: user-reaction, raise hand,
user-status (away/not away), toggle question panel.
2023-04-27 13:57:40 -03:00
Max Franke
d28b93a586 feat(reactions): add user reaction
add user-reaction collection
add emoji picker for user reaction in the user list
add options to enable/disable user-reaction
add a way to pass style to emoji-picker component
2023-04-27 11:54:11 -03:00
GuiLeme
7492506224 [chat-list-migration] - started migration for chatList 2023-04-26 18:02:32 -03:00
Diego Benetti
2767bee67c Enables transfer button to be displayed in tablets 2023-04-26 14:30:25 +00:00
Gustavo Trott
a5609cd217
Merge pull request #17487 from Tainan404/apollo-client
refactor (bbb-html5): Refactor of Userlist using graphql
2023-04-24 18:27:51 -03:00
Lucas Fialho Zawacki
6979432c36 feat(transcription): Server side open source transcriptions 2023-04-24 18:23:34 -03:00
Tainan Felipe
b7177a9c93 Merge branch 'pull-17124' into apollo-client 2023-04-24 18:15:22 -03:00
Ramón Souza
b121fcbd87 Merge remote-tracking branch 'upstream/v2.7.x-release' into 27-dev-apr24 2023-04-24 17:26:54 -03:00
Ramón Souza
af8556e026 Merge remote-tracking branch 'upstream/v2.6.x-release' into 26-27-apr24 2023-04-24 17:15:47 -03:00
andre-imdt
df9d11180f Enhancement: Virutal backgrounds now accepts webp 2023-04-24 13:56:54 -03:00
Tainan Felipe
cc5badc560 WIP: graphql 2023-04-14 16:20:52 -03:00
KDSBrowne
d0d3862708 Merge branch 'v2.6.x-release' of https://github.com/bigbluebutton/bigbluebutton into bbb-hover-tools 2023-04-13 17:45:39 +00:00
Scroody
e3477b5e42 Fix: Restore on update 2023-04-13 10:56:54 -03:00
GuiLeme
5eb29e0ab5 [issue-16954] - merge upstream/v2.7.x-release 2023-04-11 11:02:00 -03:00
Anton Georgiev
1eb1b1dec7
fix: Update docs links settings.yml (backport of #17433 by @code-Gambler) 2023-04-11 09:18:56 -04:00
Steven David Pillay
0c69fb3790
docs: Issue#17103-Updated TURN server document for BBB 2.6 (#17433)
* Specified that the BBB v2.6 comes with a default Coturn Server.
* Issue#17435-Updated the Document Links
2023-04-11 09:12:47 -04:00
GuiLeme
9c581d3858 [issue-16954] - fix blue screen when joining a session 2023-04-11 10:05:49 -03:00
Anton Georgiev
e2dc7da98a
Merge pull request #16828 from prlanzarin/u27/fix/ss-cam-reconn
fix: re-connection improvements for cameras and screen sharing
2023-04-05 16:13:01 -04:00
KDSBrowne
72adc96dbe add autohide option for whitboard toolbars 2023-03-26 22:08:09 +00:00
zhem0004
5fdd91ba67
Add new setting to enable/disable extra guest policy Allow buttons (#17034)
* add new setting to enable/disable extra guest policy buttons
2023-03-14 14:39:37 -04:00
Ramón Souza
f72b6dae94
remove oldMinimizeButton from settings file 2023-03-10 09:05:13 -03:00
prlanzarin
3bddbb96cf fix(video): signaling and reconnection edge cases
There are still a bunch of edge cases and issues with reconnection
scenarios for video:
  - Signaling socket refuses to reconnect once maxRetries expire
  - Race conditions on local stream attachment: local camera wouldn't be
    correctly rendered _if_ the attached stream existed _without_ video
    tracks yet
  - Video tracks leak on local streams when replacing them (virtual bgs)
  - Completely ignoring Meteor state when trying to reconnect cameras
  - Streams aren't proactively stopped when the signaling socket dies
  - Outbound request queues aren't isolated by stream nor are they
    flushed when a newer peer with the same ID is created
  - Server originated negotiation errors won't trigger a local peer
    cleanup - thus leaving dangling peers that take way too long to
    reconnect

This commit fixes or improves all of the aforementioned issues, +:
  - Remove unused arguments in the peer (client->SFU) 'start' request
  - Prevent crashes when trying to render video-list-items without user
    data (which might happen on re-connections)
2023-03-08 15:49:35 -03:00
prlanzarin
afa2908ded fix(screenshare): better reconnection timers and UI for abrupt failures
Reconnection timers are far too long for abrupt failures because we
are waiting the original timeouts to elapse (30-60s) before trying it
again - even if a connection worked N-sessions back in that session's
history. The ideal thing to have is another intermediate, smaller and
fixed reconnection timer for sessions that had a working screen share
at least once.
The UI is also not being updated to the reconnecting state on negotiation
failures.

* Add an intermediate reconnection timer for abrupt failures set to 8s.
  This should improve reconnection times.
* Lower default connection timers values (base 20s down from 30s, max
  25s down from 60s)
* Set screen share UI to reconnecting on abrupt failures as well - we
  were only tracking ICE states prior to this, not negotiation errors
2023-03-08 15:48:30 -03:00
prlanzarin
a83f3b675e fix(video): add proper signaling WS heartbeat, +
video-provider's current ping-pong is as good as nothing in 2.5+. We
were counting on Meteor's (and consequently the component's mount state)
before 2.5 to act as a "heartbeat" as far as the socket is concerned.
The ping-pong served only to sustain traffic for finnicky,
traffic-dependant firewall.
Since 2.5, the component's state is _kind of_ detached from Meteor's -
which means it won't unmount when Meteor disconnects. That causes the
video-provider websocket to lose its borrowed heartbeat and leads to a
bunch of reconnectiong inconsistencies, the worst of them being a stuck,
useless signaling socket that will cause cameras not to work until a
client refresh.

This commit does the following:
  - Implements actual heartbeat checks to trigger signaling socket
    reconnects when necessary, all within the scope of video-provider
  - Remove borked, eons old 'offline'/'online' event handlers: they were
    causing unnecessary camera drops AND causing video-provider to
    generate a stuck signaling socket
  - Properly catch WebSockets.send errors
2023-03-08 15:46:51 -03:00
GuiLeme
9fb2c32384 [issue-16734] - refactor hidePresentation to hidePresentationOnJoin 2023-02-17 14:59:39 -03:00
Ramón Souza
616d615e94 increase default value for max number of annotations per slide 2023-02-08 15:02:59 -03:00
Ramón Souza
f605ce7ae2 add comment 2023-02-02 16:59:38 -03:00
Ramón Souza
25800ee92b limits the number of annotations per slide 2023-02-02 16:47:16 -03:00