Commit Graph

43433 Commits

Author SHA1 Message Date
Anton Georgiev
8115c61a81
Merge pull request #21530 from antobinary/oct-25
Merge BBB 3.0.0-beta.4 into develop
2024-10-25 10:44:26 -04:00
Anton Georgiev
cac5d72a27 Merge remote-tracking branch 'bbb/v3.0.x-release' into oct-25 2024-10-25 09:36:38 -04:00
Gustavo Trott
757b6eb0ed
Merge pull request #21526 from gustavotrott/fix-retry-setup-docker
fix (build): bypass docker error (retry script not working)
2024-10-25 09:35:01 -03:00
Anton Georgiev
037d044ca8
Update new-features.md 2024-10-24 21:34:13 -04:00
Paulo Lanzarin
f55bd7b114
chore(audio): add I/O device data to audio logs (#21502)
I/O device IDs are logged in some specific logCodes, but they aren't too
useful on their own without the rest of the MediaDeviceInfo object. We
need that extra data (label, group) to be able to better investigate
incorrect device issues and NotFoundError occurrences.

Register full I/O device info whenever the client fetches them and add
those, unfiltered, to the following logCodes:
  - audiomanager_error_getting_device
  - audiomanager_error_device_not_found
  - audiomanager_error_unknown
  - audio_joined
  - audio_ended
  - audio_failure
  - audiomanager_input_live_device_change_failure
  - audiomanager_output_device_change_failure
2024-10-24 21:19:21 -04:00
Gustavo Trott
63bf4f35bc
fix (LAD/cluster): Enable LearningDashboard cookie support across different subdomains (#21518)
* Enable LearningDashboard cookie support across different subdomains.

After a meeting ends, the client sets a cookie `ld-${meetingId}` with a token used to retrieve meeting data in JSON format. The Learning Dashboard needs access to this cookie to obtain the token.

The issue occurs in a Cluster setup where the Dashboard is hosted on a different subdomain, preventing it from accessing the cookie.
To resolve this, the client will set the cookie using the root domain (excluding the subdomain). This allows the cookie to be accessible from any subdomain.

* lint fixes

* Update bigbluebutton-html5/imports/ui/components/meeting-ended/service.ts

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

---------

Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>
2024-10-24 21:17:05 -04:00
Paul Trudel
03a6901e52
fix(bbb-web): Make all document processing timeouts configurable (#21467)
* Add new timeout props  for document conversion

* Add timeout config props to bbb

* Fix typo in pdfPageDownscaleExecTimeout property

* Specifiy time units in property names
2024-10-24 21:16:24 -04:00
Guilherme Pereira Leme
d1af76d8ff
fix(bbb-web): fix plugins not loading nor running into breakout-rooms (#21525)
* [fix-breakouts-plugin] - Fix plugin not loading and not running into breakouts.

* [fix-breakouts-plugin] - simplifying createMeeting logic - changes in review
2024-10-24 21:15:27 -04:00
Anton Georgiev
6d4fa12de2
[3.0]docs: Update url for LAD in cluster proxy setup (#21523)
port of https://github.com/bigbluebutton/bigbluebutton/pull/21511
2024-10-24 21:15:00 -04:00
transifex-integration[bot]
6e8b02204b
Translate en.json in fa_IR (#21524)
100% translated source file: 'en.json'
on 'fa_IR'.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-10-24 21:14:44 -04:00
Gustavo Trott
4bfc5a3592 fix retry increment 2024-10-24 16:51:11 -03:00
Gustavo Trott
34d1e14667 Avoid exit on error running 2024-10-24 16:45:08 -03:00
Gustavo Trott
67dac35176
refactor (ci/tests): Stop any ongoing processes before retrying to install bbb (#21515)
* Stop any ongoing processes before retrying to install bbb

* add rm -f param

* Update .github/workflows/automated-tests.yml

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* make cleanup more verbose

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-10-24 10:47:02 -03:00
KDSBrowne
d11ab481f9
fix(whiteboard): Mobile whiteboard tool access with auto hiding (#21486)
* update units from pt to px

* hide mobile toolbars when interacting with whiteboard

* remove animation condition | add prop type
2024-10-24 10:33:27 -03:00
Ramón Souza
0b8484609d
Merge pull request #21451 from Tainan404/fix-presentation-toast
Fix: Presentation uploader toast not appearing sometimes when converting notes from breakouts
2024-10-24 10:32:52 -03:00
Anton Georgiev
2df71b568a
[3.0]docs: clarify on LAD default value comment (#21519) 2024-10-24 09:27:07 -04:00
transifex-integration[bot]
6fe3806844
Translate en.json in el_GR (#21508)
100% translated source file: 'en.json'
on 'el_GR'.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-10-24 05:04:36 -04:00
Ramón Souza
b56caaae9a
adjust userlist item margin (#21507) 2024-10-23 15:25:59 -04:00
Gustavo Trott
1cda716da5
Add websocket_idle_timeout_seconds config for idle WebSocket cleanup (#21493) 2024-10-23 12:19:01 -03:00
transifex-integration[bot]
36d14eddc8
Translate en.json in ja (#21505)
100% translated source file: 'en.json'
on 'ja'.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-10-23 10:24:53 -04:00
dependabot[bot]
1b45a51923
build(deps): bump the npm_and_yarn group across 3 directories with 1 update (#21504)
Bumps the npm_and_yarn group with 1 update in the /bbb-graphql-client-test directory: [http-proxy-middleware](https://github.com/chimurai/http-proxy-middleware).
Bumps the npm_and_yarn group with 1 update in the /bbb-learning-dashboard directory: [http-proxy-middleware](https://github.com/chimurai/http-proxy-middleware).
Bumps the npm_and_yarn group with 1 update in the /docs directory: [http-proxy-middleware](https://github.com/chimurai/http-proxy-middleware).


Updates `http-proxy-middleware` from 2.0.6 to 2.0.7
- [Release notes](https://github.com/chimurai/http-proxy-middleware/releases)
- [Changelog](https://github.com/chimurai/http-proxy-middleware/blob/v2.0.7/CHANGELOG.md)
- [Commits](https://github.com/chimurai/http-proxy-middleware/compare/v2.0.6...v2.0.7)

Updates `http-proxy-middleware` from 2.0.6 to 2.0.7
- [Release notes](https://github.com/chimurai/http-proxy-middleware/releases)
- [Changelog](https://github.com/chimurai/http-proxy-middleware/blob/v2.0.7/CHANGELOG.md)
- [Commits](https://github.com/chimurai/http-proxy-middleware/compare/v2.0.6...v2.0.7)

Updates `http-proxy-middleware` from 2.0.6 to 2.0.7
- [Release notes](https://github.com/chimurai/http-proxy-middleware/releases)
- [Changelog](https://github.com/chimurai/http-proxy-middleware/blob/v2.0.7/CHANGELOG.md)
- [Commits](https://github.com/chimurai/http-proxy-middleware/compare/v2.0.6...v2.0.7)

---
updated-dependencies:
- dependency-name: http-proxy-middleware
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: http-proxy-middleware
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: http-proxy-middleware
  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-10-23 10:24:24 -04:00
germanocaumo
bc324f480e
feat(recording): adds custom userdata recording permission (#21497)
* feat(recording): adds custom "bbb_record_permission" userdata

Adds two new userdata parameters:
 - bbb_record_permission: if true, bypass the moderator/viewer role permission and allows the user to start/stop the recording
 - bbb_record_permission_tooltip: a string to show in the tooltip when the user don't have permission, useful to explain why the user can't start recording

This enables integrations to have custom rules for specific users to have or not permission to record a meeting

* chore(docs): adds new recording userdata to docs

* refactor: clean unused code

* Update docs/docs/administration/customize.md

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

---------

Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>
2024-10-23 10:47:48 -03:00
Ramón Souza
d876c45784
Merge pull request #21422 from germanocaumo/learning-dashboard-links
feat(learning-dashboard): Learn more and feedback phrases and links
2024-10-23 10:22:10 -03:00
Gustavo Trott
cb1fc4ffcc
refactor (ci/tests): Replace retry method for ./bbb-install.sh step (#21500)
* ci (tests): Replace retry method for ./bbb-install.sh

* ensures the variables are evaluated within the script block

* avoid exiting step when bbb-install.sh fails

* Improve error handling and logging (bbb-install.sh)

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Add an delay to retry runnung bbb-install.sh (to avoid toomanyrequests: You have reached your pull rate limit)

* show output in screen

* Remove lock in case the timeout was during an apt install

* return timeout to 25mins

* set initial value of COMMAND_EXIT_CODE

* remove unnecessary sudo

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-10-23 09:58:34 -03:00
Ramón Souza
c79637f21b
Merge pull request #21409 from Arthurk12/layout_media_only
feat(layout): new hidden layout type: `MEDIA_ONLY`
2024-10-23 09:12:22 -03:00
Arthur B. Grossi
4aab1b21d8
feat(layout): add userdata bbb_hide_controls (#21410)
* feat(layout): add `hideTopRow` to nav bar context

Adds the `hideTopRow` property to the navbar in the layout context, allowing
the top row of the navigation bar to be hidden. Only the row with the
talking indicators and timer indicator will remain visible when this
option is used.

* feat(layout): add userdata `bbb_hide_controls`

Introduces the userdata join parameter `bbb_hide_controls`, which hides
the action bar and the top row of the navigation bar (including the close
sidebar button, room title, connectivity indicator, and leave meeting button)
while keeping the row with the talking indicator and timer indicator visible.

* fix(layout): has actions bar boolean expression
2024-10-23 09:06:44 -03:00
Gustavo Trott
84dba0c251
Merge pull request #21503 from gustavotrott/restore-raiseHandTime
fix: Users with raiseHand are not on the top of the the userlist
2024-10-22 21:25:33 -03:00
Arthur B. Grossi
5f6b8bc698
feat: add bbb_hide_notifications (#21415)
* feat(layout): add `hideNotificationToasts` to notifications bar
context

Adds the `hideNotificationToasts` property to the notifications bar
in the layout context, allowing the notification toasts to be
hidden when the property is set to `true`.

* feat(layout): add userdata `bbb_hide_notifications`

Introduces join userdata parameter `bbb_hide_notifications` that
prevents the rendering of all notification toasts in the client.
2024-10-22 17:43:00 -03:00
Ramón Souza
8daeafeb0d
Merge pull request #21480 from Arthurk12/bbb/30/21463
feat: introduces join parameter to flag user as `bot`
2024-10-22 17:32:13 -03:00
Gustavo Trott
19dad69405 Restore db trigger that populates raiseHand time 2024-10-22 17:03:14 -03:00
germanocaumo
cab4d3a657
fix(learning-dashboard): show all sessions of users with the same internalID (#21433)
* fix(learning-dashboard): show all sessions of users with same internal ID

Store and show sessions of users that rejoin with the same internalID

fix(learning-dashboard): compatibility with old data

Adjust old data to new expected sessions format.

fix(learning-dashboard): csv join and left times

Missed update from new json format, join and left were incorrect.

* fix(learning-dashboard): remove line breaks and spaces off poll question in csv

* fix(learning-dashboard): Normalize locale strings and prevent crash when using invalid strings

Fixes #1795

---------

Co-authored-by: Lucas Fialho Zawacki <lfzawacki@gmail.com>
2024-10-22 16:00:03 -04:00
Ramón Souza
7af165801a
Merge pull request #21487 from JoVictorNunes/chat-patch-1017
fix(chat): Several fixes, UI improvements, et al.
2024-10-22 16:23:44 -03:00
Arthur B. Grossi
da847e6bb2
feat(plugins): set away and set speaker level ui commands (#21336)
* feat(plugins): set away and set speaker level ui commands

Adds set away and set speaker level to plugins ui commands.

* fix(plugins): clear event listener in ui commands

Properly remove event listener in user status and conference ui
commands.

* chore: sync SDK version

Updates SDK to v0.0.62

* feat(plugins): adjust the set away command

Ensures the current away status is used to mute the microphone correctly
when the away status is set to true. Additionaly, adds a dependency array
for the pertinent values to be updated in the event listener callback.

* chore: update SDK version

Updates SDK to v0.0.65

* chore: update SDK version to 0.0.66

Updates SDK to v0.0.66
2024-10-22 14:30:01 -04:00
Anton Georgiev
f1a19e904c
chore: Bump release to 3.0.0-beta.4 2024-10-22 14:16:58 -04:00
transifex-integration[bot]
773f9af561
Translate en.json in el_GR (#21501)
100% translated source file: 'en.json'
on 'el_GR'.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-10-22 14:16:18 -04:00
João Victor
5275e4e1a8 fix(chat): Missing message background color if all toolbar features are disabled 2024-10-22 14:13:08 -03:00
Ramón Souza
a95701c192
revert settings change 2024-10-22 13:53:33 -03:00
germanocaumo
5920181882
fix(plugins): layout content pile hook improvements (#20636)
* fix(plugins): layout content pile hook improvements

The isOpen property of the content was not being updated when the minimize button was pressed, so plugins couldn't know if it was open or not.
Also, plugins were not receiving the initial state when subscribing to the hook, they only received subsequent changes.

+ fix duplicated external video event and user list event with wrong names.

* fix: eslint errors

* fix(layout): remove previous content from pile

Always remove previous content from pile when calling SET_PILE_CONTENT_FOR_PRESENTATION_AREA with open = false
2024-10-22 12:53:08 -04:00
transifex-integration[bot]
cc963b5b62
Translate en.json in gl (#21498)
100% translated source file: 'en.json'
on 'gl'.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-10-22 12:04:38 -04:00
Anton Georgiev
0cb406a846
Merge pull request #21478 from germanocaumo/bbb-breakout-room-permissions
feat: allow parent room moderators to kick other users in breakouts
2024-10-22 12:01:37 -04:00
germanocaumo
1d29ec156f chore(docs): add bbb_parent_room_moderator to docs 2024-10-22 12:55:01 -03:00
Anton Georgiev
5788731745
Merge pull request #21211 from Arthurk12/sdk/issue/112
fix(plugins): unmount extensible areas
2024-10-22 10:14:24 -04:00
Anton Georgiev
78550a07dc
Merge pull request #21489 from prlanzarin/u30/fix/audio-overlapping-join
fix(audio): clear input device IDs if getUserMedia fails, +
2024-10-22 10:11:58 -04:00
Átila
a017cc239e
fix(dark-logo): darkreader changes are propagated to the user list (#21421) 2024-10-22 10:22:42 -03:00
KDSBrowne
8705ae52a9
only show hide toolbar to presenter and users with access to wb (#21484) 2024-10-22 09:26:08 -03:00
Arthurk12
7d9c6ee691 Merge remote-tracking branch 'bigbluebutton/v3.0.x-release' into sdk/issue/112 2024-10-21 16:29:00 -03:00
prlanzarin
c2161b9a14 fix(audio): clear input device IDs if getUserMedia fails
Stored input device IDs are not cleaned up whenever getUserMedia fails
with `NotFoundError` (i.e.: device not found). This causes a couple of
issues whenever skipEchoIfPreviousDevice is enabled:
  - An unnecessary error screen if the user retries audio from scratch
    (it should just go straight to the audio settings modal)
  - A retry loop if no other devices are present in the system

Guarantee that stored input device IDs are cleared up whenever
getUserMedia fails with error name `NotFoundError`. This both the retry
loop and the unnecessary error screen.
2024-10-21 19:22:54 +00:00
prlanzarin
d0ad8afe64 fix(audio): prevent overlapping sessions from gUM-induced timeouts
`getUserMedia` is called by each audio bridge if it hasn't been
triggered during pre-flight screens. This ties gUM to the bridge's
negotiation timers and audio-manager's activation tracking, leading to
two issues:
  - A gUM prompt left unanswered for over 30 seconds can cause an
    incorrect 1010 (negotiation timeout) audio error.
  - If `retryThroughRelay: true`, and a joinAudio timeout occurs due to an
    unanswered gUM prompt, but the user responds while the system retries
    the connection, it can create overlapping audio sessions, resulting in
    mute state inconsistencies when `muteOnStart: true`.

This commit addresses these issues by moving gUM handling to the
audio-manager before any bridge action. This removes gUM from the
negotiation timeout trackers, ensuring that gUM errors are treated as
browser API errors (as expected).

Additionally, audio activation tracking in audio-manager has been updated
to exclude gUM times. Initially, gUM was included to catch unintended
browser-related gUM timeouts (e.g., Chrome bugs), but this skewed the
metric intended for tracking *negotiation times*. With this change,
`secondsToActivateAudio` will now focus solely on negotiation.
2024-10-21 19:19:49 +00:00
João Victor
e4d6720b68 fix: Adjust useSticyScroll hook dependency arrays 2024-10-21 15:15:01 -03:00
Guilherme Pereira Leme
060aa384c3
feat(plugin): Add possible way of updating a component without changing it completely (#21476) 2024-10-21 15:11:10 -03:00