`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.
* [js-relative-endpoint-refactors] - Added relative js entrypoint - just the name and extension
* [js-relative-endpoint-refactors] - Changes name and references of to and adapt all the rest.
* [js-relative-endpoint-refactors] changes in review
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.
Exclude bot users from activity checks, as they are not real users
and may not perform actions that count as activity in the meeting.
Exempting them prevents unwanted ejections.
* 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>
This commit removes some actions and interactions that a bot user should
not be part:
- No actions available when clicking over bot user in the user-list
- Remove bot from exported user-list
- Remove bot from available users to be assigned to breakouts
- Sort reactions by least recent and then by reaction count.
- Wrong condition for checking if a user is moderator was preventing moderators rom reacting to messages if locking public chat was activated.
- Wrong condition for checking if a user is moderator was preventing moderators from editing messages if locking public chat was activated.
- Display message time for all messages.
Parent room's moderators are able to kick users from breakout rooms.
Included a new userdata `userdata-bbb_parent_room_moderator` so akka-apps can
signal the HTML5 client that the user had a moderator role when the breakout room
was created. This user will have an extra permission inside the breakout room where
he/she will be able to kick other users out.
Since we started using images as user's avatar this was missing. Now akka-apps
will add the user's avatarURL along with the join API URL's params generated
for each user.
Modifies the function that returns the number of responders for a given
poll, excluding bot users. Updates the database schema to ensure that
only non-bot users are counted as potential responders.