Commit Graph

736 Commits

Author SHA1 Message Date
KDSBrowne
73cd791199 add aria label to webcam options with user name when small 2023-02-06 16:11:05 +00:00
Anton Georgiev
36b45c0824
Merge pull request #16172 from schrd/fix-issue-16171
fix: Only cache TURN Servers as long as credentials are valid and force firefox to use the turn server
2023-01-05 06:13:31 -05:00
Anton Georgiev
2d742b654c
Merge pull request #15919 from prlanzarin/u26/fix/cam-reconn-issues
fix(webcam): intermittent client crashes when sharing camera (2.6)
2022-12-23 09:12:54 -05:00
Anton Georgiev
2cc37ff375
Merge pull request #16127 from ramonlsouza/fix-sortname
fix: incorrect userlist order if name starts with a space
2022-12-22 12:46:05 -05:00
Daniel Schreiber
74f37db4fa Get rid of forceRelayOnFirefox
Firefox has a buggy ICE implementation and needs WebRTC media traffic to
be routed through a turn server to work reliably with mediasoup.

Use the information fetched by the STUN API to determine if the operator
has configured a turn server. If there is one force firefox to use it.

Closes #16164
2022-12-18 23:17:14 +01:00
Ramón Souza
0cf1d09978 add early return to video list item if user data is unavailable 2022-12-15 14:49:47 -03:00
Ramón Souza
1f2562e95c sort users by sortName 2022-12-13 15:00:13 -03:00
Ramón Souza
cdc2bc7e04
Merge pull request #15770 from JoVictorNunes/store-webcam-microphone
improvement: share audio and video setup among different sessions
2022-11-09 10:37:52 -03:00
Joao Victor
f1007fb7b6 Use the new config option from #15413 - A centralized way of defining which storage to use (Session or Local) 2022-11-03 17:57:54 -03:00
prlanzarin
0f9cc40549 fix(webcam): client crash due to undefined intl var 2022-10-27 16:25:13 +00:00
prlanzarin
341665e631 fix(webcam): client intermittently crashes when sharing camera
Under some specific scenarios, the virtual background restore code might
kick in _before_ the preloaded MediaStream is actually assigned to the
peer instance. That causes a crash because the peer attachment code
(where the vbg restore is triggered) tries to access the device ID of
said MediaStream - and it is undefined in the first place because it was
only being set in after the initial offer is generated which is an async
procedure.

This commit guarantees a preloaded stream is set before the peer is
flagged as created - so it's accessible by the attachment code.
It also checks whether there's a MediaStream available when trying to
restore VBGs to prevent undefined behaviors.
2022-10-27 16:25:06 +00:00
Ramón Souza
43cf7cfc69 adjust audio/video dropdown position 2022-10-24 14:44:33 -03:00
Ramón Souza
1764f7be17
Merge pull request #15787 from KDSBrowne/26-update-menu-ids
Update Menu Ids to Remove Duplicates
2022-10-24 10:35:06 -03:00
Ramón Souza
e1a22b7aab
Merge pull request #15788 from KDSBrowne/26-a11y-fixes-03
Add Dropdown to Tab Order and Hover / Focus Styles
2022-10-24 10:23:47 -03:00
Ramón Souza
8ed142a522 Merge remote-tracking branch 'upstream/v2.5.x-release' into merge-258-26 2022-10-21 14:43:23 -03:00
KDSBrowne
9c6a6298e2 update menu ids to be unique 2022-10-05 21:54:59 +00:00
KDSBrowne
ab63779b2f add video settings menu to tab order 2022-10-04 14:21:52 +00:00
Joao Victor
63b4ba7672 fix: undefined camera profile 2022-10-03 08:10:08 -03:00
Joao Victor
3f07430ff4 improvement: store last shared webcam 2022-10-03 08:09:03 -03:00
Joao Victor
ab40586702 fix: allow video settings to open 2022-09-22 09:37:24 -03:00
Joao Victor
396f5320a4 feat(camera): set camera brightness 2022-08-26 11:50:46 -03:00
prlanzarin
0e162f1cda feat: configurable DSCP marking for WebRTC media
RTCRTPSender exposes DSCP marking via `networkPriority` in the encodings
configuration dictionaries. That should allow us to control
QoS priorities for different media streams, eg audio with higher network
priority than video. The only browser that implements that right
now is Chromium.

To use this, the public.app.media.networkPriorities configuration in
settings.yml. Audio, camera and screenshare priorities can be controlled
separately. For further info on the possible values, see:
  - https://www.w3.org/TR/webrtc-priority/
  - https://datatracker.ietf.org/doc/html/rfc8837#section-5
2022-08-15 21:24:05 +00:00
Joao Victor
5c6c28cdd2 Fix conflicts 2022-07-25 15:14:27 -03:00
Joao Victor
34aaf07fed Merge branch v2.6.x-release into virtual-backgrounds-skeleton-preview 2022-07-15 17:14:16 -03:00
prlanzarin
d06ae5ce40 fix: add default gUM factory to new peer wrapper
For scenarios such as preview-less camera sharing, old echo test
2022-07-15 17:07:15 +00:00
prlanzarin
6a4ceac61f refactor(webcam): swap kurento-utils for the new peer wrapper 2022-07-15 14:00:12 +00:00
Ramón Souza
267a6f5c9c
Merge pull request #15203 from ramonlsouza/improve-ghost-button-border
style: improve ghost buttons border in low density display
2022-07-15 12:06:59 +01:00
prlanzarin
029c957b22 fix(webcam): handle stream inactivation/gUM revocations
The 'inactive' event is fired whenever the stream gets inactive (ie it
cannot be used anymore), and there are scenarios where that is
unexpected behavior and must be handled accordingly.
The main example of that is when gUM permissions are revoked by the user
via the browser's permission management panel.
Since MediaStream/Track inactive events aren't being handled in such
scenarios, what actually happens is that the camera just freezes without
further indication why.

This commit handles those scenarios in both video-preview and
video-provider by:
  - 1) correctly stopping the camera (provider)
  - 2) surfacing a toast (provider) or error indication (preview)
2022-07-12 22:03:01 +00:00
prlanzarin
e93440e15a refactor(webcam): fix linter errors in BBBVideoStream 2022-07-12 17:50:16 +00:00
Joao Victor
2f78edddf3 fix: add suport for disabling upload of custom backgrounds through custom parameter 2022-07-08 17:01:57 -03:00
Joao Victor
8809ff3a65 fix: add missing activity date in drag & drop handler 2022-07-08 12:26:01 -03:00
Joao Victor
f8ec4ef640 refactor: virtual background context 2022-07-07 18:59:30 -03:00
Joao Victor
aaf7f8e78e improvement(virtual background): better error handling, notifications, performance 2022-07-06 10:38:40 -03:00
Ramon Souza
29d597f7df Merge remote-tracking branch 'upstream/v2.6.x-release' into improve-ghost-button-border 2022-07-05 14:06:19 -03:00
Ramon Souza
9e246093f9 remove duplicated webcam label 2022-07-04 10:41:27 -03:00
Joao Victor
4b9f16ca0f fix: add check for potential undefined userId 2022-06-28 17:41:03 -03:00
Ramon Souza
04f3b50d0d improve ghost buttons border 2022-06-16 16:59:01 -03:00
Ramon Souza
edeb70de0d Merge tag 'v2.5.1' into merge25-26-jun16 2022-06-16 13:58:54 -03:00
Joao Victor
b75fbe8279 Remove merge residue 2022-06-01 16:55:28 -03:00
Joao Victor
2a1401f2ae Merge remote-tracking branch v2.6.x-release into virtual-background-upload 2022-06-01 16:50:29 -03:00
Joao Victor
1c02ff3877 fix: make drag-and-drop stuff follow the config 2022-06-01 14:30:50 -03:00
Joao Victor
4840543701 fix: move config key to public.virtualBackgrounds (Settings.yml) 2022-06-01 14:23:00 -03:00
Joao Victor
769629daf6 improvement: add a new service function for reading the file 2022-06-01 12:05:16 -03:00
Joao Victor
b3d18a1d28 improvement: add HOC to concentrate drag-and-drop code 2022-06-01 10:34:21 -03:00
Joao Victor
e7d9b46097 fix: add some file sanitization 2022-05-31 16:32:58 -03:00
Max Franke
8b8ba0c9f4 fix(webcam): draggable camera dock 2022-05-31 14:14:18 -03:00
Max Franke
2fbb4e8821 fix(webcam): user status icons align
Align user status icons to match other icons paddings/margins
2022-05-31 13:38:37 -03:00
Max Franke
a53b41721b fix(video-avatar): prevent state update on an unmounted component 2022-05-31 13:38:37 -03:00
Max Franke
00a8e64261 feat(video-avatar): change border
Apply isTalking border with a pseudo-element.
2022-05-30 15:08:25 -03:00
Joao Victor
18b06e1ba5 fix: point media button chevrons upwards #15068 2022-05-25 09:38:22 -03:00