Commit Graph

905 Commits

Author SHA1 Message Date
Anton Georgiev
3c2d89280b
Update bigbluebutton-html5/private/config/settings.yml 2024-04-19 11:24:32 -04:00
Lucas Fialho Zawacki
f1bad0257d feat(transcription): Add translation strings for ca-ES and documentation links 2024-04-10 16:32:11 -03:00
Anton Georgiev
d90caf77dc
chore: Update copyright year 2024-03-08 14:52:48 -05:00
Lucas Fialho Zawacki
aca3730d9f fix(captions): Use default transcription value with external providers 2024-02-08 14:50:31 -03:00
Paulo Lanzarin
e1dc4b55e4
fix(bbb-html5): customHeartbeat would not close stale sessions, + (#19017)
* fix(bbb-html5): customHeartbeat would not close stale sessions, +

The [disabled by default] custom heartbeat included in Meteor's server
does not end connections when they are considered unhealthy/stale, which
deviates a bit from the default implementation. See:
https://github.com/bigbluebutton/bigbluebutton/pull/11486.

This commit includes a call to the default heartbeat termination timeout
so sockets are correctly cleaned up when the custom heartbeat is
activated. It also adds a customHeartbeatUseDataFrames config to allow
controlling whether the custom heartbeat should use WS data frames as
valid heartbeats as well - this should only be useful for
testing/debugging purposes and the default behavior (true) is
maintained.

As a side note: this change spun off from an investigation where some
problematic networks were triggering periodic client re-connects due to
the default heartbeat failing. Investigation points to the control
frames being put alongside fragmented WS data frames and the server side
failing to recognize the former - which means pong frames would be missed and
the health check would fail. Since the default heartbeat _does not_
account for data frame traffic (eg DDP payloads), it would shut down the
client's WS even though it was healthy.
The custom heartbeat _does_ account for data frames, which mitigates
that scenario and prevents unecessary reconnections.

* fix(bbb-html5): frontend crash due to undefined vars in customHeartbeat 

Meteor frontends may crash when customHeartbeat is enabled
due to an undefined access in the heartbeat`s logger.

Add optional chaining to the session props access so it won`t crash and tune down some log levels around that area.
2024-01-22 11:10:41 -05:00
Lucas
125d70699b
feat: Initial implementation of Gladia transcriptions to BBB 2.7 (#19091)
* Demo changes

* Revert "feat(captions): no longer writes in the pad"

This reverts commit a76de8c458.

* feat(transcriptoin): Add config options for the transcription backend

* feat(transcription): Add autodetect option to cc chevron

* feat(transcription): Move transcription options into settings modal

* feat(transcription): Set transcription options via userdata

* fix(transcription): Correct userdata for settings transcription params

* feat(transcriptions): options to auto enable caption button

* feat(transcriptions): Option to hide old CC pad funcionality

* fix(transcription): Fix PR comments

* fix(transcription): Refactor updateTranscript to prevent null user and make it more readable

* feat(transcription): bbb_transcription_provider can be set via userdata

* fix(transcription): Use base10 for parseInt

* fix(transcriptions): Fix CC language divider when using webspeech

* fix(transcriptions): Use a default pad in the settings instead of hardcoding 'en'

We still need to use a language pad such as 'en', but in the future we can better
separate these systems.

* fix(transcription): Add a special permission for automatic transcription updates to the pad and restore old per user updates permission

* feature(transcriptions): Include transcriptions submenu and locales

* chore: bump bbb-transcription-controller to v0.2.0

* fix(transcription): Add missing menu files

* fix(transcription): Fix transcription provider options in settings.yml

* fix: setting password for bbb-transcription-controller

* build: add gladia-proxy.log for transcription-controller

* fix(transcriptions): Remove transcript splitting and floor logic from akka apps

* fix(captions): Show long utterances as split captions, show multiple speaker captions

* chore: bump bbb-transcription-controller to 0.2.1

---------

Co-authored-by: Anton Georgiev <anto.georgiev@gmail.com>
2023-11-30 10:10:36 -05:00
Ramón Souza
3de1cfed29 leave meeting button 2023-11-07 09:54:17 -03:00
Lucas Fialho Zawacki
b2f25decd6 fix(reactions): Get reaction emoji list from settings.yml 2023-10-17 18:44:05 -03:00
AtilaU19
ac3c7790d4 refactor(emoji-picker): update emoji-mart to latest version 2023-10-16 14:17:11 -03:00
AtilaU19
f1dbc8a8eb feat(reactions): port new reations 2023-09-18 19:02:21 -03:00
Anton Georgiev
49f8d95f11
Merge pull request #18537 from ramonlsouza/issue-18443
refactor(bbb-html5): Reactions - allow for two alternative views
2023-08-17 10:38:56 -04:00
Anton Georgiev
8cc8bfab00
Merge pull request #18387 from ramonlsouza/issue-18125
feat(bbb-html5): Grid mode pagination
2023-08-16 09:36:50 -04:00
Ramón Souza
c5872e9cd3 rename grid page sizes -> grid sizes 2023-08-14 09:46:05 -03:00
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
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
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
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