Commit Graph

11597 Commits

Author SHA1 Message Date
prlanzarin
d6e160a2c3 refactor(audio): remove stale iOS webview polyfills
Shouldn't be necessary anymore
2024-05-03 21:42:36 +00:00
prlanzarin
983b8a85cf fix(audio): improve help modal for listen only scenarios
The audio troubleshooting modal has very microphone-specific strings,
which might confuse users trying to join listen only.

Review the Help screen so that listen only scenarios are more generic.
As a bonus, review the unknownError locale with a more actionable text.
2024-05-03 21:41:06 +00:00
prlanzarin
a748d8ccbb fix(audio): remove listen only retry routines
Listen only has a built-in retry routine on join failures that's
convoluted half-broken. It stems from the Kurento era where it could
fail randomly due to a myriad of reasons.
Production logs indicate that the retry is seldom used nowadays in
mediasoup-based environments. The presence of the retry also breaks
the error troubleshooting modal when actual failures happening, leaving
users in the dark about what's happening.

Remove the listen only retry code from AudioManager and bubble up any
join failure to the callers.
2024-05-03 21:18:44 +00:00
prlanzarin
027d5ad288 fix(audio): handle NotAllowedError in skipCheck:true scenarios
In scenarios where the join audio flow skips echo test, NotAllowedError
(and any other errors) are all being mashed together under a generic
MEDIA_ERROR object.

Properly handle specific errors in audio-manager so they're correctly
render in the audio modal help screen.
2024-05-03 21:15:58 +00:00
prlanzarin
a3a1245078 fix(audio): review audio modal help screen
- Adds a new Help view for unknown error codes
- Correctly detect NotAllowedError (permissions) - they are currently
  being treated like unknown errors in the Help modal
- Rephrase NotAllowedError help text; make it more succint and direct
- Rephrase the unknown error help text; make it more succint and direct
  - Add error code and message to that view
- Add public.media.audioTroubleshootingLinks to allow referencing KB
  links on the Help modal
  - See inline docs
2024-05-03 20:50:03 +00:00
Ramón Souza
8e728d2cc4
Merge pull request #20019 from Scroody/fix-volume-bar-overlap
Fix: Volume bar overlapping
2024-05-03 11:24:03 -03:00
André
8c57f63bb9 Later changes 2024-05-03 10:34:35 -03:00
André
4c0df76b23 Merge remote-tracking branch 'upstream/v3.0.x-release' into fix-volume-bar-overlap 2024-05-03 10:29:00 -03:00
Anton Georgiev
205d110f5b
Merge pull request #20104 from Tainan404/remove-redis
!remove: Frontend Redis client listener
2024-05-03 09:02:08 -04:00
Anton Georgiev
d19677d5a3
Merge pull request #20166 from prlanzarin/u30/fix/review-mobile-audio-chevron
fix(audio): review device selection in mobile endpoints
2024-05-03 08:56:51 -04:00
Anton Georgiev
d85561b17b
Merge pull request #20164 from prlanzarin/u30/fix/Arthurk12-live-1809
fix(bbb-html5): correct parameter type for wake lock log codes
2024-05-03 08:56:03 -04:00
Anton Georgiev
0e68003c08
Merge pull request #20163 from prlanzarin/u30/fix/assorted-br-crashes
fix: undefined accesses causes crashes in actions-bar breakout utils
2024-05-03 08:55:43 -04:00
Anton Georgiev
0df167180e
Merge pull request #20162 from prlanzarin/u30/fix/ff-pairselection
fix(audio): broken connection stats on Firefox >= 125
2024-05-03 08:53:40 -04:00
Anton Georgiev
05d8f9110b
Merge pull request #20161 from prlanzarin/u30/fix/arthurk12-undefined-role-crash
fix: add safeguards when returning user roles
2024-05-03 08:53:01 -04:00
Anton Georgiev
7c407567e1
Merge pull request #20160 from prlanzarin/u30/fix/arthurk12-screenreader-crash
fix(screen-reader): add safeguards for adding alerts
2024-05-03 08:52:45 -04:00
Anton Georgiev
70e4ab1f66
Merge pull request #20159 from prlanzarin/u30/fix/onconnectionstatechange-crash-rc
fix(bbb-html5): crash when stopping WebRTC peers
2024-05-03 08:52:28 -04:00
Anton Georgiev
3babf4c16e
Merge pull request #20158 from prlanzarin/u30/fix/crash-videoprovider-onmessage
fix(bbb-html5): crash on video-provider unmount
2024-05-03 08:51:58 -04:00
Anton Georgiev
84fd90bc49
Merge pull request #20157 from prlanzarin/u30/fix/crash-getBoundingClientRect-emojirain
fix(reactions): crash when interactionsButton coords are absent
2024-05-03 08:49:42 -04:00
Anton Georgiev
9d99f7f78b
Merge pull request #20156 from prlanzarin/u30/fix/audio-answerer-gum-failure
fix(audio): acquire streams before negotiation when peer is answerer
2024-05-03 08:49:08 -04:00
prlanzarin
a21addfa1f fix(audio): review device selection in mobile endpoints
Mobile users have no way to change I/O devices after joining audio.
The removal of the audio options chevron in mobile browsers was supposed
to be replaced by something else - in this case, by the dedicated
leave/join audio button. That didn't happen, leave/join audio button
retained the old behavior.

Review device selection in mobile endpoints via two UI/UX changes:
  - Fix an styling issue where the mute and listen only buttons were
    crammed together
  - Restore the device selection chevron/icon in mobile endpoints
  - Override the leave/join button action in mobile endpoints so that it
    opens the device selection contextual menu, which also includes the
    "Leave audio" option. This retains the old behavior (leaving audio)
    while also providing an way for users to change devices mid-call in
    mobile browsers.
2024-05-03 01:32:01 +00:00
Arthurk12
31a6527cca fix(wake-lock): correct parameter type for log code
Previously, an object was incorrectly passed as the log code parameter.
Fixes it by ensuring that a string is passed instead.
2024-05-03 00:06:07 +00:00
prlanzarin
cea92631fa fix: undefined accesses causes crashes in actions-bar breakout utils
Multiple undefined accesses in actions-bar's service, mainly related to
breakouts and ageneral Meetings info, cause crashes in production
environments - most likely in reconnection scenarios.

Guarantee that nested data is safely accessed.
2024-05-02 23:50:56 +00:00
prlanzarin
20daf56390 fix(audio): broken connection stats on Firefox >= 125
WebRTC-based stats generation in the connection status modal is broken
on Firefox >= 125. A broken type check coupled with a new partially
implemented RTCIceTransport dictionary causes and undefined function
call when fetching the selected candidate pair. Since that error is
unhandled, collection breaks.

Correctly check for the getSelectedCandidatePair method availability in
RTCIceTransport so that it skips to pair inference from getStats if
necessary.
2024-05-02 23:37:44 +00:00
Arthurk12
148c25e2cb fix: add safeguards when returning user roles 2024-05-02 23:35:45 +00:00
Arthurk12
9947aa451e fix(screen-reader): add safeguards for adding alerts
Adds checks for the alert's text and DOM element before adding screen
reader alerts.
2024-05-02 23:06:55 +00:00
prlanzarin
85cdc7cc2a fix(bbb-html5): crash when stopping WebRTC peers
There's a race condition that may cause a client crash whenever a
connectionstatechange callback is cleaned up in a peer without a
valid peer connection present in our custom RTCPeerConnection wrapper.

Check for peerConnection availability in the WebRtcPeer wrapper before
trying to clean up its connectionstatechange callback.
2024-05-02 22:59:39 +00:00
prlanzarin
eccb06369b fix(bbb-html5): crash on video-provider unmount
There's a race condition that may cause a client crash whenever a
video-provider's unmount procedure is run, but its signalling websocket
is undefined. The WS's callback handlers are re-assigned without
checking for the socket's availability, causing an unhandled TypeError.

The WS may be undefined in a couple of scenarios, e.g.: unmouting before
the socket was successfully set up, unmounting while a reconnect is in
place etc.

Check whether the socket exists before accessing it in video-provider's
componentWillUnmount routine.
2024-05-02 22:55:25 +00:00
prlanzarin
cfa013fdaa fix(reactions): crash when interactionsButton coords are absent
The client may crash whenever a emoji rain animation is triggered, but
the interactions button element cannot be located. This happens because
the button coordinates are fetched without checking whether the element
exists.

Get the coordinate fetching method to return null if the
interactionsButton element cannot be located, and ignore the emoji rain
action if that is the case. Whenever no valid coordinates are found, log
an warning so we can track this and figure out what's happening with the
button.

Fix a few typos in the getInteractionsButtonCoordinates method.
2024-05-02 22:32:09 +00:00
prlanzarin
00a2ab52a5 fix(audio): acquire streams before negotiation when peer is answerer
When a sendrecv peer acts as the answerer, gUM is only called _after_
the remote offer is received. This is fine, but the error handling runs
different in that scenario in a way that eventual gUM errors are treated
as negotiation errors, leading to inconsistencies when surfacing the
error to end users.

If a peer is acting as answerer and is a transceiver, acquire the local
streams _before_ actual negotiation so that gUM errors are surfaced
correctly (and we spare uneeded negotiation steps).
2024-05-02 22:27:16 +00:00
prlanzarin
d658d81148 fix(audio): minimize redundant audio exit toasts
Audio exit toasts are fired in some redundant situations, e.g.: when the
error help screen is toast.

Change the logic a bit so that it's only fired when the audio help modal
won't be shown, i.e.: when audio had succesfully connected.
2024-05-02 22:09:56 +00:00
Ramón Souza
24b90070b7
Merge pull request #20136 from KDSBrowne/v30.19985
fix(whiteboard): Deactivate Drawing Tool On Access Change
2024-05-02 16:36:14 -03:00
Ramón Souza
5d27799448
Merge pull request #20143 from ramonlsouza/issue-20142
fix: Warning message character limit exceeded is still showing up after being sent
2024-05-02 14:57:12 -03:00
Tiago Jacobs
c5d1c8be3b
Merge pull request #20135 from GuiLeme/plugin-sdk-readme-logger-ui-data
feat(plugins): refactor intl code for plugin and general code
2024-05-02 14:45:52 -03:00
Ramón Souza
f589cb8828
Merge pull request #20076 from ramonlsouza/away-mode
feat: Improved away mode
2024-05-02 11:34:32 -03:00
Ramón Souza
e0c8c0d933 remove chat error when a message is sent 2024-05-02 10:49:06 -03:00
Tiago Jacobs
90f3539332
Merge pull request #20141 from JoVictorNunes/fix-video-stream-user-filtering
fix(webcam): fetch user data of webcam users only
2024-05-02 10:32:56 -03:00
Ramón Souza
250a559a4c
Merge pull request #20133 from ramonlsouza/tld19-snapshot
fix: snapshot of current slide
2024-05-02 10:21:41 -03:00
Ramón Souza
ae10830a1a move setTrackEnabled to new service file 2024-05-02 09:24:03 -03:00
João Victor
ee9f98a1ad fix(webcam): fetch user data of webcam users only
- Do not fetch user data of users who are not in webcam.
- Except when grid layout is active. In this situation we need to know about all users.
2024-05-02 09:17:58 -03:00
Ramón Souza
82b1101df8 Merge remote-tracking branch 'upstream/v3.0.x-release' into away-mode 2024-05-02 08:45:10 -03:00
KDSBrowne
0704628caa lint 2024-05-02 00:40:58 +00:00
KDSBrowne
7512d4c60e lint 2024-05-02 00:32:58 +00:00
KDSBrowne
4ae0dd5fba change from CRLF to LF 2024-05-02 00:28:22 +00:00
KDSBrowne
d2da9172da add no operation tool 2024-05-02 00:05:12 +00:00
Guilherme Leme
bc6b007f5a [plugin-sdk-readme-logger-ui-data] - fix intl ui-data-hook and fix warning of data-channel 2024-05-01 16:57:08 -03:00
Ramón Souza
87786cfcb6 fix snapshot of current slide 2024-05-01 16:21:36 -03:00
Tainan Felipe
527b6d4cbf Merge remote-tracking branch 'upstream/v3.0.x-release' into fix-meeting-end-audio 2024-05-01 14:14:15 -03:00
Tainan Felipe
d5bb06349b Fix: audio not disconnected when user leave the meeting 2024-05-01 14:11:04 -03:00
Tainan Felipe
b6f893c3c3 Fix: audio still playing when user left the meeting 2024-05-01 12:15:11 -03:00
Tainan Felipe
5070d26c90 Merge remote-tracking branch 'upstream/v3.0.x-release' into code-removal 2024-05-01 09:58:01 -03:00