Commit Graph

42860 Commits

Author SHA1 Message Date
prlanzarin
c6ca6d5c45 fix(audio): add callerNum to transparent listen only RPCs
There are some scenarios where transparent listen only toggle RPCs are
directed to multiple different sessions in the SFU, which might cause a
hold-unhold loop because they're all anchored to the userId.

Append the callerNum to transparent listen only toggle RPCs so that they
are directed to the appropriate audio sessions in all cases.
2024-08-15 00:43:29 +00:00
prlanzarin
325887e325 feat(audio): rework audio join without listen only
This is a rework of the audio join procedure whithout the explict listen
only separation in mind. It's supposed to be used in conjunction with
the transparent listen only feature so that the distinction between
modes is seamless with minimal server-side impact. An abridged list of
changes:
  - Let the user pick no input device when joining microphone while
    allowing them to set an input device on the fly later on
  - Give the user the option to join audio with no input device whenever
    we fail to obtain input devices, with the option to try re-enabling
    them on the fly later on
  - Add the option to open the audio settings modal (echo test et al)
    via the in-call device selection chevron
  - Rework the SFU audio bridge and its services to support
    adding/removing tracks on the fly without renegotiation
  - Rework the SFU audio bridge and its services to support a new peer
    role called "passive-sendrecv". That role is used by dupled peers
    that have no active input source on start, but might have one later
    on.
  - Remove stale PermissionsOverlay component from the audio modal
  - Rework how permission errors are detected using the Permissions API
  - Rework the local echo test so that it uses a separate media tag
    rather than the remote
  - Add new, separate dialplans that mute/hold FreeSWITCH channels on
    hold based on UA strings. This is orchestrated server-side via
    webrtc-sfu and akka-apps. The basic difference here is that channels
    now join in their desired state rather than waiting for client side
    observers to sync the state up. It also mitigates transparent listen
    only performance edge cases on multiple audio channels joining at
    the same time.

The old, decoupled listen only mode is still present in code while we
validate this new approach. To test this, transparentListenOnly
must be enabled and listen only mode must be disable on audio join so
that the user skips straight through microphone join.
2024-08-15 00:43:28 +00:00
prlanzarin
cf293fe7fd 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-15 00:43:27 +00:00
Tainan Felipe
415d4ad5e1 Remove: rtt precision 2024-08-14 16:52:11 -03:00
Tainan Felipe
6789b69f62 Fix: error undefined in the cosole error 2024-08-14 16:37:37 -03:00
prlanzarin
7a95258621 refactor: remove server logger from bbb-html5's settings
Support for bbb-html5's server logger (Winston) was removed in
50d445f026, but configuration for it
remained.

Remove the Winston-based server logger configuration from bbb-html5's
settings.yml. There's no direct alternative since this package hasn't got a
server side component to it - replaced by bbb-graphql-middleware,
bbb-graphql-server and bbb-graphql-actions.
2024-08-14 18:48:45 +00:00
prlanzarin
814204d5fd refactor: remove "server" target from bbb-html5's clientLog
Support for clientLog's "server" target (Meteor) was removed in
50d445f026, but configuration and docs
entries for it remained.

There's no alternative for it, so I'm removing the leftover
configuration and doc entries.
2024-08-14 18:42:05 +00:00
André Castro
39dba53dec
Fix: Emoji picker not closing when clicking outside (#20910)
* Fix: Emoji picker not closing when clicking outside
2024-08-14 13:54:41 -04:00
Tainan Felipe
78608dfb51 fix: decrease precision of the rtt 2024-08-14 11:54:46 -03:00
Paulo Lanzarin
8fb5d84fb8
docs: remove leftover Kurento documentation (#20930) 2024-08-14 10:14:23 -04:00
dependabot[bot]
e2a21dbea2
build(deps-dev): bump postcss (#20932)
Bumps the npm_and_yarn group with 1 update in the /bbb-learning-dashboard directory: [postcss](https://github.com/postcss/postcss).


Updates `postcss` from 8.4.38 to 8.4.39
- [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.38...8.4.39)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  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-08-14 09:32:30 -04:00
Ramón Souza
68121436b6
Merge pull request #20923 from AtilaU19/task_1927
fix(darkmode): fix avatar username color when dark mode is enabled
2024-08-14 10:14:57 -03:00
dependabot[bot]
23d5f75693
build(deps): bump the npm_and_yarn group across 6 directories with 2 updates (#20928)
Bumps the npm_and_yarn group with 1 update in the /bbb-export-annotations directory: [axios](https://github.com/axios/axios).
Bumps the npm_and_yarn group with 1 update in the /bbb-graphql-actions directory: [axios](https://github.com/axios/axios).
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 1 update in the /bigbluebutton-html5 directory: [axios](https://github.com/axios/axios).
Bumps the npm_and_yarn group with 1 update in the /bigbluebutton-tests/playwright directory: [axios](https://github.com/axios/axios).
Bumps the npm_and_yarn group with 1 update in the /bigbluebutton-tests/puppeteer directory: [axios](https://github.com/axios/axios).


Updates `axios` from 1.7.2 to 1.7.4
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.7.2...v1.7.4)

Updates `axios` from 1.6.4 to 1.7.4
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.7.2...v1.7.4)

Updates `postcss` from 8.4.37 to 8.4.38
- [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.37...8.4.38)

Updates `axios` from 1.7.3 to 1.7.4
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.7.2...v1.7.4)

Updates `axios` from 1.7.2 to 1.7.4
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.7.2...v1.7.4)

Updates `axios` from 1.7.2 to 1.7.4
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.7.2...v1.7.4)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: axios
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: postcss
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: axios
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: axios
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: axios
  dependency-type: direct:production
  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-08-14 08:52:25 -04:00
Anton Georgiev
21533ee42a
build: revert removal of gzip command in bbb-html5/build.sh (#20929) 2024-08-14 08:48:13 -04:00
transifex-integration[bot]
35ac6f14a2
Updates for project BigBlueButton v3.0 HTML5 client and language pt_BR (#20931)
* Translate en.json in pt_BR

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

* Translate en.json in pt_BR

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-14 08:45:46 -04:00
Anton Barboza de Sá
c6e8464693
core: Makes CI read the needed data from an uploaded file when the tests finish (#20810)
* core: get PR number from artifacts on completed testing workflow

* core: split merge and upload blob-report action into a separate file

* ci: do not remove artifact files
2024-08-13 23:48:18 -03:00
João Victor Nunes
2139817595
fix(external-video): player unsynced when switching presenter (#20883) 2024-08-13 19:11:55 -04:00
Ramón Souza
9cb0123717
fix(client): undefined variable in emoji rain (#20926) 2024-08-13 16:00:10 -04:00
Anton Georgiev
b6b06e714e
chore: add list of supported languages for captions (#20924) 2024-08-13 14:09:09 -04:00
AtilaU19
0f646c4c7f fix(darkmode): fix avatar username color when dark mode is enabled 2024-08-13 16:26:37 +00:00
germanocaumo
4514649c4f feat: adds option to split audio recording in multiple files by length
FreeSWITCH sometimes drop frames in very long recordings generating
a raw file smaller than the total time recorded. The other issue is the
occasional drifiting.

This adds option to split audio recording in multiple files by
duration to avoid this problem in setups that are prone to it. Disabled
by default.
2024-08-13 14:31:54 +00:00
Paulo Lanzarin
79df213a46
Merge pull request #20898 from prlanzarin/u30/fix/remove-spurious-gum
fix: remove spurious getUserMedia in ErrorScreen
2024-08-13 11:26:10 -03:00
Paulo Lanzarin
955b3cffc3
fix(html5): restore lint:file npm script (#20891)
Restore the  `lint:file` npm script. Rationale outlined in
  - 07960af
  - https://github.com/bigbluebutton/bigbluebutton/pull/13870

> The lint:fix hook fixes/alters things. The lint run script runs eslint over the whole root directory.
> I just want to check linting offenses on a per-file/directory basis without having files messed with or needing a fancy IDE.
2024-08-13 09:55:14 -04:00
Ramón Souza
32f42163fa
fix(client): add doctype + remove extra styles (#20911) 2024-08-12 17:36:41 -04:00
Tainan Felipe
41582d57a6
Fix: Improve performance in webpack hmr and build (#20912)
* Fix: Improve performance in webpack hmr and build

* Add: performance boundaries
2024-08-12 14:41:38 -04:00
Jesus Federico
f488859b32
fix: docs/package.json & docs/package-lock.json to reduce vulnerabilities (#20901)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-INFLIGHT-6095116

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2024-08-12 13:02:43 -04:00
dependabot[bot]
d1e00ae99e
build(dashboard): bump postcss (#20895)
Bumps the npm_and_yarn group with 1 update in the /bbb-learning-dashboard directory: [postcss](https://github.com/postcss/postcss).


Updates `postcss` from 8.4.36 to 8.4.37
- [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.36...8.4.37)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  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-08-12 13:01:18 -04:00
transifex-integration[bot]
45aec8bb80
Translate en.json in ja (#20902)
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:00:25 -04:00
transifex-integration[bot]
e93ca48b75
Translate en.json in et (#20905)
100% translated source file: 'en.json'
on 'et'.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-08-12 12:59:57 -04:00
Anton Georgiev
1d64e6536e
config: Warn when .dpkg-dist files detected in /etc/default (#20904)
* config: Warn when .dpkg-dist files detected in /etc/default

* Update bigbluebutton-config/bin/bbb-conf
2024-08-12 12:45:45 -04:00
Ramón Souza
1639978d17
Merge pull request #20907 from ramonlsouza/fix-font-path
fix: fonts path
2024-08-12 11:01:00 -03:00
Ramón Souza
3d5dedec90 fix font path 2024-08-12 10:15:38 -03:00
Ramón Souza
865032895a
Merge pull request #20886 from ramonlsouza/away-audio-flag
add config flag to mute audio output on away mode
2024-08-12 10:05:13 -03:00
Gustavo Trott
47997a932a
Add scripts to run html5 from source (#20899)
* Add scripts to run html5 from source

* remove unnecessary sudo
2024-08-12 09:35:45 -03:00
Anton Georgiev
b1b79653cc
build: remove old custom bbb-html5 NodeJS binaries (#20897)
* build: remove old custom bbb-html5 NodeJS binaries

* docs: mention removal of node v14

* build: list bbb-web as dependency to bbb-config

* build: undo set license

* re-add bbb-html5 as dependency to bbb-config
2024-08-10 13:03:11 -04:00
prlanzarin
4dcc77968b fix: remove spurious getUserMedia in ErrorScreen
There's a very odd getUserMedia call tucked into the base ErrorScreen.
There's no rationale in either the commit or PR that added them, but the
intention seems to be stopping audio on client crash.
Using getUserMedia like that will have no effect other than an odd
permission prompt on iframe-based environments or a webcam activation
flash after the client crashes.

Remove ErrorScreen's getUserMedia call as well as the HTMLMedia pause
call - both should be handled gracefully by AudioManager's forceExitAudio
triggered by the StopAudioTracks event (also ErrorScreen). If there's an
edge case where it isn't properly stopped, we'll have to tackle it
there.
2024-08-09 19:24:33 +00:00
Ramón Souza
7896b37f46
Merge pull request #20893 from gabriellpr/skip-pin-notes
test: Skip pin notes onto whiteboard to be updated
2024-08-09 16:02:08 -03:00
dependabot[bot]
81f6664f7c
build(deps-dev): bump postcss (#20890)
Bumps the npm_and_yarn group with 1 update in the /bbb-learning-dashboard directory: [postcss](https://github.com/postcss/postcss).


Updates `postcss` from 8.4.35 to 8.4.36
- [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.35...8.4.36)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  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-08-09 14:48:03 -04:00
Gabriel Porfirio
114c9e66bb skipping pin notes onto whiteboard test 2024-08-09 15:19:21 -03:00
Tainan Felipe
4d6f4b3ded
Refactor: Make bundle using webpack (#20811)
* Refactor: Make bundle using webpack

* Fix: restore after install codes and a few settings

* Fix: build script folder permission

* Refactor: Remove support to async import on audio bridges

* Upgrade npm using nvm

* Avoid questions on npm ci execution

* Let npm ci install dev dependencies (as we need the build tools here)

* Fix: enconding

* Fix: old lock files

* Remove: bbb-config dependency to bbb-html5 service, bbb-html5 isn't a service anymore

* Fix: TS errors

* Fix: eslint

* Fix: chat styles

* npm install with "lockfileVersion": 3 (newer npm)

* build: allow nodejs 22

* node 22; drop meteor from CI and bbb-conf

* TEMP: use bbb-install without mongo but with node 22 and newer image

* build: relax nodejs condition to not trip 22.6

* build: ensure dir /usr/share/bigbluebutton/nginx exists

* init sites-available/bbb; drop disable-transparent-

* nginx complaining of missing file and ;

* TMP: print status of services

* WIP: tweak nginx location to debug

* Fix: webcam widgets alignments

* akka-apps -- update location of settings.yml

* build: add locales path for nginx

* docs and config changes for removal of meteor

* Fix: build encoding and locales enpoint folder path

* build: set wss url for media

* Add: Enable minimizer and modify to Terser

* Fix: TS errors

---------

Co-authored-by: Tiago Jacobs <tiago.jacobs@gmail.com>
Co-authored-by: Anton Georgiev <anto.georgiev@gmail.com>
Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>
2024-08-09 13:58:44 -04:00
transifex-integration[bot]
6a3a3bdf1d
Translate en.json in el_GR (#20877)
100% translated source file: 'en.json'
on 'el_GR'.

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

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-08-09 11:16:03 -04:00
Anton Georgiev
46de3f7efd
Merge pull request #20806 from JoVictorNunes/webcam-patch-0724
fix(webcam): fixes related to graphql subscriptions, et al.
2024-08-09 10:53:31 -04:00
Ramón Souza
f150d92bde rename param 2024-08-09 11:20:58 -03:00
Gustavo Trott
61586584cc
Merge pull request #20882 from gustavotrott/gql-middleware-ref
refactor (bbb-gql-middlware): Bump Go version, rename config to `MAX_CONN_PER_SESSION_TOKEN`
2024-08-09 10:47:28 -03:00
Gustavo Trott
2250044ed2
Merge pull request #20885 from gabriellpr/skip-test
test: skipping test yt related
2024-08-09 09:55:00 -03:00
Ramón Souza
3907293692 add muteSpeakerIfAway config 2024-08-09 09:54:34 -03:00
Gabriel Porfirio
946f7de4d3 skip tests related to external video 2024-08-09 09:17:57 -03:00
Gustavo Trott
1e32ee794e several refactors 2024-08-08 16:50:41 -03:00
Gustavo Trott
7d5715a499
update (#20876) 2024-08-08 16:35:46 -03:00