Commit Graph

10413 Commits

Author SHA1 Message Date
prlanzarin
d2dde8a9b1 feat: add experimental support for ICE restart
We currently use full renegotiation for audio, video, and screen sharing
reconnections, which involves re-creating transports and signaling channels
from scratch. While effective in some scenarios, this approach is slow and,
especially with outbound cameras and screen sharing, prone to failures.

To counter that, WebRTC provides a mechanism to restart ICE without needing
to re-create the peer connection. This allows us to avoid full renegotiation
and bypass some server-side signaling limitations. Implementing ICE restart
should make outbound camera/screen sharing reconnections more reliable and
faster.

This commit implements the ICE restart procedure for all WebRTC components,
based on bbb-webrtc-sfu >= v2.15.0-beta.0, which added support for ICE restart
requests. This feature is off by default. To enable it, adjust the following
flags:

- `/etc/bigbluebutton/bbb-webrtc-sfu/production.yml`: `allowIceRestart: true`
- `/etc/bigbluebutton/bbb-html5.yml`: `public.kurento.restartIce`
  * Refer to the inline documentation; this can be enabled on the client side
    per media type.
  * Note: The default max retries for audio is lower than for cameras/screen
    sharing (1 vs 3). This is because the full renegotiation process for audio
    is more reliable, so ICE restart is attempted first, followed by full
    renegotiation if necessary. This approach is less suitable for cameras/
    screen sharing, where longer retry periods for ICE restart make sense
    since full renegotation there is... iffy.
2024-08-23 09:59:51 -03:00
Daniel Petri Rocha
6f08344a70
fix: Breakout rooms show incorrect presentation filename (#20947)
* Pass arbitrary filename

* Use shortname as presName in breakout room

* Show selected filename in the room
2024-08-22 13:24:19 -03:00
Gabriel Luiz Porfirio
3dd588d704
test: Backporting timer/stopwatch test to 2.7 (#20954)
* backporting timer test

* adding test on ci
2024-08-21 14:56:06 -03:00
KDSBrowne
466e328477
fix: Ensure size estimate is applied to text shapes while typing (#20809)
* ensure size estimate is applied to text shape while typing

* add comment and comma
2024-08-02 18:47:39 -04:00
Paulo Lanzarin
06d1a74cdc
Merge pull request #20849 from prlanzarin/u27/fix/video-preview-borked-did
fix(video): webcam fails to be loaded on preview when changing profiles
2024-08-02 16:25:28 -03:00
prlanzarin
2c6de02f1c fix(video): webcam fails to be loaded on preview when changing profiles
There's an issue where permission-less sessions of video-preview
fail to change video profiles. Whenever gUM is on prompt mode,
deviceIds are obfuscated, which means getInitialCamera will need to
infer the deviceId based on the current media stream.
Since the virtual bg worker is now called synchronously (e28a595),
it'll be extracted incorrectly from the virtual effect MediaStream
(rather  than the original stream) - which causes getInitialCamera to
use the effect's deviceId rather than the original stream's deviceId.

Guarantee that deviceId inference via MediaStreamTrack uses
BBBVideoStream's originalStream (so that virtual effect streams are
bypassed). Also remove the call to updateDeviceId in getInitialCamera
since it's redundant since commit e28a595.
2024-08-02 13:23:11 -03:00
Ramón Souza
d4ee755a2d
Merge pull request #20831 from JoVictorNunes/fix-slide-snapshot-overflowing-27
fix(presentation): presentation snapshot overflowing the slide [2.7]
2024-08-02 10:02:36 -03:00
prlanzarin
6ec1272a2b fix(video): camera cannot be shared as content
A change in e28a595b52 introduced an issue where the "Share camera as
content" modal always has it's "share" action flagged as disabled. This
is due to a short-circuit introduced in the initial gUM procedure that
does not clear the "disabled" state before exiting.

Properly reset the "disabled" sharing state after the initial gUM in
video-preview when "Share camera as content" is used, thus fixing the
aforementioned issue.
2024-08-01 14:33:52 -03:00
João Victor
450a36d244 fix(presentation): presentation snapshot overflowing the slide 2024-08-01 12:21:38 -03:00
Ramón Souza
31ac4e7b52
Merge pull request #20798 from KDSBrowne/bbb-20621
fix: Improve screen reader accessibility for polling modal
2024-07-31 14:40:19 -03:00
KDSBrowne
59deebdbcb update poll vote modal with header element for additional screen reader access 2024-07-30 13:04:57 +00:00
João Victor
e28a595b52 enhancement(webcam): custom virtual backgrounds 2024-07-26 16:48:17 -03:00
João Victor Nunes
027115aa14
fix(webcam): client failing to apply virtual background effect (#20777)
* fix(webcam): client failing to apply virtual background effect

* fix: check for already dispatched background

* fix: make webcam start up with last selected virtual background
2024-07-25 15:49:32 -04:00
Ramón Souza
d9cf1a07d9
feat(config): introduce allowPresentationManagementInBreakouts to be able to block breakouts pres uploads (#20769)
* introduce allowUploadNewDocsInBreakouts in settings.yml

* rename property

* change default value and property name
2024-07-24 15:36:29 -04:00
Ramón Souza
9d3b6f0b6c
do not display presentation dropdown on breakout update (#20764) 2024-07-24 13:37:44 -04:00
Anton Georgiev
5387fef101
Merge pull request #20703 from danielpetri1/webcam-background-url
feat: Accept custom webcamBackgroundURL
2024-07-23 15:55:56 -04:00
Daniel Petri Rocha
4ccc883437 Replace green screen with blank screen, add CORS policy 2024-07-23 10:28:23 +00:00
Ramón Souza
7fbf51054b pass presentation to breakout - frontend 2024-07-19 09:53:31 -03:00
André Castro
4c6e0289d4
Fix: [2.7] Breakout room invitation option missing from user dropdown (#20691)
* Fix: [2.7] Breakout room invitation option missing from user dropdown

* removing unnecessary code

* Translation key re-name

* modal Change
2024-07-17 14:39:09 -03:00
Daniel Petri Rocha
fa0ad14c35
feat(bbb-html5): Ban specific users from the public chat (#20585)
* Initial user lock changes

* Show lock icon
2024-07-17 12:56:33 -04:00
Daniel Petri Rocha
358a5bd901
Update bigbluebutton-html5/imports/ui/services/virtual-background/index.js
Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>
2024-07-17 18:49:51 +02:00
Daniel Petri Rocha
864e63ffcc
Remove debug log 2024-07-13 11:26:07 +02:00
Daniel Petri Rocha
f460d54a4e
Remove debug log 2024-07-13 11:23:29 +02:00
Daniel Petri Rocha
cf8f7528d0 Load image in from the URL 2024-07-12 20:06:49 +00:00
Ramón Souza
a46e38fbbe
Merge pull request #20684 from Scroody/i-19354
Fix: Emoji animations are not being turned off by using the slider in settings.
2024-07-11 09:37:20 -03:00
André Möller
da3d8140da Fix: Emoji animations are not being turned off by using the slider in settings. 2024-07-10 16:40:16 -03:00
Ramón Souza
f5665f3bc4
Merge pull request #20669 from JoVictorNunes/issue-20654
fix: external video can be seen through sidebar on mobile
2024-07-10 15:59:11 -03:00
Ramón Souza
0c9e11c0e7
Merge pull request #20673 from Scroody/i-19870
Fix: Breakouts calculation for valid users incorrect
2024-07-10 15:11:45 -03:00
André Möller
fe3b81628f Change of approach 2024-07-10 10:45:08 -03:00
André Möller
ce8bb567a0 Revert "Fix: Breakouts calculation for valid users incorrect"
This reverts commit a86bdc9f1e.
2024-07-10 10:21:12 -03:00
André Möller
a86bdc9f1e Fix: Breakouts calculation for valid users incorrect 2024-07-09 11:11:08 -03:00
Ramón Souza
2ef8b4649f
Merge pull request #20670 from ramonlsouza/issue-20667
fix: Manage Layouts ignores disabledFeatures
2024-07-09 10:34:51 -03:00
Ramón Souza
59e2609ffa do not display layout button if layouts are disabled 2024-07-09 09:10:06 -03:00
João Victor
a4756314a7 fix: external video can be seen through sidebar on mobile 2024-07-09 08:38:56 -03:00
Ramón Souza
91762178b9 fix grid mode displaying viewers if see other viewers is locked 2024-07-05 10:04:57 -03:00
Gustavo Trott
37d6aa0140 introduce-allowPromoteGuestToModerator27 2024-06-04 11:36:46 -03:00
Anton Georgiev
d3e78e7d1e
Merge pull request #20216 from KDSBrowne/bbb-20200
fix(whiteboard): Disable Duplication Shortcut Key While Drawing
2024-05-15 12:53:00 -04:00
KDSBrowne
cc53fb58f2 fix inconsistent zoom between live session and recording 2024-05-10 20:36:55 +00:00
KDSBrowne
2b6d313c80 disable duplication shortcut key while drawing 2024-05-10 11:35:04 +00:00
Anton Georgiev
0dc21a34d6
Merge pull request #20152 from prlanzarin/u27/fix/Arthurk12-live-1809
fix(bbb-html5): correct parameter type for wake lock log codes
2024-05-02 16:03:57 -04:00
Anton Georgiev
15e857abe5
Merge pull request #20153 from prlanzarin/u27/fix/Arthurk12-live-crashes-1800
fix(bbb-html5): potential crash in Youtube captions toggle
2024-05-02 16:03:04 -04:00
Anton Georgiev
d30974c771
Merge pull request #20151 from prlanzarin/u27/fix/Arthurk12-live-crashes-1798
fix(bbb-html5): filter poll users array before processing
2024-05-02 16:01:55 -04:00
Arthurk12
eb29634a87 fix(external-video): Youtube captions toggle
Ensures setOption and unloadModule are functions before calling.
2024-05-02 16:29:30 -03:00
Arthurk12
4e7d7dd452 fix(wake-lock): correct parameter type for log code
Previously, an object was incorrectly passed as the log code parameter.
Fixes it by ensuring that a string is passed instead.
2024-05-02 16:22:16 -03:00
Arthurk12
8dad2db2e2 fix(poll): filter users array before processing
Fix a crash in the polls live result by filtering out undefined users.
This scenario might happen when getting user information by an id that
is not present in the current usernames list by some inconsistency
between the user's information from the users context and poll
votes/responses.
2024-05-02 16:20:12 -03:00
Arthurk12
41c58d2466 fix(user-list): validate before getting element attribute
Implements check for getAttribute type before calling it.
2024-05-02 16:16:59 -03:00
Ramón Souza
356f6331c1
Merge pull request #20024 from Arthurk12/bbb/2.7/small-screens-toolbar
[2.7] fix(presentation): toolbar width on small screens
2024-05-02 15:32:31 -03:00
Anton Georgiev
54403fb587
Merge pull request #20121 from prlanzarin/u27/fix/ff-pairselection
fix(audio): broken connection stats on Firefox >= 125
2024-04-30 14:42:35 -04:00
Anton Georgiev
d0307e6f21
Merge pull request #20010 from prlanzarin/u27/fix/review-mobile-audio-join
[2.7] fix(audio): review audio modal help screen
2024-04-30 14:41:54 -04:00
Anton Georgiev
850e8af19a
Merge pull request #20124 from prlanzarin/u27/fix/assorted-crashes-redux
fix: crash at meeting-ended due to undefined access + incorrect meetingID
2024-04-30 14:40:04 -04:00