Commit Graph

701 Commits

Author SHA1 Message Date
Anton B
d6f32f3422 Merge remote-tracking branch 'upstream/v2.6.x-release' into test-fixes-v2.6 2022-07-06 11:07:00 -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
Ramón Souza
a1ac9fe11d
Merge pull request #15293 from ramonlsouza/restore-audio-shortcuts
fix: audio shortcuts regression
2022-07-04 21:09:27 +01:00
Anton B
c71e5c9f74 test: fix all 2.6 tests and temporarily skip inconsistent ones 2022-07-01 17:55:32 -03:00
Ramon Souza
a29b651d9c restore audio mute / leave shortcuts 2022-06-29 15:19:30 -03:00
prlanzarin
0fead2ebbb fix: omit unused props in talking-indicator, input stream selector and emoji button
The talking-indicator, emoji-button and input-live-stream-selector
components are passing props downstream that weren't omitted or handled
by inherited components (Button, Icon). That causes a handful of error
logs to be spammed in the console of dev environments, which is
annoying.

This commit addresses the issue by:
  - Making the talking, spoke, muted and isViewer props transient
    (styled-components) - which means they won't reach the DOM (as
    expected since they're style-only)
  - Omitting the EmojiButton `rotate` prop in the Icon component itself
    * Made that instead of transient because might be useful to migrate
      the rotate code to the Icon component?
2022-06-29 17:15:46 +00:00
gabriellpr
a3e17490f4 WIP: fix microphone design inside audio modal 2022-06-27 15:23:57 -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
Ramón Souza
851340d551
Merge pull request #15154 from frankemax/unify-audio-buttons-27
feat(audio): unify audio buttons
2022-06-16 13:28:12 +01:00
Max Franke
a1860f3dd4 fix(audio): select device dropdown icon position
Move the 'leave' icon to the left-hand side
2022-06-15 12:07:51 -03:00
Max Franke
9dfef30dba fix(audio): select device dropdown colors
Set list titles colors to colorGrayDark
Set active devices background color to off-white
2022-06-15 12:00:40 -03:00
Max Franke
1c6577f4db feat(audio): unify audio buttons
Move device selection dropdown to microphone button
Move option 'leave audio' to an option within the dropdown
Remove the audio exit button when device !== mobile
2022-06-09 13:37:37 -03:00
Ramon Souza
8ce74903db remove unused custom button styles 2022-06-06 14:44:30 -03:00
Ramon Souza
242f5d3e29 audio modal spacing polishing 2022-06-03 16:10:09 -03:00
Joao Victor
18b06e1ba5 fix: point media button chevrons upwards #15068 2022-05-25 09:38:22 -03:00
Joao Victor
e070b586c4 [2.5] fix: popover menus in RTL mode 2022-05-13 10:42:19 -03:00
Ramon Souza
0d3a5326fc Merge remote-tracking branch 'upstream/v2.5.x-release' into 25260-may10 2022-05-10 10:53:00 -03:00
Paulo Lanzarin
0656059adb
Merge pull request #14937 from prlanzarin/u26-ineffable-instants
refactor(audio): style adjustments to AudioSettings device selectors
2022-05-03 14:51:55 -03:00
prlanzarin
cdbbb49d64 refactor(audio): style adjustments to AudioSettings device selectors
Similar to what video-preview does: dropdown icon indicator, focus/hover handling, ...
2022-05-03 16:25:02 +00:00
Arthurk12
1d677b1263 feat(microphone): UI tweaks about echo test button 2022-04-29 19:07:08 +00:00
prlanzarin
d81041443b fix(audio): guarantee consistency of selected output devices in AudioSettings
The initial selected output device in AudioSettings could be the wrong one if
the user's session had an output device ID already stored, but is joining on a
new session. That would cause the remote-media tag not to be updated with the
correct output device ID when it should (the service.js change)

The issue is tackled by guaranteeing the output device ID is set on all ends
when AudioSettings/AudioModal mounts.
2022-04-28 16:36:47 +00:00
prlanzarin
b428221f7e fix(audio): guarantee consistency of selected input devices in AudioSettings
The initial selected input device in AudioSettings could be the wrong one if
 - 1) gUM outputs an user-selected device rather than the default
 - 2) no previous device was selected for that domain and the enumeration
      list order caused the default not to be the first

The issue is tackled re-extracting the deviceId from an input stream if it
exists and making the DeviceSelector value follow what is defined in the client
(audio-manager) via a trackable prop
2022-04-28 14:38:37 +00:00
Ramon Souza
07f9a192b9 Merge remote-tracking branch 'upstream/v2.4.x-release' into merge-2425-apr27 2022-04-27 15:32:20 -03:00
Anton Georgiev
d9709caf27
Merge pull request #14316 from JoVictorNunes/issue-13631
fix(audio): restore audio behavior within main room after leaving breakout room
2022-04-20 10:37:44 -04:00
prlanzarin
e0bda16c06 refactor(audio): linter pass over local echo/volume meter
Address linter warnings before any further changes in that area
2022-04-18 20:05:26 +00:00
prlanzarin
bae731e59e fix(audio): PC loopback workaround for local echo in Chrome
Works around the fact that Chrome doesnt have AEC on streams that dont go through PCs
2022-04-13 14:37:39 +00:00
prlanzarin
c9eeffb71e fix(audio): guarantee audio settings devices are present and labelled
For scenarios where streams are produced in AudioSettings (local echo,
volume meter), force gUM resolution before devices are enumerated.
This effectively guarantees that all devices are present, labelled and
with deviceIds.
2022-04-12 21:33:17 +00:00
prlanzarin
f4ba6dd9a2 refactor(audio): use preloaded audio stream if provided
Avoids a surplus gUM with local echo test et al
2022-04-11 22:29:20 +00:00
prlanzarin
1e37924e41 refactor(audio): local echo initial hearing state is configurable, ...
public.media.showVolumeMeterInSettings => public.media.showVolumeMeter

public.media.simplifiedEchoTest => public.media.localEchoTest.enabled

Initial hearing state can be configured in public.media.localEchoTest.initialHearingState
2022-04-11 21:04:08 +00:00
prlanzarin
17e5d95d7a refactor(audio): clean unused code in local echo/volume code 2022-04-11 19:40:16 +00:00
prlanzarin
d6c7f23a0e feat(audio): local echo test and audio energy meter
New features:
  - A simplified echo test mode that only does a local loopback (instead of
  going to FS and back)
  - A volume meter for microphone streams to the AudioSettings view

Those two features are experimental and disabled by default; see
public.app.media.simplifiedEchoTest and public.app.media.showVolumeMeter configs

Collateral changes:
  - fix: localize fallback device strings in AudioSettings/DeviceSelector
  - Refactor on some media stream utils to be re-usable across components
  - Refactor in AudioSettings to keep gUM #uses stable.
    * TODO: need to pass streams through AudioManager to avoid the surplus gUM.
  - fix(audio): drop ScriptProcessorNode usage (deprecated)
    * Used in volume meter for tracking - use hark instead
2022-04-11 19:21:56 +00:00
prlanzarin
2b230ab914 fix(audio): proper description for testSpeakerLabel 2022-04-11 19:19:16 +00:00
Anton Georgiev
280da6ab40
Merge pull request #14726 from prlanzarin/u25-new-victorio
fix(locale): add locale for audio settings speaker test label
2022-04-01 13:36:53 -04:00
prlanzarin
91f1119bfd fix(locale): add locale for audio settings speaker test label 2022-04-01 13:58:04 -03:00
Arthurk12
a356109795 fix(microphone): modal not showing errors
Adds error handling to microphone join.
2022-03-30 14:27:18 -03:00
Ramón Souza
1d1375b3cf move modal component to common folder 2022-02-15 15:54:55 +00:00
Ramón Souza
fa7af8fe27 move menu component to common folder 2022-02-15 15:38:55 +00:00
Ramón Souza
246e3b3e8f move button component to common folder 2022-02-14 20:20:50 +00:00
Ramón Souza
dba04834c7 Merge remote-tracking branch 'upstream/v2.4.x-release' into 2524-feb08 2022-02-09 15:52:42 +00:00
Joao Victor
507ec568d2 Error handling and variable name change 2022-02-09 11:43:54 -03:00
Anton
b85b3b7ca0 add lock viewers tests 2022-01-28 16:52:22 -03:00
Ramón Souza
115ba187b5 remove unused imports/variables 2022-01-24 13:12:37 +00:00
Anton
7f075be033 fix all test selectors 2022-01-20 10:03:18 -03:00
Ramón Souza
f6e65f58c5 merge 2.4 into develop and resolve conflicts - partial 2022-01-12 16:40:45 +00:00
Ramón Souza
dc08b7857c go to echo test on audio modal mount if listen only is disabled 2022-01-11 13:59:46 +00:00
Anton Georgiev
797fc49633 TEMP 2021-12-09 20:37:05 +00:00
Ramón Souza
16fd642e33 interrupt connection proccess if audio modal is closed 2021-12-03 11:45:07 +00:00
Maxim Khlobystov
b7cf670aec Remove the support for iframe postMessage API (recording and self-muting) 2021-11-29 22:53:12 +00:00
Anton Georgiev
542db847ff
Merge pull request #13574 from Tainan404/smooth-reconnection-25
Improve data structure to not break on reconnections
2021-11-17 15:55:21 -05:00
Ramón Souza
e5293d9109 only use colorBackground in backgrounds 2021-11-16 17:15:02 +00:00
Ramón Souza
ea38609fc2 remove .scss files 2021-11-11 12:38:09 +00:00
Mario Jr
9578efbcd3 fix(audio): prevent audio to hang when user is transferred to breakout room
When joining breakouts, we now wait for the bridge to be loaded before
automatically start user's audio.
This problems happens only on fullaudio bridge
2021-11-09 15:04:10 -03:00
Ramón Souza
1353169362 convert audio permissions-overlay component 2021-11-09 16:55:45 +00:00
Ramón Souza
9e2206186b convert audio help component 2021-11-09 16:20:34 +00:00
Ramón Souza
09f95a708f convert audio echo-test component 2021-11-09 16:11:19 +00:00
Ramón Souza
b611afbed4 convert audio device-selector component 2021-11-09 16:08:01 +00:00
Ramón Souza
d20c96cc2b convert audio autoplay component 2021-11-09 16:02:53 +00:00
Ramón Souza
8fa18bce5b convert audio test component 2021-11-09 14:38:28 +00:00
Ramón Souza
af8959fe95 convert audio settings component 2021-11-09 14:33:40 +00:00
Ramón Souza
0994f6dea3 convert audio modal component 2021-11-09 13:22:59 +00:00
Ramón Souza
f5fcac6278 convert audio dial component 2021-11-09 12:53:41 +00:00
Ramón Souza
eb3a39d68a convert audio controls component 2021-11-09 12:45:31 +00:00
Ramón Souza
a29324c843 convert audio input-stream-live-selector component 2021-11-09 12:08:30 +00:00
Ramón Souza
b71f312fee Merge remote-tracking branch 'upstream/develop' into styled-components-10 2021-11-08 18:37:34 +00:00
Ramón Souza
3f00a8486e convert audio-controls bbbmenu 2021-11-05 19:22:25 +00:00
Tainan Felipe
f5eef03f3f Improve data structure to not break on reconnections 2021-11-03 14:37:54 -03:00
Anton Georgiev
c5dff32aaf
Merge pull request #13562 from mariogasparoni/remove-ios-chrome-audio-check
update(audio): do not check for chrome in iOS devices in audio modal
2021-10-25 12:00:26 -04:00
Mario Jr
05686baed6 update(audio): do not check for chrome in iOS devices in audio modal
We are now leaving the check for the minBrowserVersions object in settings.yml
If the settings enables chrome iOS, audio should allow users to be joining
with audio.

This is related to recent Chrome update (iOS 14.3+) that now allows
camera/microphone to be captured. We are looking for enabling this for
Chrome 93 in iOS (chromeMobileIOS version in settings.yml)
2021-10-22 18:14:12 -03:00
Anton Georgiev
1622425cbc Merge branch 'develop' of github.com:bigbluebutton/bigbluebutton into 2.4-into-develop 2021-10-22 19:12:58 +00:00
KDSBrowne
39fb8a6baa center chevron in audio controls dropdown 2021-10-21 17:29:44 +00:00
Anton Georgiev
6e0c74e02f style: Pulled latest fonts, audio icon swap 2021-10-18 20:26:01 +00:00
Tainan Felipe
1de8e0779d Add server side reactivity to publications 2021-10-13 15:00:52 -03:00
Anton Georgiev
ac01c4cc45
Merge pull request #13045 from antonbsa/fix-elements-and-util-functions
test: Fix selectors use, util functions and data-test on join/leave audio button
2021-09-07 15:08:33 -04:00
Mario Jr
618670937f Merge branch 'develop' into fix-13153 2021-09-03 17:59:14 -03:00
Mario Jr
b757d65276 fix(audio): screen goes blank when using listen only in ios
Closes #13153
Related to #12950
2021-09-03 17:54:35 -03:00
Anton
3f90607443 Merge remote-tracking branch 'upstream/develop' into fix-elements-and-util-functions 2021-09-02 15:31:24 -03:00
Anton Georgiev
c140fca2d9
Merge pull request #13093 from PhMemmel/remove_echo_test_connection_message
Change "Connecting" message in audio modal
2021-08-31 15:23:31 -04:00
Anton Georgiev
5cf0536eea
Merge pull request #13105 from mariogasparoni/more-about-13015
chore(audio): fix eslint / sonar smells on button-emoji
2021-08-30 14:25:03 -04:00
Mario Jr
7ee61abaee chore(audio): fix eslint / sonar smells on button-emoji 2021-08-30 15:19:52 -03:00
Anton Georgiev
4ecb24b4fa Merge branch 'v2.3.x-release' of github.com:bigbluebutton/bigbluebutton into merge-aug30 2021-08-30 18:11:16 +00:00
Mario Jr
9664d052c9 chore(audio): small fixes on "Update media selection dropdown" #13015
Removed trailing spaces in audio-controls/component.jsx
Fixed browser warning about required BBBMenu's onClick prop in
input-stream-live-selector/component.jsx
Fixed eslint warning "react/button-has-type" in ButtonEmoji.jsx
Fixed browser warning about not recognized hideLabel prop in ButtonEmoji.jsx
2021-08-30 11:41:58 -03:00
Philipp Memmel
05cdba2233 remove specific echo test connecting message 2021-08-27 16:32:19 +00:00
Anton
acea25b781 fix data-test prop on join and leave audio 2021-08-25 16:28:47 -03:00
KDSBrowne
e195d95494 update media device dropdown to menu | semantic fixes 2021-08-17 03:18:49 +00:00
Mario Jr
cf366e5090 Get user and audio data, shows it and allows it to be copied to clipboard
Using getStats api and peer information to retrieve upload/download rates
and transport information
2021-08-12 16:39:04 -03:00
KDSBrowne
0ad6cbb2d0 add aria-descriptions to poll panel 2021-08-11 12:16:58 +00:00
KDSBrowne
17aca1dc81 add aria descriptions to audio modal buttons 2021-08-11 12:16:48 +00:00
Vitor Mateus De Almeida
145ca61d40 linting some files 2021-08-09 11:24:02 -03:00
Mario Jr
9dbfc41dac Merge branch 'v2.3.x-release' into develop 2021-07-14 09:29:38 -03:00
Anton Georgiev
ef4c756a1e
Merge pull request #12733 from antobinary/merge-2.3.5-into-develop
chore: Merge 2.3.5, 2.3.6 into develop
2021-07-06 16:04:37 -04:00
Mario Jr
5d5370b004 Merge branch 'v2.3.x-release' into fix-12018 2021-07-06 16:45:27 -03:00
Anton Georgiev
1fd6246336 Merge branch 'v2.3.x-release' of github.com:bigbluebutton/bigbluebutton into merge-2.3.5-into-develop 2021-07-06 19:37:30 +00:00
Mario Jr
06c7edbb0b fix(audio): prevent mute notification to be triggered when mic is locked
When mic is locked, user is not able to talk so it doesn't make sense
to alert the user about unmuting (mute button is also disabled when mic
is locked).

Closes #12048
2021-07-06 11:59:42 -03:00
Mario Jr
2801848789 chore(audio): update some code checks done by sonarcloud 2021-06-30 18:39:32 -03:00
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
Mario Jr
06b0d5b23e fix(audio): audio modal inactive after connection error
Closes #12018
2021-05-17 16:44: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
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