Commit Graph

34727 Commits

Author SHA1 Message Date
Arthurk12
da9adca229 fix(captions): talking indicator icon
Prevents the speech recognition from being initialized when the closed
captions feature is disabled.
2022-07-20 17:20:52 +00:00
Pedro Beschorner Marin
d553ca65cf feat(captions): use navigator language
If not set to use the default language, try to select the navigator
language as speech default locale.
2022-07-20 17:20:52 +00:00
Pedro Beschorner Marin
116c0d9a49 fix(captions): filter duplicated languages
Avoid multiple instances of the same language at the voices data.
2022-07-20 17:20:52 +00:00
Pedro Beschorner Marin
51eeb092b3 refactor(captions): configurable languages
Move the language collection to the HTML settings file. This data defines
the available languages available for the speech API.

These language tags are used to filter SpeechSynthesis' API `getVoices`
result. Tags must use BCP 47 format.

https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisVoice/lang
2022-07-20 17:20:52 +00:00
Pedro Beschorner Marin
b52c67d7a7 feat(captions): first pass on recording
Add the main server-side adapter for using the legacy closed captions
recording process with the audio captions data.
2022-07-20 17:20:52 +00:00
Pedro Beschorner Marin
aa7f2abae2 feat(captions): talking users' floor
Associate the floor status with the talking users to improve feedback
on automated closed captions.
2022-07-20 17:20:51 +00:00
Pedro Beschorner Marin
1064aab84d style(captions): add background alpha
Add some transparency to the background color.
2022-07-20 17:20:51 +00:00
Pedro Beschorner Marin
fb48e61d6d feat(captions): add talking indicator feedback
Inform other users about who are the current talkers with the speech
recognition enabled.
2022-07-20 17:20:51 +00:00
Pedro Beschorner Marin
df184b542c feat(captions): add unsupported warning
Add a disclaimer for users on browsers that do not provide speech synthesis'
voices.
2022-07-20 17:20:51 +00:00
Pedro Beschorner Marin
307ab6ea40 feat(captions): add author avatar
Include captions' author avatar at the live feedback to improve identification.
2022-07-20 17:20:50 +00:00
Pedro Beschorner Marin
d32d47168f feat(captions): add transcript settings
Define number of lines and words per line at application.conf.
2022-07-20 17:20:50 +00:00
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
1519462f4e feat(captions): use audio's floor
Broadcast the transcript's event based on the voice user's floor state.
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
Daniel Petri Rocha
40d0c454c0 Escape Pango markup characters 2022-07-20 18:13:11 +02:00
Ramón Souza
c3dd17f913
Merge pull request #15406 from KDSBrowne/v2.6.x-fix-fs-cursor
Cursor Position Update For Video Focus Layout
2022-07-20 17:10:30 +01:00
Anton Georgiev
0a79961bd0
Merge pull request #15399 from antobinary/alpha-2
chore: Pulled the latest 2.6 HTML5 locales from Transifex
2022-07-20 12:09:38 -04:00
Joao Victor
a1ed921039 fix: breakout remaining time label 2022-07-20 12:22:46 -03:00
prlanzarin
d23189d1ed refactor(audio): log VoiceUser cleanup on User remove and centralize it
There's a VoiceUser cleanup procedure bound to the User's cleanup
routine in Meteor's server-side. That cleanup is _silent_ and does not
use a dedicated modifier from voice-user et al, which is not
straightforward and might waste a few minutes of understanding what's
happening when debugging audio collections.

This commit centralizes that cleanup in a new clearVoiceUser modifier in
voice-user as well as logs when it works.
2022-07-20 12:13:37 +00:00
Anton Georgiev
d006442ac1
Merge pull request #15410 from bigbluebutton/antobinary-patch-1
chore: Added a template for test case tracking
2022-07-19 15:51:32 -04:00
Anton Georgiev
922080894c
chore: Added a template for test case tracking 2022-07-19 15:45:47 -04:00
Joao Victor
cff1c087a8 feat: front-end support for exporting presentations with annotations 2022-07-19 16:36:00 -03:00
Daniel Petri Rocha
b148049acc Escape shell metacharacters 2022-07-19 18:12:09 +02:00
Paulo Lanzarin
f0bcd2cf4e
Merge pull request #15403 from bigbluebutton/sfu290a5
build(bbb-webrtc-sfu): v2.9.0-alpha.5
2022-07-19 09:02:53 -03:00
KDSBrowne
100bfcfb86 update fullscreen element check 2022-07-19 10:51:59 +00:00
KDSBrowne
ed55d58b01 handle cursor positions for video focus 2022-07-19 03:37:47 +00:00
KDSBrowne
47303757de handle cursor position for fullscreen presentation 2022-07-19 01:23:10 +00:00
Ramón Souza
73c4bebe9b
Merge pull request #15248 from JoVictorNunes/issue-15240
fix: missing translations for some labels on L. A. Dashboard
2022-07-18 21:19:45 +01:00
Ramón Souza
f083bb9a20
Merge pull request #15273 from JoVictorNunes/issue-15272
fix: apply presentation 'isCurrent' changes to local state
2022-07-18 21:19:20 +01:00
Ramón Souza
2fd65dfc1c
Merge pull request #15099 from schrd/fix-issue-14982
Fix: only show breakout room in user list when user is in breakout room
2022-07-18 21:17:17 +01:00
Ramón Souza
7c7827fc17
Merge pull request #15365 from JoVictorNunes/issue-15312
fix(Dashboard): wrap header on small screens
2022-07-18 21:16:46 +01:00
Paulo Lanzarin
d5c63d10e5
build(bbb-webrtc-sfu): v2.9.0-alpha.5 2022-07-18 17:01:22 -03:00
Ramón Souza
5e24c3a58c
Merge pull request #15400 from ramonlsouza/v2.5.x-release
chore: Pulled the latest 2.5 HTML5 locales from Transifex
2022-07-18 19:41:22 +01:00
Localization Server
35ca527d94 chore: Pulled the latest 2.5 HTML5 locales from Transifex 2022-07-18 15:38:01 -03:00
Localization Server
1539f402c7 chore: Pulled the latest 2.6 HTML5 locales from Transifex 2022-07-18 16:58:19 +00:00
Ramón Souza
3d77b2a52c
chore: Bump version to 2.5.4 2022-07-18 13:15:28 -03:00
Daniel Petri Rocha
7906e1405d Resize PNG resolution to avoid large files 2022-07-18 17:32:51 +02:00
Gustavo Trott
7562ce8b51
Merge pull request #15384 from mariogasparoni/fix-15163-v2.5 2022-07-18 11:47:19 -03:00
Paulo Lanzarin
6db899f6a3
Merge pull request #15394 from prlanzarin/u26/feat/icerestart
fix(bbb-html5): serve compressed version of /compatibility files
2022-07-18 11:27:39 -03:00
prlanzarin
83ddc621a8 fix(bbb-html5): serve compressed version of /compatibility files
Files are compressed on build, but gzip_static on isn't set on their
nginx route - so original files are being served, uncompressed.

This commit serves the previously compressed files instead (thus
reducing initial transfer size by ~1 MB).

Someone should look into whether serving compressed version of the rest
of assets makes sense - it probably does.
Still pending: fonts, locales, svgs, everything under resources, ...
2022-07-16 00:36:26 +00:00
Anton Georgiev
400a525e8f
Merge pull request #15386 from antonbsa/small-ci-test-fixes
test: Skip tests with false CI failures and improve debug tools
2022-07-15 20:09:20 -04:00
Anton B
944e0b2981 test: add audio tests 2022-07-15 17:54:16 -03:00
Anton B
c85ffa86cd test: change skip annotation to fixme 2022-07-15 17:23:31 -03:00