Commit Graph

15150 Commits

Author SHA1 Message Date
Gustavo Trott
3710aa2501 Enable LearningDashboard cookie support across different subdomains 2024-10-24 10:39:04 -03:00
transifex-integration[bot]
5be454dc62
Translate en.json in nb_NO (#21516)
100% translated source file: 'en.json'
on 'nb_NO'.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-10-24 05:02:31 -04:00
Anton Georgiev
fa7a92f5fc
fix: Check if user is found before looking up role (#21490) 2024-10-22 10:18:49 -04:00
Anton Georgiev
279ce6b4d6
fix: Space out approval of guests to better handle larger groups (#21416)
Space out the group handling of guest accept all.
Handle the groups in batches of up to three.
Dispatch a new batch approval every 500ms (configurable)
2024-10-10 20:05:13 -04:00
Gabriel Luiz Porfirio
8654f34c26
test: breakout room with different presentations (#21076)
* creating new test for breakouts

* breakout different presentations test

* add data-test to select the correct presentation

* adding test to run on ci

* change selectOption to select by the label
2024-09-27 10:30:37 -04:00
transifex-integration[bot]
ea378b6926
Updates for project BigBlueButton v2.7 HTML5 client and language fa_IR (#21244)
* Translate en.json in fa_IR

100% translated source file: 'en.json'
on 'fa_IR'.

* Translate en.json in fa_IR

100% translated source file: 'en.json'
on 'fa_IR'.

---------

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-09-24 09:14:34 -04:00
KDSBrowne
ce9b10aefe
fix: Correct cursor position calculation for touch events (#20748)
* improve cursor position on mobile

* force ci re-run

* force ci re-run

* replace addEventListner with removeEventListener on unmount
2024-09-18 14:03:52 -04:00
KDSBrowne
b6cacbe0f9
fix(whiteboard): Update shape restriction logic (#21111)
* restrict local access to shapes for viewers to their own

* unlock / lock shapes when presenter or moderator role changes
2024-09-16 10:55:10 -03:00
Paulo Lanzarin
31db505017
fix: disable ICE restart for recvonly endpoints (#21189)
The experimental ICE restart introduced in commit d2dde8a9 should only be
used for `sendonly` or `sendrecv` transports. There are two main reasons:
  - Server-side changes are required to support `recvonly` endpoints,
    particularly the proper handling of the server’s `setup` role in the
    its SDPs during an ICE restart. These changes are too broad for now,
    so they are deferred to future releases (SFU@v2.16/BBB@3.0).
  - Full reconnections for `recvonly` endpoints are currently reliable,
    unlike for `send*` endpoints. ICE restarts could still provide benefits
    for `recvonly` endpoints, but we need the server updates first.

This commit disables ICE restart for `recvonly` endpoints, even if the
mechanism is enabled. Support for those will be added in SFU@v2.16/BBB 3.0.
2024-09-13 16:01:30 -04:00
Anton Georgiev
18605be6ad
chore(client): Add logs for recording notify action (#21185)
Log whether the user chose to Continue or Leave
2024-09-13 15:51:34 -04:00
Anton Georgiev
0144cd4c38
chore(client): Security upgrade axios, meteor-node-stubs (#21178) 2024-09-13 10:27:39 -04:00
Anton Georgiev
02bd94a400
Merge pull request #21008 from prlanzarin/u27/feat/ice-restart
feat: add experimental support for ICE restart
2024-09-13 10:24:35 -04:00
Arthur B. Grossi
c7b03ee13d
fix(users-context): phantom user (#20253)
* fix(users-context): add missing logs

* fix(user-persistent-data): collection publication selector for viewers

Fixes the collection's selector when publishing it to viewers.

* fix(users-context): correctly add user persistent data

Changes the logic of the add_user_persistent_data action in users
context, so that the user information already in the context is merged
with the new one. Also, do not flip the logged out status of users added
by user_persisted_data anymore.
2024-09-13 08:49:44 -04:00
Ramón Souza
9a7249492b
Merge pull request #21113 from Scroody/fix-trailing-sign-dial
Fix: Conference PIN (phone dial-in) doesn't show the needed pound sign in popup
2024-09-12 08:56:54 -03:00
André Castro
6587bfb2da
Update bigbluebutton-html5/imports/ui/components/audio/audio-dial/component.jsx
Co-authored-by: Ramón Souza <contato@ramonsouza.com>
2024-09-12 08:55:46 -03:00
Anton Georgiev
11ac9d2184
Merge pull request #21036 from prlanzarin/u27/feat/rtc-logs-info
feat: add WebRTC stats information to client logs
2024-09-11 16:30:59 -04:00
transifex-integration[bot]
6b2970078d
Updates for project BigBlueButton v2.7 HTML5 client and language cs_CZ (#21087)
* Translate en.json in cs_CZ

100% translated source file: 'en.json'
on 'cs_CZ'.

---------

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-09-09 08:51:50 -04:00
André Möller
53ca24493d Fix: Conference PIN (phone dial-in) doesn't show the needed pound sign in popup 2024-09-05 13:54:46 -03:00
transifex-integration[bot]
68992285c4
Translate en.json in gl (#21046)
100% translated source file: 'en.json'
on 'gl'.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-08-28 13:17:45 -04:00
prlanzarin
3c4e3de286 feat: add WebRTC stats information to client logs
We should be able to capture  WebRTC stats in some form for post-processing
so that it helps on debugging support requests (and other use cases, e.g.:
improving field trial analysis on test servers).
Although much of WebRTC stats information can be gathered via server side
components, none have logs as structured for proper post-processing as
the client logs - so we're going the client route for now.

Capture WebRTC stats information for audio and screen sharing via:
  - Audio logCodes: new `stats` extraInfo field
    - `audio_joined`
    - `audio_failure`
    - `sfuaudio_error_retry_through_relay`
    - `sfuaudio_error_try_to_reconnect`
  - Screen share logCodes: new `stats` extraInfo field
    - screenshare_presenter_start_success
    - screenshare_viewer_start_success
    - screenshare_broker_failure

Additionally, add an option to periodically capture WebRTC stats information
for all relevant peers. This is disabled by default since the log can be
verbose (and, consequentially, network taxing when using external
logging targets). It can be enabled via `public.stats.logMediaStats` in
settings.yml. The default interval is 30s. The periodic log format is as
follows:
  - logCode: `mediaStats`
  - extraInfo.stats: an aggregated stats object of all peers (equivalent
    to the `Copy` function in the Connection Status modal).
2024-08-27 14:00:26 -03:00
transifex-integration[bot]
2dc12fc04e
Updates for project BigBlueButton v2.7 HTML5 client and language hu_HU (#20968)
* Translate en.json in hu_HU

100% translated source file: 'en.json'
on 'hu_HU'.

* Translate en.json in hu_HU

100% translated source file: 'en.json'
on 'hu_HU'.

---------

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-08-27 08:54:36 -04:00
transifex-integration[bot]
d7d09e2f67
Translate en.json in ru (#20976)
100% translated source file: 'en.json'
on 'ru'.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-08-27 08:54:03 -04:00
transifex-integration[bot]
ac06f09fe7
Translate en.json in ca (#21013)
100% translated source file: 'en.json'
on 'ca'.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-08-27 08:53:06 -04:00
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
Anton Georgiev
562a13f527
chore: update link to which locales are supported by Gladia (#20925) 2024-08-13 13:44:20 -04:00
transifex-integration[bot]
b4a11facd4
Translate en.json in ja (#20903)
100% translated source file: 'en.json'
on 'ja'.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-08-12 13:02:12 -04:00
transifex-integration[bot]
07c0433ba0
Translate en.json in pt_BR (#20881)
100% translated source file: 'en.json'
on 'pt_BR'.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-08-09 11:16:59 -04:00
transifex-integration[bot]
352f3ebd58
Translate en.json in tr (#20854)
100% translated source file: 'en.json'
on 'tr'.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-08-06 13:03:22 -04:00
transifex-integration[bot]
565a8bfcd4
Translate en.json in et (#20865)
100% translated source file: 'en.json'
on 'et'.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-08-06 13:00:14 -04: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
transifex-integration[bot]
80780ddde1
Updates for project BigBlueButton v2.7 HTML5 client and language ar (#20827)
* Translate en.json in ar

100% translated source file: 'en.json'
on 'ar'.

* Translate en.json in ar

100% translated source file: 'en.json'
on 'ar'.

---------

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-08-01 09:47:04 -04: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
transifex-integration[bot]
0ea1d8894f
Translate en.json in fa_IR (#20808)
100% translated source file: 'en.json'
on 'fa_IR'.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-07-31 09:12:41 -04:00
transifex-integration[bot]
dc11f2977b
Translate en.json in eu (#20791)
100% translated source file: 'en.json'
on 'eu'.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-07-30 13:53:44 -04:00
transifex-integration[bot]
8287fe04d7
Translate en.json in fa_IR (#20792)
100% translated source file: 'en.json'
on 'fa_IR'.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-07-30 13:53:24 -04:00
Gustavo Trott
c441b8531a
fix: Dial-in -- add missing webcamBackground prop for dial-in users (#20799) 2024-07-30 11:27:40 -04:00
KDSBrowne
59deebdbcb update poll vote modal with header element for additional screen reader access 2024-07-30 13:04:57 +00:00
Ramón Souza
1e2731ef63
Merge pull request #20788 from JoVictorNunes/virtual-bg-enhancements-0726
enhancement(webcam): custom virtual backgrounds
2024-07-29 10:41:35 -03:00
transifex-integration[bot]
6cd9d0513e
Translate en.json in it_IT (#20790)
100% translated source file: 'en.json'
on 'it_IT'.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-07-26 16:18:28 -04: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
dependabot[bot]
91b39664f9
build(deps): bump the npm_and_yarn group across 5 directories with 6 updates
Bumps the npm_and_yarn group with 1 update in the /bbb-learning-dashboard directory: [postcss](https://github.com/postcss/postcss).
Bumps the npm_and_yarn group with 2 updates in the /bigbluebutton-html5 directory: [postcss](https://github.com/postcss/postcss) and [braces](https://github.com/micromatch/braces).
Bumps the npm_and_yarn group with 1 update in the /bigbluebutton-tests/playwright directory: [follow-redirects](https://github.com/follow-redirects/follow-redirects).
Bumps the npm_and_yarn group with 2 updates in the /bigbluebutton-tests/puppeteer directory: [braces](https://github.com/micromatch/braces) and [follow-redirects](https://github.com/follow-redirects/follow-redirects).
Bumps the npm_and_yarn group with 6 updates in the /docs directory:

| Package | From | To |
| --- | --- | --- |
| [postcss](https://github.com/postcss/postcss) | `8.4.32` | `8.4.40` |
| [braces](https://github.com/micromatch/braces) | `3.0.2` | `3.0.3` |
| [express](https://github.com/expressjs/express) | `4.18.2` | `4.19.2` |
| [follow-redirects](https://github.com/follow-redirects/follow-redirects) | `1.15.3` | `1.15.6` |
| [webpack-dev-middleware](https://github.com/webpack/webpack-dev-middleware) | `5.3.3` | `5.3.4` |
| [ws](https://github.com/websockets/ws) | `7.5.9` | `7.5.10` |



Updates `postcss` from 8.4.31 to 8.4.32
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.31...8.4.32)

Updates `postcss` from 8.4.31 to 8.4.40
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.31...8.4.32)

Updates `braces` from 3.0.2 to 3.0.3
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

Updates `follow-redirects` from 1.15.4 to 1.15.6
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.4...v1.15.6)

Updates `braces` from 3.0.2 to 3.0.3
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

Updates `follow-redirects` from 1.15.4 to 1.15.6
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.4...v1.15.6)

Updates `postcss` from 8.4.32 to 8.4.40
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.31...8.4.32)

Updates `braces` from 3.0.2 to 3.0.3
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

Updates `express` from 4.18.2 to 4.19.2
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.18.2...4.19.2)

Updates `follow-redirects` from 1.15.3 to 1.15.6
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.4...v1.15.6)

Updates `webpack-dev-middleware` from 5.3.3 to 5.3.4
- [Release notes](https://github.com/webpack/webpack-dev-middleware/releases)
- [Changelog](https://github.com/webpack/webpack-dev-middleware/blob/v5.3.4/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-middleware/compare/v5.3.3...v5.3.4)

Updates `ws` from 7.5.9 to 7.5.10
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.5.9...7.5.10)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: postcss
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: braces
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: follow-redirects
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: braces
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: follow-redirects
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: postcss
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: braces
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: express
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: follow-redirects
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: webpack-dev-middleware
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: ws
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-24 19:48:05 +00: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