Commit Graph

623 Commits

Author SHA1 Message Date
Pedro Beschorner Marin
d00909751a refactor(captions): change getVoices routine
In some cases, `getVoices` returns an empty array even if the browser's vendor
has full support for speech synthesis. Add a trigger call to initiate the
voices fetching process.

As drafted, `getVoices` can be an asynchronous call and monitoring it
depends on the support of a `voiceschanged` event. Although many of the
main vendors support voices, this event is not (yet) by Safari.

https://wicg.github.io/speech-api/#dom-speechsynthesis-getvoices
https://wicg.github.io/speech-api/#eventdef-speechsynthesis-voiceschanged
https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis/voiceschanged_event
2022-07-20 17:20:50 +00:00
Pedro Beschorner Marin
d6dc66f57e feat(captions): language selector
Replace the checkbox with a selector up with 3 languages: en-US, es-ES and pt-BR.

Add setting option to enable by default with predetermined locale.
2022-07-20 17:20:50 +00:00
Pedro Beschorner Marin
5671bd7d3c fix(captions): check for voices
Avoid enable audio transcription if the browser's vendor does not provide
voices data.

This should prevent false positives for browsers such as Chromium and
Brave.
2022-07-20 17:20:49 +00:00
Pedro Beschorner Marin
e131925370 style(captions): font-family fallback
Add extra `sans` alternatives
2022-07-20 17:20:49 +00:00
Pedro Beschorner Marin
d688a2572f fix(captions): remove padding when no content
Avoid rendering the captions wrapper's padding when there's no data to
be displayed at the live feedback.
2022-07-20 17:20:49 +00:00
Pedro Beschorner Marin
f726cb0ad5 refactor(captions): UX improvements
Parse the audio transcript before broadcasting it's content back to the
client and the recording actor. Limiting by 8 words per line and max of
2 lines to avoid CPU intensive operations over this recurring event.

Replace Calibri font family with Verdana to improve character spacing,
add relative sizing to the text content and a background padding.
2022-07-20 17:20:49 +00:00
Pedro Beschorner Marin
75969ec93c feat(captions): audio captions app
Add a server-side app for the audio captions feature and record proto-events
for this data.

As it is, only behaves as a pass-through module. The idea is to include all
the business intelligence in this app.
2022-07-20 17:20:48 +00:00
Pedro Beschorner Marin
0bc730b3e3 refactor(captions): improve recovery
Use the user's talking state to trigger a speech API recovery after long
periods of silence.
2022-07-20 17:20:48 +00:00
Pedro Beschorner Marin
944edf2ccf feat(captions): web speech prototype
Hardcoded pt-BR prototype for closed captions generated by the browser's
WebSpeech API.
2022-07-20 17:20:48 +00:00
Anton B
944e0b2981 test: add audio tests 2022-07-15 17:54:16 -03:00
Anton Georgiev
f2e25768c7
Merge pull request #15390 from ramonlsouza/merge25-26-jul14
chore: Merge v2.5.3 into v2.6
2022-07-15 11:43:17 -04:00
Ramon Souza
83d9feb9c0 fix missing import in audio controls 2022-07-15 11:41:11 -03:00
Ramon Souza
d08ff18add Merge remote-tracking branch 'upstream/v2.6.x-release' into merge25-26-jul14 2022-07-15 11:12:25 -03:00
Ramon Souza
db5ac1428a Merge tag 'v2.5.3' into merge25-26-jul14 2022-07-15 11:08:02 -03: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
Paulo Lanzarin
3e8ccd370d
Merge pull request #15375 from prlanzarin/u26/fix/local-echo-gUM-block
fix(audio): block audio join while gUM isn't resolved (local echo)
2022-07-13 15:57:02 -03:00
prlanzarin
27896e74e6 fix(audio): block audio join while gUM isn't resolved (local echo)
The new local echo view doesn't block the "Join audio" button while
awaiting for getUserMedia permission to be granted/denied. That may
cause unexpected behavior when unattentive users just click "Join audio"
without granting or denying gUM.

This commit accounts for gUM resolution when deciding whether to block
the "Join audio" button. It also includes an extra "isConnecting" check
to it to avoid spam-clicking issues.
2022-07-13 14:35:37 +00:00
Ramón Souza
04386dfcd5
Merge pull request #15212 from gabriellpr/styling-buttons
style: Revised styles for our secondary buttons
2022-07-13 15:22:49 +01:00
prlanzarin
7b76d2e88f fix: change local echo Stop hearing locale to Stop audio feedback 2022-07-13 13:59:49 +00:00
prlanzarin
fba2c88494 fix(audio): make hearing a transient prop in local-echo
Prevents annoying console exceptions in dev mode
2022-07-12 16:37:36 +00:00
Anton B
d00699561f fix data-test props to same quote type 2022-07-11 17:35:14 -03:00
gabriellpr
f848d31014 modifying specific buttons
removing border and implementing box-shadow

adding transparent border

passing styles to common buttons

adding secundary color to component

updating color components
2022-07-07 10:45:54 -03:00
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