Commit Graph

39605 Commits

Author SHA1 Message Date
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
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
Paulo Lanzarin
1484f516d0
Merge pull request #20998 from bigbluebutton/bbb27sfu2142
[2.7] build(bbb-webrtc-sfu): v2.14.2
2024-08-21 19:56:47 -03:00
Paulo Lanzarin
8be32a7bf3
build(bbb-webrtc-sfu): v2.14.2
v2.14.2
---
* refactor(audio): set FLOWING logs to INFO level
* build(mediasoup): v3.14.11
2024-08-21 16:18:16 -03:00
Gabriel Luiz Porfirio
f66f07d177
test: Backport share camera as content test to 2.7 (#20964)
* backport camera as content test

* add test to ci
2024-08-21 14:56:39 -03:00
Gabriel Luiz Porfirio
7a8abd0127
backport disable self-view test (#20982) 2024-08-21 14:56:21 -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
Gabriel Luiz Porfirio
ff0b2f33b6
test: removing temporally external video test from ci (#20955)
* removing external video test from ci, adds @flaky flag
2024-08-20 13:36:57 -03:00
Paulo Lanzarin
7371aa6c18
Merge pull request #20921 from prlanzarin/u27/fix/tlo-unhold-unmute-delay
fix(audio): change unmute/unhold flow to work around FS unmute stutter
2024-08-15 12:37:29 -03:00
Anton Barboza de Sá
36b5a16c15
docs: Testing plan update (what's new features) (#20913)
* docs: update test links on release notes and spec files

* docs: add tests for 'what's new on 2.7' features

* Update docs/docs/testing/release-testing.md

Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>

* test: pass the bbb version in the doc links

---------

Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>
2024-08-14 09:50:03 -04:00
Anton Georgiev
562a13f527
chore: update link to which locales are supported by Gladia (#20925) 2024-08-13 13:44:20 -04:00
prlanzarin
cf6202c572 fix(audio): change unmute/unhold flow to work around FS unmute stutter
FS has an intermittent issue where unmuting a HELD channel sometimes
takes significantly (seconds) longer than usual.
conference <XYZ> unmute <WVU> simply gets stuck with no FS_API response,
which delays the unmute action whenever transparent listen only is
active.

Apparently, unholding the channel PRIOR TO unmuting works around the
issue - at least it could not be reproduced with the scenario at hand.
The unmute API already triggered an unhold in FS internally, which is
the reason why this was not done beforehand. The aforementioned issue is
way worse than an extra "redudant" API call, though.

Always unhold audio channels manually _before_ unmuting.
2024-08-13 13:18:22 -03:00
prlanzarin
e6e1f28036 feat(audio): channel threshold for transparent listen only activation
Transparent listen only is currently only worth it for meetings with a
number of duplex audio channels larger than a certain value (dependant
on system performance). That is due to the fact that global audio
bridges created for the mechanism also use significant CPU (roughly the
same as an unheld duplex channel), which means it's cost is usually
offset only once there are enough potential channels to be held in a
conference.

This commit adds a new optional feature that introduces some dynamicity
for the mechanism: it'll only be triggered after at least
@voiceConf.transparentListenOnlyThreshold number of muted duplex
audio channels are present in a conference.
The default is 0 (always trigger transparent listen only if the general
mechanism is activated).
2024-08-13 13:18:21 -03: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