Commit Graph

455 Commits

Author SHA1 Message Date
Mario Jr
f379d35158 Merge branch 'develop' into feat-add-device-button-selector 2021-06-25 18:47:41 -03:00
Mario Jr
ce076ffaad feat(audio): add a new button for selecting audio device
This commit adds a new small button over the "Phone/audio" button. Currently
this button pops up the device audio selector, which contains the "Leave audio"
option. This commit brings back the "Leave audio" behavior to the phone
button, using a new smaller button to switch between audio devices.

This issue address the problem reported by #12320 and complements the work done
for #9723.

Some technical details:
Added a new component : ButtonEmoji. This allow us to add an emoji inside
another button.
Modified dropdown trigger a bit: if the trigger contains a ButtonEmoji,
then we will use the emoji to trigger the dropdown (instead of the button
itself). This commit doens't change the default behavior of dropdown (when
the trigger doesn't have a ButtonEmoji component), to avoid regressions with
current dropdowns; this will only change it's behavior when used with
the new ButtonEmoji component.
2021-06-22 08:58:52 -03:00
Anton Georgiev
5ee5ed1970 Merge branch 'v2.3.x-release' of github.com:bigbluebutton/bigbluebutton into merge-june16 2021-06-16 19:54:28 +00:00
Ramon Souza
83da4448fa fix attendee auto join audio locked 2021-06-10 09:14:51 -03:00
Anton Georgiev
e01bdf69c5 Merge branch 'v2.3.x-release' of github.com:bigbluebutton/bigbluebutton into june2-merge-into-develop 2021-06-02 18:45:31 +00:00
Tainan Felipe
baf7afc883 Decrease amount of imports in dropdown 2021-05-31 15:28:27 -03:00
Mohamed Amine Ben Salah
2a9fdebd61
Mobile/Tablet devices automated tests for mobile/tablet on ios/android devices (#12173)
* adds unability to see screenshare button on mobile devices test specs

* simplify code in testMobileDevice()

* userlist and chat panels should not appear at page load in mobile devices

* lint

* updates outdated audio specs due to leaveAudio changes

* correct clicks on disconnectAudio elements

* whiteboard not visible on userlistPanel or on chatPanel

* reworks mobile devices/usersagents

* fixes screenshare mobile/tablet specs

* adds whiteboardNotAppearOnMobile spec

* adds Chat Panel specification to Mobile-Tablet specs

* simplify getArgs() functions for all devices
2021-05-25 12:05:11 -04:00
Ramon Souza
02057c7057 replace locale-specific code with align-items:center 2021-05-19 16:29:01 -03:00
Ramon Souza
99b04f33f0 use max-content for audio menu instead of fixed width 2021-05-12 09:53:32 -03:00
Anton Georgiev
bd550b4f0b
Merge pull request #12273 from mariogasparoni/fix-multiple-audio-channel-being-created-for-specific-settings
fix: prevent an extra audio channel to be created when skipCheckOnJoin is true
2021-05-04 12:30:17 -04:00
Mario Jr
db4158dc30 fix: first audio join in breakout fails with specific config
When listenOnlyMode=false, skipCheck=true and skipCheckOnJoin=true, the
audio tries to start a session more than one time, causing it to fail
at the first one (and reconnect after that).

Now we check if user is already connecting before trying to start a new
audio session.

Added some info in settings.yml for the options related to this commit
Closes #12190
2021-05-04 10:11:33 -03:00
Mario Jr
1fb73d615d fix: prevent an extra audio channel to be created when skipCheckOnJoin is true
When setting skipCheckOnJoin to true, an extra audio channel is created in
FreeSWITCH, after user accepts the echo test. The extra channel is removed
when user leaves the room, but this still may affect performance.
2021-05-03 19:26:47 -03:00
Anton Georgiev
0338d7364e
Merge pull request #12204 from ramonlsouza/issue-12024
feat: Add button to close mute alert
2021-04-29 14:08:45 -04:00
Ramon Souza
eb9a43d54b remove unused class from component 2021-04-29 14:17:04 -03:00
Ramon Souza
ffbbae1ed4 close mute alert 2021-04-29 11:06:27 -03:00
Ramon Souza
509d9c0936 Merge remote-tracking branch 'upstream/develop' into issue-12042 2021-04-22 08:45:06 -03:00
Mario Jr
bf17b385b6 fix: breakout autojoin audio with wrong behavior
When joining/returning breakouts, audio would always connect
with full audio. This can lead to a performance problem, once
all listenonly users would join full audio, increasing the
number of streams in FreeSWITCH.

We now have a consistent behavior, which is:
1 - The choice made by the user in the main room is predominant:
    if mic is active in main room, user will automatically
    join mic in breakout room. When returning from breakout
    room, user will also join with mic again.
2 - Changes made in breakout room won't have effect when
    returning to the main room. This means if user, for example,
    change from listenonly to mic in breakout room, the returning
    will consider the option choosen previously (listenonly) and
    listenonly will be active again in the main room.
3 - If user didn't join audio in the main room, the audio modal
    will be prompted when joining the breakout room (this is
    a special case of (1))


The following is some technicall information:
InputStreamLiveSelector (component.jsx) now calls
'handleLeaveAudio' function, which is the default
function when user leaves audio (also used when
dynamic devices are inactive).

We now store information about user's choice (mic or listenonly)
using local storage, instead of the previous cookie method (this
was triggering some warnings in browser's console).

Also did a small refactoring to match eslint rules.
Fixes #11662.
2021-04-20 14:38:11 -03:00
Ramon Souza
6960c524de remove unused props in audio controls 2021-04-20 11:36:22 -03:00
Anton Georgiev
f3aa708f53
Merge pull request #12034 from ramonlsouza/issue-11977
Add meetingId to usersContext
2021-04-16 10:42:24 -04:00
Anton Georgiev
6ecbe44f84
Merge pull request #12040 from ramonlsouza/issue-8985
Fix phone number display in RTL
2021-04-15 12:17:44 -04:00
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