Commit Graph

485 Commits

Author SHA1 Message Date
Ramon Souza
85e0b441d6 phone and pin numbers ltr even in rtl languages 2021-04-15 13:12:25 -03:00
Ramon Souza
7d50490dd9 audio selection menu scrollable 2021-04-15 10:36:35 -03:00
Ramon Souza
56c33ed36d add meetingId to userscontext 2021-04-15 09:12:21 -03:00
Ramon Souza
095bf7b3c2 formatting pin number 2021-04-09 08:44:55 -03:00
Anton Georgiev
5189abb225
Merge pull request #11911 from Tainan404/issue-11795
Fix client crashing because users object is missing
2021-04-08 12:30:01 -04:00
Ramon Souza
7236012774 remove edge-specific css 2021-04-07 16:55:39 -03:00
Tainan Felipe
e4563defde Fix client crashing because users object is missing 2021-04-06 16:58:11 -03:00
Mario Jr
68628855a3 fix: audio device selector problem when using RTL locales
Closes #11870
2021-04-06 10:56:01 -03:00
Mario Jr
e69421e671 fix: Do not show unsupported browser warning for microsoft edge
This was being shown in both audio in video modal.
Related to #11865.
2021-04-02 15:12:40 -03:00
Mario Jr
951fc0ade8 fix: MEDIA_ERROR when joining room using Firefox
Firefox doesn't create a  device called 'default' and we were trying
to set this when user is joining the room. We don't do this anymore, letting
devices to be changed when there's some user request.

Moved outputDeviceId inputDeviceId information to be managed in bridge
(just like we do with inputDeviceId), we don't store this duplicated
information in audio container anymore.

Fixed the eslint warning in "playAlertSound(url) { ..."

We are safe to let users try to change input/output devices because the
device list is retrieved from enumerateDevices.
2021-04-01 15:53:43 -03:00
Anton Georgiev
8adbbe8288
Merge pull request #11841 from ramonlsouza/device-detect
Change browser detection library to bowser
2021-04-01 09:52:16 -04:00
Ramon Souza
05a0d5afbf move browser info to helper + remove unused libs 2021-04-01 08:14:24 -03:00
Mario Jr
37e6755008 Fix muted banner being created for listen-only fallback stream
When listen only fallbacks from Kurento to FreeSWITCH, we must guarantee
the muted alert won't be created, speciallly because listen-only's fallback
uses a flow similar to microphone's. Client currently crashes when this
happens: this commit fixes this peoblem.
2021-03-31 16:25:07 -03:00
Ramon Souza
9218262e0a all device info moved to helper 2021-03-31 14:13:36 -03:00
Mario Jr
60378e8c63 Merge branch 'develop' into merge-update-pr-10129 2021-03-29 19:07:27 -03:00
Mario Jr
8b52265766 Do not allow dynamic audio device change for mobile users
Setting this as default to prevent bad UX: device selector is currently small
for mobile devices

This could be added as a config in future
2021-03-29 18:55:23 -03:00
Mario Jr
be84fc91ee Add option to enable/disable dynamic audio device selection
By default this is set to true, allowing users to dynamic change audio devices
Fixed a few linter warnings
2021-03-29 18:55:20 -03:00
Mario Jr
cddca95ad1 Fixes and improvements on pr #10129 - dynamic change audio device
Allow listenonly users to change output devices
Fixed dynamic audio device change for firefox
Fixed shortcuts for audio join/leave
Show (with a bold font) the current selected device
[performance] Prevent calling mediaDevices.enumerateDevices every time we render
the selector. This adds a delay (~200ms, on my chrome setup) to render this component
[performance] Do not call enumerateDevices to search for new devices, instead we listen on mediaDevices.deviceChange event
Small refactoring and fixed a few errors that were being throw in browser's console
Fixed device selection when this is done in audio-settings modal
Fallback to default device when current device is removed
Truncate device name length
Renamed "Input","Output" labels to "Microphone","Speakers", respectively
Update eslint rule for accessKey
2021-03-29 18:55:17 -03:00
Mario Jr
cec88c996d Merge remote-tracking branch 'tainan/issue-9723' into merge-update-pr-10129 2021-03-29 18:52:12 -03:00
KDSBrowne
310b7bc988 reduce audio modal heading to h2 2021-03-24 20:35:09 +00:00
Mario Jr
af4f9dbf26 Merge branch 'v2.2.x-release' into merge-2.2-develop 2021-03-23 17:10:28 -03:00
Mario Jr
b830e794f7 Do not create mutedalert component when user is disconnected
If created, mutedalert will crash client when trying to access inputstream
which is not yet ready.
Fixes #11433
2021-03-23 14:45:38 -03:00
Brent Baccala
e5e3b5532b don't prompt for "Microphone" if that's the only option presented to the user 2021-03-10 16:44:41 -05:00
Mario Jr
1c7c1d5076 Change breakout-audio-transfer-status function signature
We now update breakout'a audio transfer status by using an object
2021-03-08 14:55:15 -03:00
Mario Jr
ff6cba8d53 Store information about user status during breakout room audio transfer
Currently this information is lost everytime breakout-room component is
unmounted, causing the panel to shows wrong information during next renders
Fixes #11333
2021-03-08 14:55:05 -03:00
Mario Jr
39780c6a50 Do not try to recover mute state when joining listenonly
Prevent toggleMute api call to be called for listenonly
This has no effect to the end user, but avoids unnecessary server calls
2021-03-05 00:23:20 -03:00
Mario Jr
c0625e2ee1 Cleanup joinedAudioOnly state when user disconnects or reconnect microphone
Fixes #11490
2021-03-05 00:06:19 -03:00
Mario Jr
e16566de9d Recover mute state for moderator when returning from breakout's audio transfer
Fixes #11489
2021-03-05 00:02:31 -03:00
Anton Georgiev
228bad03d5 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into march4-merge 2021-03-04 21:25:47 +00:00
Mohamed Amine Ben Salah
8daa4443cb Merge remote-tracking branch 'upstream/develop' into add-tests-recording-to-video 2021-03-01 18:47:35 -03:00
Mario Jr
629b6c901c Do not join microphone when user is already in breakout
Fixes #11511
Related to the feature implemented in c451666d52
2021-02-28 17:13:10 -03:00
Mario Jr
fc1401ab53 Do not try to recover mute state when joining listenonly
Prevent toggleMute api call to be called for listenonly
This has no effect to the end user, but avoids unnecessary server calls
2021-02-26 15:52:11 -03:00
Mario Jr
ad23e9c0af Cleanup joinedAudioOnly state when user disconnects or reconnect microphone
Fixes #11490
2021-02-26 15:05:17 -03:00
Mohamed Amine Ben Salah
4dc679d000 Adds tests recording + updates some outdated tests + linting 2021-02-26 12:52:17 -03:00
Mario Jr
404d65d7a4 Recover mute state for moderator when returning from breakout's audio transfer
Fixes #11489
2021-02-25 15:38:41 -03:00
Mario Jr
2e92de8010 Clean up HTMLAudioElement used for notification sounds
After ending the notification playback, we set the ".src" property to null, which immediately stop the internal player of mobile browser (tested on Chrome for Android -  device list is on #11458).
For the specific list of devices, this prevents the internal buffer error "-61" described in #11458.
Fixes #11458.
2021-02-23 11:12:37 -03:00
Ramon Souza
b01246f23f rework on echo test flow 2021-02-22 15:09:14 -03:00
Ramon Souza
11d924af70 fix bbb_skip_check_audio_on_first_join 2021-02-22 10:43:58 -03:00
Anton Georgiev
58be3d42ef remove duplicate import of throttle 2021-02-18 20:52:23 +00:00
Anton Georgiev
55e8de4357 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into feb18-merge 2021-02-18 20:33:19 +00:00
Mohamed Amine Ben Salah
d8c5aa46d9
multiple automated tests suites updates + add missing polling specs and move them with old ones to a polling test suite (#10766)
* updating old tests + collecting more snapshots [WIP]

* updates old test suites and collects more visual regressions screenshots

* remove snapshots and their collection temporary

* run tests from packages.json

* update test execution command/export constants from .env to core/constants.js

* update tests/puppeteer/README.md file

* update LOOP_INTERVAL variable call and assign timeouts to the webcam share spec

* redefine waitForSelector func in page.js, update chat test suite specs and add poll chat message test spec

* Merge remote-tracking branch 'upstream/develop' into updating-old-tests-visual-with-visual-regressions

* update webcam test specs collecting videoPreviewTimeout and use it to wait for videoPreview selector

* update custom parameters test suite

* update breakout test suite

* update webcam layout test suite

* update multiusers test suite

* update notifications test suite

* update presentation test suite

* whiteboard test suite

* screenshare test suite

* update sharednotes test suite

* user ELEMENT_WAIT_TIME variable from timeouts constants.js

* list TEST CONSTANTS by category

* add poll test suite and assigns the right unassigned timeouts

* set test pages to headless
2021-02-16 15:57:10 -05:00
Mario Jr
b7216dd100 Preserve mutestatus when disconnecting/reconnecting microphone
After audio reconnection, a muted user would have it's microphone unmuted by default, unless muteOnStart is set to true. This fix this problem.
Fixes #9016
2021-02-11 23:55:34 -03:00
Anton Georgiev
45aa7ff55a
Merge pull request #8697 from Tainan404/issue-8610-2
Fix lost output audio when change client language
2021-02-11 12:29:17 -05:00
Ramon Souza
0034b1bccc resolve conflicts 2021-02-11 10:23:38 -03:00
Ramon Souza
46af7880d6 Merge remote-tracking branch 'upstream/develop' into PR-8696 2021-02-11 09:12:13 -03:00
Anton Georgiev
7343b23d37
Merge pull request #11272 from KDSBrowne/bbb-10733
Clone unmuted input stream for usage with hark
2021-02-05 13:44:02 -05:00
KDSBrowne
0abdf00a25
Add new join param skip echo test on first join only (#11284)
* add param to force echo test when user joins audio after init

* fix UI stuck on connecting when userdata-bbb_auto_join_audio=false

* fix conditions for joinFullAudioImmediately and joinFullAudioEchoTest | remove old format

* remove extra param in getItem

* recover audioLocked | only set getEchoTest if doesnt exist
2021-02-04 13:42:31 -05:00
KDSBrowne
d3fa32e111 clone unmuted input stream for usage with hark 2021-01-30 17:04:07 +00:00
Anton Georgiev
09e6ba8dfd Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into merge-Jan30 2021-01-29 20:58:05 +00:00
Mario Jr
f2de2806eb Add setting for enabling/disabling microphone audio filters
As explained in #11143, disabling audio filters is desired in some scenarios.
This basically adds an option for user to disable default constraints.
When user doesn't change this value in Settings > Application, the default
value for each audio constraints is retrieved from settings.yml.
When user changes this value in Settings > Application, audio
filters (AGC, Noise Supression and Echo Cancellation) are all set to
true/false, according to the value selected in the Settings GUI.

To start it simple, we decided to not to add a different setting in the GUI for
each audio contraint. This may be added in the future, though (perhaps in a
dedicated Audio Settings tab)
This is related to #4873
2021-01-29 14:18:15 -03:00
prlanzarin
234efd289a audio: add a configurable throttle to action-bar`s mute toggle
Default value is 300ms, with default trailing/leading. Set toggleMuteThrottleTime to 0 to restore old behaviour
2021-01-26 11:47:48 -03:00
Mario Jr
97c76900cb Add setting for enabling/disabling microphone audio filters
As explained in #11143, disabling audio filters is desired in some scenarios.
This basically adds an option for user to disable default constraints.
When user doesn't change this value in Settings > Application, the default
value for each audio constraints is retrieved from settings.yml.
When user changes this value in Settings > Application, audio
filters (AGC, Noise Supression and Echo Cancellation) are all set to
true/false, according to the value selected in the Settings GUI.

To start it simple, we decided to not to add a different setting in the GUI for
each audio contraint. This may be added in the future, though (perhaps in a
dedicated Audio Settings tab)
This is related to #4873
2021-01-22 16:30:42 -03:00
Anton Georgiev
f34826718d include instanceId in resources url 2020-11-30 16:09:35 +00:00
Anton Georgiev
3faabd1821 Merge 2.2.29 and 2.2.30 into 2.3.x 2020-11-24 15:13:09 +00:00
Mario Jr
1b1a055d37 Fix audio modal buttons (MIC/LISTEN) not working after audio error
When user joins audio and for some reason an error (such as 1001, 1002,...), happens, the user is not able to click "Mic" and "Listen Only Buttons"; except if the audio window is closed and oppened again.
2020-11-17 15:31:42 -03:00
Anton Georgiev
ce8c733ec4 move the check to disable mutedAlert feature; temp disable it 2020-10-26 21:07:15 +00:00
Anton Georgiev
0c7ead1916 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into oct16-merge 2020-10-21 14:48:02 +00:00
Mario Jr
df67d2e680 Better handling audio reconnection
When getting disconnected with 1001 ("websocket closed unexpectedly" error) we were creating a new SIP session, therefore a new FreeSWITCH channel.
While reconnecting the socket, instead of closing the SIP session, we keep it alive during reconnection (audio should keep working in the meantime). When reconnected we keep using this same session (avoiding the creation of an extra one).
We also better handle WebSocket error codes from SIP.js.
FF immediately closes websocket when unloading page, so we now to stop user agent when 'beforeunload' event is triggered, to avoid leaving open sessions in FreeSWITCH when user leaves page.
2020-10-15 11:24:23 -03:00
Mario Jr
e9e436378a Correctly set audio input/output devices
When refusing ("thumbs down" button) echo test, user is able to select a different input device. This should work fine for chrome, firefox and safari (once user grants permission when asked by html5client).
For output devices, we depend on setSinkId function, which is enabled by default on current chrome release (2020) but not in Firefox (user needs to enable "setSinkId in about:config page). This implementation is listed as (?) in MDN.
In other words, output device selection should work out of the box for chrome, only.
When selecting an outputDevice, all alert sounds (hangup, screenshare , polling, etc) also goes to the same output device.
This solves #10592
2020-10-06 20:37:55 -03:00
Mario Jr
619ffa0ec1 Port SIP.js to 0.17.1 release
This considerably changes the way we process audio signaling and start audio elements in user's browser.
We now avoid using AudioContext element for both microphone and listenonly calls, once it is unstable for some iOS devices (cracky audio, user stops hearing audio after a while).
Increased default value for listenOnlyCallTimeout: this avoids activating FreeSWITCH's fallback when ICE negotiation takes longer than 15sec (tested on DO).
Increased listenonly logs.
This fixes #8133 #10388
2020-09-25 20:26:22 -03:00
Anton Georgiev
d8b185f2b3 Merge branch 'issue-9219' of github.com:Tainan404/bigbluebutton into locales-total 2020-09-09 19:29:18 +00:00
KDSBrowne
77b71a4d1f fix duplicate css variables being loaded (improve imports) 2020-09-01 18:46:13 +00:00
Tainan Felipe
dda7182757 Merge remote-tracking branch 'upstream/develop' into skip-audio-check 2020-08-19 10:24:17 -03:00
Tainan Felipe
cb53b42c0e Merge remote-tracking branch 'upstream/develop' into issue-9723 2020-08-10 16:52:58 -03:00
Tainan Felipe
cc9662b6b8 Implement speaker change and add device update feature 2020-08-10 16:43:49 -03:00
Tainan Felipe
e64c0e1c62
Merge branch 'develop' into issue-9219 2020-07-28 13:28:32 -03:00
Tainan Felipe
0ba6ff5cf6 Merge remote-tracking branch 'upstream/develop' into issue-9723 2020-07-27 17:02:44 -03:00
Tainan Felipe
2c61d5ee75 Add input/output dynamic audio change 2020-07-27 16:49:26 -03:00
KDSBrowne
0877604d00 improve notification position / prevent state update on unmounted component 2020-06-23 13:38:59 +00:00
KDSBrowne
d3284bb748 remove extra gUM call / pass stream from audio manager 2020-06-16 15:03:45 +00:00
KDSBrowne
061e522493 add notification when speaking while muted 2020-06-16 13:41:51 +00:00
Tainan Felipe
aa668e3f91 Merge remote-tracking branch 'upstream/develop' into issue-9219 2020-05-25 17:05:58 -03:00
Tainan Felipe
db8e7fcd39 Update react-intl and add fallback to unsupported languages 2020-05-25 17:00:13 -03:00
Anton Georgiev
c9e996de21 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into merge-2.2-into-develop 2020-05-25 17:32:24 +00:00
KDSBrowne
51c3543826 fix shortcuts not working when helper is passed an array 2020-05-21 18:43:34 +00:00
Ahmed Omar
e77cfe3755
Apply autoShareWebCam on return from breakout room 2020-05-01 18:09:29 +02:00
Tainan Felipe
9dd38ef8f1 Fix lost output audio when change client language 2020-03-03 14:22:26 -03:00
Tainan Felipe
8f1000437a Clean up the code 2020-03-03 10:59:01 -03:00
Tainan Felipe
c451666d52 WIP Implements skip to audio check in breakout rooms 2020-03-02 17:49:15 -03:00
Anton Georgiev
3754d0ab6f Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into merge-2.2-into-master-feb-28-2020 2020-02-28 17:47:06 -05:00
Anton Georgiev
1fa426058f corrected issues related to publishing and methods 2020-02-13 14:19:29 -05:00
Tainan Felipe
10969f2601 Add debounce to mute/unmute button 2020-02-06 17:20:42 -03:00
Chad Pilkey
e2eabfb44f attempt to stop accidental audio join double clicks 2019-11-22 13:55:26 -08:00
Anton Georgiev
42d640f3e2 Merge branch 'issue7791-add-support-to-new-parameters-name' of github.com:diegobenetti/bigbluebutton into test-7805 2019-11-05 11:59:00 -05:00
Chad Pilkey
6cccfb2ada
Merge pull request #8168 from KDSBrowne/issue-8112
Extend help text shown when getUserMedia with microphone fails
2019-10-24 12:28:53 -04:00
KDSBrowne
c548332b94 improve audio modal help content spacing 2019-10-22 19:32:04 +00:00
KDSBrowne
4fd06509e4 fix chrome on ios error being displayed incorrectly 2019-10-01 14:28:06 +00:00
KDSBrowne
89853dc026 move microphone error codes to const 2019-09-30 14:54:34 +00:00
KDSBrowne
636f49cd5d add error messages for getUserMedia failing with mic 2019-09-27 13:52:29 +00:00
KDSBrowne
830fb4252d remove unused css variables 2019-09-19 13:43:53 +00:00
KDSBrowne
8593b8607c center permission hint on safari 2019-09-18 18:02:29 +00:00
KDSBrowne
e7b53d34eb fix position of audio permission modal in RTL (chrome / firefox) 2019-09-17 15:07:31 +00:00
KDSBrowne
3d74e3c5c9 update arrow char so it works with ios and others 2019-09-10 14:20:37 +00:00
Anton Georgiev
4a335a1db6 reduce db probes for getAvailableActions; simplify SaveUsernames 2019-09-06 16:28:02 -04:00
Chad Pilkey
304bb2c103
Merge pull request #8030 from antobinary/chat-ids-2
Reduced client load via slight refactor
2019-09-05 13:23:37 -04:00
Anton Georgiev
c5856d43c8 moved static code outside of tracker 2019-09-04 14:32:58 -04:00
Anton Georgiev
2cbe91e222
Merge pull request #7996 from KDSBrowne/issue-7994
Fix join by phone icon placement in RTL
2019-08-30 09:43:31 -04:00
Anton Georgiev
ea18b09311 add a few more collection lookups "fields" delimiters 2019-08-29 12:26:07 -04:00
KDSBrowne
3e38a4f7d2 move arrow position 2019-08-29 14:26:51 +00:00
Anton Georgiev
b71dba2299
Merge pull request #7955 from KDSBrowne/001-fix-audio-logs
Fix mute audio log
2019-08-29 09:59:49 -04:00