Commit Graph

39618 Commits

Author SHA1 Message Date
Anton Georgiev
ceca14c3c3
docs: Update url for LAD in cluster proxy setup 2024-10-23 16:26:09 -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
52795280e2
docs: Adjust default values for logging 2024-10-21 10:23:46 -04:00
schrd
78a8ccdcb9
build: Umask fixes for 2.7 build scripts (#21366)
* Fix permissions during build of bbb-libreoffice-docker

The scripts must be executable by anyone. They are owned by root and
executed by user bigbluebutton.

* Fix permissions during build of bbb-html5

The files must be readable by mongodb. There are no secrets in the file,
so it is safe to be readable by anyone.

* Fix permissions during build of bbb-record-core

Files must be readable by user bigbluebutton.

* Fix more umask issues

Recording scripts were not executable in the builds

---------

Co-authored-by: Daniel Schreiber <daniel.schreiber@hrz.tu-chemnitz.de>
2024-10-11 08:48:52 -04:00
Anton Georgiev
0027239c7d
chore: Bump release to 2.7.14 2024-10-10 20:10:12 -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
schrd
3fcfe5acfc
build: Consistently call docker with sudo privileges (#21364)
If the user has no access to the docker socket, root privileges are
required. This fix adds a missing sudo so docker attach works.

Co-authored-by: Daniel Schreiber <daniel.schreiber@hrz.tu-chemnitz.de>
2024-10-04 10:17:04 -04:00
Paulo Lanzarin
ff8b3f7d0b
build(bbb-webrtc-sfu): v2.16.0 (#21276)
v2.16.0
---
* feat(mediasoup): pipe mediasoup logs to the application logger
* refactor(mediasoup): review log levels and metadata
2024-09-27 19:17:36 -04:00
Gabriel Luiz Porfirio
5c8079e8dd
test: Prevent user from posting public chat (#21257)
* prevent user from posting public chat

* changed location initUserPage2
2024-09-27 19:11:43 -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
Gabriel Luiz Porfirio
7f97793c50
test: Override default presentation on CREATE meeting API call (#21200)
* test override default presentation

* add test on ci
2024-09-27 10:30:18 -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
Anton Georgiev
4301ed1b7d
docs: allowPromoteGuestToModerator documentation tweak [2.7] (#21242)
* docs: allowPromoteGuestToModerator documentation tweak [2.7]

* Update create.tsx
2024-09-23 19:30:12 -04:00
Anton Georgiev
85207caefd
docs: added link to 2.7.13 2024-09-18 15:52:35 -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
Anton Georgiev
5b12b35265
build: Require libmagickcore-6.q16-6-extra for export-annotations (#21216)
This library seems missing on custom images (notably dedicated (but not cloud) Hetzner)
It is already present on all other installations we are aware of.
If the library is not present, some annotations (most notably text) will be missing when trying to export annotations from whiteboard in both main and breakout rooms.
2024-09-18 11:49:41 -04:00
Ramón Souza
620014f978
Update PULL_REQUEST_TEMPLATE.md 2024-09-18 10:41:14 -03:00
Gustavo Trott
74fae992bf
fix (akka-apps): Banned users being able to rejoin (when they have customdata) (#21210) 2024-09-18 08:43:21 -04:00
Gabriel Luiz Porfirio
dda6f9f85b
test: add test webcam background by passing URL (#21007)
* add test webcam background url

* Update bigbluebutton-tests/playwright/parameters/parameters.spec.js

Co-authored-by: Anton Barboza de Sá <antonbsa.bck@gmail.com>

* add some check for the webcamsettings modal

* changing check for custom background

* add sleep func to wait background to load

* adding a wait for the whiteboard

* added click to select the custom background

---------

Co-authored-by: Anton Barboza de Sá <antonbsa.bck@gmail.com>
2024-09-16 15:42:25 -04:00
Anton Georgiev
d2921c5f11
chore: Bump release to 2.7.13 2024-09-16 14:36:22 -04:00
Anton Georgiev
f25fffeb07
Merge pull request #21190 from antonbsa/timer-test-updt
test: Update timer test to avoid false failures + fix hide presentation param on unrelated tests
2024-09-16 13:53:58 -04:00
Anton Georgiev
f83fafe290
[2.7] build: Bump bbb-pads to 1.5.3 (#21193)
Backport https://github.com/bigbluebutton/bigbluebutton/pull/21071 to BBB 2.7
2024-09-16 11:44:34 -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
d8a0e9bd8e
build(bbb-webrtc-sfu): v2.15.0 (#21180)
v2.15.0
---
* feat: add restartIce support for video/screenshare modules
* refactor: rename ICE restart flag to `restartIce`, true by default
* build: pino@9.3.2
* build: config@3.3.12
* build: ws@8.18.0
* build: bufferutil@4.0.8
* build: mcs-js@0.0.20
* build: uuid@10.0.0
* build: mediasoup-client@3.7.16
* build: mediasoup@3.14.14
* build: SIP.js@v0.7.5.14
2024-09-13 16:02:02 -04:00
Anton Georgiev
ca337736c8
chore: upgrade FreeSWITCH to 1.10.12 (port) (#21181) 2024-09-13 16:01:46 -04: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
dependabot[bot]
c4bc1b61cf
build(deps): bump the npm_and_yarn group across 3 directories with 7 updates (#21182)
Bumps the npm_and_yarn group with 4 updates in the /bbb-learning-dashboard directory: [body-parser](https://github.com/expressjs/body-parser), [express](https://github.com/expressjs/express), [micromatch](https://github.com/micromatch/micromatch) and [webpack](https://github.com/webpack/webpack).
Bumps the npm_and_yarn group with 1 update in the /bigbluebutton-tests/puppeteer directory: [micromatch](https://github.com/micromatch/micromatch).
Bumps the npm_and_yarn group with 4 updates in the /docs directory: [body-parser](https://github.com/expressjs/body-parser), [express](https://github.com/expressjs/express), [micromatch](https://github.com/micromatch/micromatch) and [webpack](https://github.com/webpack/webpack).


Updates `body-parser` from 1.20.2 to 1.20.3
- [Release notes](https://github.com/expressjs/body-parser/releases)
- [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md)
- [Commits](https://github.com/expressjs/body-parser/compare/1.20.2...1.20.3)

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

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

Updates `micromatch` from 4.0.5 to 4.0.8
- [Release notes](https://github.com/micromatch/micromatch/releases)
- [Changelog](https://github.com/micromatch/micromatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/micromatch/compare/4.0.5...4.0.8)

Updates `path-to-regexp` from 0.1.7 to 0.1.10
- [Release notes](https://github.com/pillarjs/path-to-regexp/releases)
- [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md)
- [Commits](https://github.com/pillarjs/path-to-regexp/compare/v0.1.7...v0.1.10)

Updates `send` from 0.18.0 to 0.19.0
- [Release notes](https://github.com/pillarjs/send/releases)
- [Changelog](https://github.com/pillarjs/send/blob/master/HISTORY.md)
- [Commits](https://github.com/pillarjs/send/compare/0.18.0...0.19.0)

Updates `serve-static` from 1.15.0 to 1.16.2
- [Release notes](https://github.com/expressjs/serve-static/releases)
- [Changelog](https://github.com/expressjs/serve-static/blob/v1.16.2/HISTORY.md)
- [Commits](https://github.com/expressjs/serve-static/compare/v1.15.0...v1.16.2)

Updates `webpack` from 5.89.0 to 5.94.0
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.89.0...v5.94.0)

Updates `micromatch` from 4.0.4 to 4.0.8
- [Release notes](https://github.com/micromatch/micromatch/releases)
- [Changelog](https://github.com/micromatch/micromatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/micromatch/compare/4.0.5...4.0.8)

Updates `body-parser` from 1.20.2 to 1.20.3
- [Release notes](https://github.com/expressjs/body-parser/releases)
- [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md)
- [Commits](https://github.com/expressjs/body-parser/compare/1.20.2...1.20.3)

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

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

Updates `micromatch` from 4.0.5 to 4.0.8
- [Release notes](https://github.com/micromatch/micromatch/releases)
- [Changelog](https://github.com/micromatch/micromatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/micromatch/compare/4.0.5...4.0.8)

Updates `path-to-regexp` from 0.1.7 to 0.1.10
- [Release notes](https://github.com/pillarjs/path-to-regexp/releases)
- [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md)
- [Commits](https://github.com/pillarjs/path-to-regexp/compare/v0.1.7...v0.1.10)

Updates `send` from 0.18.0 to 0.19.0
- [Release notes](https://github.com/pillarjs/send/releases)
- [Changelog](https://github.com/pillarjs/send/blob/master/HISTORY.md)
- [Commits](https://github.com/pillarjs/send/compare/0.18.0...0.19.0)

Updates `serve-static` from 1.15.0 to 1.16.2
- [Release notes](https://github.com/expressjs/serve-static/releases)
- [Changelog](https://github.com/expressjs/serve-static/blob/v1.16.2/HISTORY.md)
- [Commits](https://github.com/expressjs/serve-static/compare/v1.15.0...v1.16.2)

Updates `webpack` from 5.89.0 to 5.94.0
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.89.0...v5.94.0)

---
updated-dependencies:
- dependency-name: body-parser
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: express
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: express
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: micromatch
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: path-to-regexp
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: send
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: serve-static
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: webpack
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: micromatch
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: body-parser
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: express
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: express
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: micromatch
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: path-to-regexp
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: send
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: serve-static
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: webpack
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-13 15:52:57 -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 B
7fe0cf4ce4 test: correctly avoid all presentation notification toasts on unrelated tests
- use customStyle to avoid notifications on "join" instead of "create"
2024-09-13 16:26:54 -03:00
Anton B
86eab96232 test: update timer test
- steps flow enhanced;
- text assertions checked simultaneously with promise.all;
2024-09-13 16:25:22 -03: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
Anton Georgiev
87e8371e8d
docs: fix name for notifyRecordingIsOn create parameter [2.7] (#21078) 2024-08-30 12:39:17 -04:00
Anton Georgiev
81aefc3c85
docs: escape non mdx compliant characters (#21072) 2024-08-30 10:59:55 -04: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
Anton Georgiev
d64c9bbedf
fix: bigbluebutton-tests/playwright/package.json & bigbluebutton-tests/playwright/package-lock.json to reduce vulnerabilities (#20939)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-AXIOS-7361793

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2024-08-27 08:59:26 -04:00
Jesus Federico
60e3f554a9
fix: bigbluebutton-tests/puppeteer/package.json & bigbluebutton-tests/puppeteer/package-lock.json to reduce vulnerabilities (#20945)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-AXIOS-7361793

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2024-08-27 08:56:53 -04:00
Jesus Federico
e62e6e3504
fix: bbb-export-annotations/package.json & bbb-export-annotations/package-lock.json to reduce vulnerabilities (#20946)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-AXIOS-7361793

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2024-08-27 08:56:08 -04: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
prlanzarin
d47c19c4a7 build(bbb-webrtc-sfu): v2.15.0-beta.0
v2.15.0-beta.0
---
* feat: add restartIce support for video/screenshare modules
2024-08-23 09:59:51 -03:00