Commit Graph

43217 Commits

Author SHA1 Message Date
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
prlanzarin
a07e319e90 fix(audio): check error codes before retrying on start failure
The check for whether an error code is deemed "retryable" in
sfu-audio-bridge's joinAudio code is reversed - which may cause
unwarranted audio retries on join failures.
Since only one of the retry points is broken, this is a rare issue.
For end users, the visible behavior is a duplicate error alert
since non-retryable errors are likely to fail again in subsequent
attempts

Fix the check to properly skip audio retries if the error is not
retryable.
2024-10-21 14:43:12 +00:00
Anton Georgiev
064102daea
fix: Adjust string for session ending (#21402) 2024-10-21 08:34:06 -03:00
Gustavo Trott
301e2998ae
fix (gql-middleware): Fix memory leaks (#21479) 2024-10-18 20:04:21 -03:00
hiroshisuga
36c9819d24
[3.0.0 transcription] Add locales as much as possible (#21376)
* Update en.json

* Update settings.yml

* Create transcriptionLocale.ts

* Update component.tsx

* Update component.tsx

* Revert IN -> ID

Because it will be fixed in the main repository

* let -> const message

British -> GB

* Refactor audio captions messages and locales to fix issues reported by typescript code validation

---------

Co-authored-by: Ramón Souza <contato@ramonsouza.com>
2024-10-18 15:22:04 -03:00
Ramón Souza
c8aac3f6e4
Merge pull request #21367 from hiroshisuga/patch-12
[3.0.0b2] Fix Hindi locale
2024-10-18 13:18:46 -03:00
Ramón Souza
9001a7102b
Merge pull request #21465 from germanocaumo/fix-meeting-metadata
fix(client): convert meeting metadata to expected format
2024-10-18 10:37:00 -03:00
Ramón Souza
5dbe083730
Merge pull request #21472 from ramonlsouza/adjust-raise-hand
style: adjust raise hand icon position
2024-10-18 09:13:37 -03:00
Ramón Souza
3f4d5bda76 adjust raise hand icon position 2024-10-17 16:35:51 -03:00
Ramón Souza
225f69a08d
Merge pull request #21370 from germanocaumo/fit-to-width-zoom-fixes
fix(whiteboard): fit to width and zoom misc fixes
2024-10-17 15:37:32 -03:00
Ramón Souza
e945a86f47
Merge pull request #21430 from JoVictorNunes/new-chat-ui-30
styles(chat): a new chat UI
2024-10-17 15:08:45 -03:00
João Victor
0f20eb936b fix(chat): Do not highlight messages that does not have toolbar 2024-10-17 14:28:20 -03:00
João Victor
4725e64229 fix(chat): Reset both editing and replying states after sending an message 2024-10-17 13:39:51 -03:00
João Victor
3f52a58335 fix(chat): Add ability to cancel an editing by clicking on the warning message 2024-10-17 13:39:51 -03:00
João Victor
ad5b19e03e style(chat): Replied message and reply preview with white background 2024-10-17 13:39:51 -03:00
João Victor
fdb0805805 fix(chat): Canceling a reply intention not working 2024-10-17 13:39:50 -03:00
João Victor
825951f963 fix(chat): Adjust away message localization 2024-10-17 13:39:50 -03:00
João Victor
621c1ad0bf style(chat): Add background color to message content 2024-10-17 13:39:50 -03:00
Ramón Souza
d1ee773564
Update bigbluebutton-html5/imports/ui/components/chat/chat-graphql/chat-message-list/page/chat-message/message-toolbar/component.tsx
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-10-17 10:31:41 -03:00
germanocaumo
b74d791105 fix(client): convert meeting metadata to expected format
The metadata is comming from server with { name: metaname, value: metavalue }, which is not compatible with
getFromMeetingSettings, so it's not reading corretly.
Convert it before storing.
2024-10-17 10:25:05 -03:00
João Victor
6602b8469f Merge branch 'v3.0.x-release' into new-chat-ui-30 2024-10-17 09:09:34 -03:00
João Victor
e3fc7e713c test(chat): Adjust notification message selector 2024-10-17 09:04:29 -03:00
João Victor Nunes
83514efe58 styles(chat): a new chat UI 2024-10-17 09:03:33 -03:00
João Victor Nunes
f895266eb0
fix(external-video): Video file sharing is broken (#21448)
- Avoids calling seekTo before the onStart event. In such case, React Player remounts the player, triggering a new onReady event, which was causing an infinite loop.
2024-10-16 16:10:27 -03:00
Tainan Felipe
f91903945d
Remove: Remove stack trace and error code from error screen (#21450) 2024-10-16 16:02:53 -03:00
Ramón Souza
349e04724e move set away toggle to options menu (#21447) 2024-10-16 14:13:12 -03:00
João Victor Nunes
93f82e2d90
feat(chat): message reactions (#21385)
* feat(chat): message reactions

* fix: Revert settings.yml change introduced in #21355
2024-10-16 13:33:07 -03:00
Tiago Jacobs
51c763dfc0
Merge pull request #21457 from gustavotrott/gql-list-of-users-have-connected
feat (gql-server): Introduces graphql Type `user_presenceLog` to indicate users that have joined
2024-10-16 12:05:44 -03:00
Gustavo Trott
4628ffb0a6 Introduces graphql Type user_presenceLog to indicate users that have joined in the meeting at some point.
subscription {
  user_presenceLog {
    extId
    userId
    currentlyInMeeting
    isModerator
  }
}

It is necessary to provide for the teacher the list of presence even after some users left.
2024-10-16 10:37:14 -03:00
André Castro
dfd3e252b0
style(nav-bar/recording-indicator): Refactor padding in RecordingStatusViewOnly for consistent spacing. (#21454)
* style(nav-bar/recording-indicator): Refactor padding in `RecordingStatusViewOnly` for consistent spacing.

* TS fix
2024-10-16 09:55:38 -03:00
Gustavo Trott
3f22a22067
Merge pull request #21449 from GuiLeme/regex-meta-param-plugin
fix(common-web): Make plugin manifest accept "-" character for placeholders
2024-10-15 17:42:44 -03:00
Guilherme Pereira Leme
338b199009
Update bbb-common-web/src/main/java/org/bigbluebutton/api/MeetingService.java
escape characters to clarify that they are not special characters.

Co-authored-by: Gustavo Trott <gustavo@trott.com.br>
2024-10-15 17:33:15 -03:00
Guilherme Leme
14fdfad7be [regex-meta-param-plugin] - changed regex in meta-parameter in plugins to handle case of '-' caracter 2024-10-15 17:09:50 -03:00
André Castro
2056fe2677
Fix: [3.0] userdata-bbb_hide_presentation_on_join parameter is hiding presentation for presenters (#21397)
* Fix: [3.0] userdata-bbb_hide_presentation_on_join parameter is hiding presentation for presenters

* Update bigbluebutton-html5/imports/ui/components/layout/push-layout/pushLayoutEngine.jsx

Rabbit suggestion

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

* changing on the hide presentation for presenter

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Gabriel Porfirio <gabrielporfirio1994@gmail.com>
2024-10-15 15:03:10 -03:00
Ramón Souza
93d2a0cb59
Merge pull request #21432 from Scroody/fix-talking-ind-on-viewer
refactor(nav-bar/talking-indicator): Refactor styles in `TalkingIndicator` to conditionally apply styles based on user role.
2024-10-15 14:59:06 -03:00
germanocaumo
d8054da172 fix(tldraw): reduce mounted camera delay 2024-10-15 12:15:16 -03:00
Gustavo Trott
a52586f217
refactor (bbb-web): Add more info for Removed User Session. (#21436)
* bbb-web: Add more info for Removed User Session.
Includes fullname, userExtId and meetingExtId, that will be useful for integrations.

* fix userId prop name when fetching from removedUserSession
2024-10-15 09:07:21 -03:00
Tainan Felipe
a6c307c8b9
Add: new connection close error messages (#21392)
* Add: new connection close error messages

* Fix: TS type assertion

* Fix: Restore message description

* Add: Locale for server closed connection event
2024-10-14 21:23:58 -03:00
Gustavo Trott
1eeff8d142
Merge pull request #21368 from GuiLeme/new-server-side-architecture
refactor (plugins): Read plugins configs from a manifest file instead of client settings
2024-10-14 17:20:52 -03:00
Ramón Souza
d2afb2824b
Merge pull request #21355 from JoVictorNunes/chat-message-edit-and-delete
feat(chat): Add ability to edit and delete messages
2024-10-14 17:20:30 -03:00
João Victor
2315887f9e fix(chat): Deleted messages in chat exports 2024-10-14 16:40:32 -03:00
Gustavo Trott
bc2a72bd3d
Fix checkAuth Headers for removed users
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-10-14 16:13:28 -03:00
Guilherme Pereira Leme
ac956c73d5
Merge pull request #17 from gustavotrott/pr-21368
Add config `pluginsManifests` and new headers to `/checkGraphqlAuthorization`
2024-10-14 15:46:24 -03:00
Gustavo Trott
5852a870af
Merge branch 'new-server-side-architecture' into pr-21368 2024-10-14 14:50:52 -03:00
Gustavo Trott
40c00f8739 Introduces a config pluginsManifests to bigbluebutton.properties.
e.g pluginsManifests=[{url: "https://plugin_manifest.json"}]
it will be merged with the parameters received through /create?pluginsManifests=
2024-10-14 14:37:32 -03:00
Gustavo Trott
f3c03fbc44 Include more useful headers for endpoint /checkGraphqlAuthorization
it is useful when the application that requires authorization wants to inject user information to the request
it can be an integration with a third party applicaton and it will require to receive user-external-is and meeting-external-id
it can also validate if the requester is moderator or presenter, so now it includes user-is-moderator and user-is-presenter headers
2024-10-14 14:34:40 -03:00
Ramón Souza
3a531b0532
refactor: Remove the "Raise Hand" experience from the reactions bar (#21373)
* move raise hand out of reactions bar

* adjust reactions bar border-radius

* adjust button background + remove custom icon

* fixing raise hand test

* skipping raise hand test

* fixed learning dashboaard test, flaky to notification test

---------

Co-authored-by: Gabriel Porfirio <gabrielporfirio1994@gmail.com>
2024-10-14 13:16:59 -03:00
Guilherme Leme
96926391ec [new-server-side-architecture] - Remove code duplication 2024-10-14 11:43:48 -03:00
André Möller
9fe6dad956 refactor(nav-bar/talking-indicator): Refactor styles in TalkingIndicator to conditionally apply styles based on user role. 2024-10-14 10:48:58 -03:00