Commit Graph

608 Commits

Author SHA1 Message Date
Tainan Felipe
ba32e21c0f
Add: Local history of rtt status changes (#20983)
* Change: Add local history of rtt status changes
2024-08-21 10:05:37 -03:00
prlanzarin
381718a353 fix(audio): unmute when going from "no mic" -> mic via unmute trigger, +
When going from "no mic" -> mic via the unmute action, the client isn't
unmuting itself after confirming the change. This is caused by not
waiting the liveChangeInputDevice method (which is a Promise) to be
fully executed before unmounting the AudioSettings modal -- the one
responsible for triggering the unmute. Since it unmounts before the
device is changed, the unmute action will be ignored because the device
is still "listen-only" (no mic).

Properly unmute audio when transitioning from "no mic" -> "mic" via the
unmute trigger by waiting for liveChangeInputDevice to resolve.
Additionally, some general improvements to UI/UX:
  - Display the AudioSettings modal title when gUM is on prompt mode
  - Add specific subtitles to the AudioSettings modal to 1) warn that no
    mic is selected 2) Give a hint that the user can test their devices
  - Always honor settings.yml's "initialHearingState" state (whether
    local echo feedback should be played by default in AudioSettings)
2024-08-15 03:30:18 +00:00
prlanzarin
120bef5cc1 refactor(audio): improve audio settings' UI
We are missing a way to select transcription languages in some
scenarios, e.g.: listenOnlyMode=false. The audio settings UI is also not
handling item disposition very well on smaller devices.

This commit does the following to improve those blind spots:
  - Add the transcription language selector to it whenever applicable
  - Add proper styling to the transcription selector
  - Handle small screens by changing the disposition of elements to
    portrait mode
  - Improve how elements are disposed to a more familiar view: Mic ->
    Activity Indicator; Speaker -> Speaker test. This is more in line
    with how other platforms do audio configuration/pre flight screens.
2024-08-15 00:43:37 +00:00
prlanzarin
325887e325 feat(audio): rework audio join without listen only
This is a rework of the audio join procedure whithout the explict listen
only separation in mind. It's supposed to be used in conjunction with
the transparent listen only feature so that the distinction between
modes is seamless with minimal server-side impact. An abridged list of
changes:
  - Let the user pick no input device when joining microphone while
    allowing them to set an input device on the fly later on
  - Give the user the option to join audio with no input device whenever
    we fail to obtain input devices, with the option to try re-enabling
    them on the fly later on
  - Add the option to open the audio settings modal (echo test et al)
    via the in-call device selection chevron
  - Rework the SFU audio bridge and its services to support
    adding/removing tracks on the fly without renegotiation
  - Rework the SFU audio bridge and its services to support a new peer
    role called "passive-sendrecv". That role is used by dupled peers
    that have no active input source on start, but might have one later
    on.
  - Remove stale PermissionsOverlay component from the audio modal
  - Rework how permission errors are detected using the Permissions API
  - Rework the local echo test so that it uses a separate media tag
    rather than the remote
  - Add new, separate dialplans that mute/hold FreeSWITCH channels on
    hold based on UA strings. This is orchestrated server-side via
    webrtc-sfu and akka-apps. The basic difference here is that channels
    now join in their desired state rather than waiting for client side
    observers to sync the state up. It also mitigates transparent listen
    only performance edge cases on multiple audio channels joining at
    the same time.

The old, decoupled listen only mode is still present in code while we
validate this new approach. To test this, transparentListenOnly
must be enabled and listen only mode must be disable on audio join so
that the user skips straight through microphone join.
2024-08-15 00:43:28 +00:00
Ramón Souza
59a2efd8f0 pass presentation to breakout - frontend 2024-08-05 10:29:42 -03:00
João Victor Nunes
5a00a85f07
fix(html5): a couple of fixes for the recording button (#20758) 2024-07-26 12:45:48 -04:00
André Möller
dc74ecfa65 Fix: [3.0] Breakout room invitation option missing from user dropdown 2024-07-23 15:21:26 -03:00
Arthur B. Grossi
291809bff0
feat(private-chat): message read confirmation feedback (#20722)
* feat(graphql-server): add new view `v_chat_private_read_feedback`

Adds a view called `v_chat_private_read_feedback` to retrieve the last seen time
of the recipient of a private chat.

* refactor(chat): removes unused prop `lastSeenAt`

* feat(private-chat): message read confirmation feedback

Adds message read confirmation feedback feature to private chats.
This feature uses the private chat recipient's `lastSeenAt' attribute to
check which messages were read. Messages read are show in the chat with
a check icon next to it.
Feature behind a flag in settings.yml, which is disabled by default:
- `public.chat.privateMessageReadFeedback.enabled`

* fix(chat): poll chart message

Fixes poll chart message which was not using the full chat width due to
previous changes in chat messages `flex-direction`.

* fix: adds missing initial value for `privateMessageReadFeedback`

* fix: linter errors

* fix(chat): add `recipientHasSeen` property to existing view

This commit changes the way the messages read by the recipient are
tracked. The previous strategy required the client to calculate the read
messages and as a consequence all messages of the given chat
were re-rendered every time the recipient `lastSeenAt` time
changed. The current strategy consists of calculating the read messages
on the server(based on recipient `lastSeenAt`) and just expose to the
client a boolean(`recipientHasSeen`) for each message that indicates whether
it has already been read or not.

* fix: typo in message description

* fix: typo in settings flag

* fix: vertically align icon
2024-07-22 12:01:24 -04:00
Anton Georgiev
50e3c5aa42
chore: rename meeting to session in en.json (#20743) 2024-07-22 08:50:49 -04:00
Gustavo Trott
c6b9ab35ae
refactor: Remove old userStatus Emoji (#20717)
* Remove old userStatus Emoji

* tweak docs

* fix bkroom errors
2024-07-18 08:58:38 -04:00
João Victor Nunes
1d737fbada
refactor(html5): recording start/stop modal (#20679)
* refactor(html5): recording start/stop modal

* Add suport for errors
2024-07-16 15:29:29 -03:00
Anton Georgiev
abeb12146b
Merge pull request #20480 from KDSBrowne/v30-enable-whiteboard-infinite-canvas
feat(whiteboard): Add infinite whiteboard for presentation slides
2024-07-05 17:54:55 -04:00
KDSBrowne
c341ea44f8 update canvas names to whiteboard 2024-07-05 20:13:30 +00:00
Guilherme Pereira Leme
ccb2e74bc1
feat(plugin): Added sendGenericDataForLearningAnalyticsDashboard for plugins (#20628)
* [data-channel-analytics-options]  - Added data-channel analytics and record options and added a parameter options for the useDataChannel function

* Update bigbluebutton-html5/public/locales/en.json

Co-authored-by: Gustavo Trott <gustavo@trott.com.br>

* [data-channel-analytics-options] -created new sendDataAnalytics for plugin and change presentation toolbar button

* [data-channel-analytics-options]  - QUICK FIX

* [update-data-channel-function] - fix action metadata

* [data-channel-analytics-options] - changes in review

* [data-channel-analytics-options]  - changes in review

* [captionLocale] - Changes in review

* [data-channel-analytics-options]  - update SDK

* [data-channel-analytics-options]  Changes in review

* [data-channel-analytics-options] - changes in review

* [data-channel-analytics-options] - changes in review

* [data-channel-analytics-options] - changes in review

* Refactor learning dashboard json structure with genericData

* fix typo

* [data-channel-analytics-options] - changes according to new json structure

* changes in review

---------

Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>
Co-authored-by: Gustavo Trott <gustavo@trott.com.br>
2024-07-05 16:49:45 -03:00
Tainan Felipe
0e7fe3c688
Change: improve client connection status (#20630) 2024-07-04 17:26:09 -03:00
KDSBrowne
687ee36d29 add functionality to enable infinite whiteboard 2024-07-03 17:14:47 +00:00
Lucas
9bf3f54183
feat: Initial BBB 3.0 Gladia transcriptions implementation (#20295)
* feat(html5): initial implementation of Gladia transcriptions to BBB 3.0

* fix(transcription): Add missing locales and fix invalid cc menu key

* fix(bbb-transcription-controller): Bump transcription controller to fix some bugs

* fix: adjust yq syntax for setting fs esl password in transctiption-controller

* fix(transcription): Use newer useSettings format from transcription options

* fix(captions): Correctly use captions settings

---------

Co-authored-by: João Victor <joaovictornunes973@gmail.com>
Co-authored-by: Anton Georgiev <anto.georgiev@gmail.com>
Co-authored-by: Ramón Souza <contato@ramonsouza.com>
2024-06-12 12:06:07 -04:00
Tainan Felipe
c2364641d3
refactor: connection status for graphql connection (#20196)
* Add: connection status for graphql connection
2024-06-10 16:20:41 -04:00
João Victor Nunes
5d3178f15d
refactor(guest-wait): turn guest wait page into a React component (#20344)
* refactor(guest-wait): turn guest wait page into a React component

* Fix rendering when the meeting is ended

* refactor(guest-wait): Backend portion for migration of `guest-wait` to Graphql

* Add message timeout

* Remove static guest wait page

---------

Co-authored-by: Gustavo Trott <gustavo@trott.com.br>
2024-06-05 17:41:23 -03:00
João Victor Nunes
ab0e1da86c
improvement(webcam): refine webcam controls (#20374) 2024-06-04 14:10:16 -03:00
Gustavo Trott
b88854835c
Handling Validations and Error Reporting in bbb-graphql-actions (was in Hasura) (#20308) 2024-05-21 16:11:17 -03:00
Anton Georgiev
93e298910b
chore: Reword away, back from "away" mode 2024-05-15 06:58:27 -04:00
prlanzarin
983b8a85cf fix(audio): improve help modal for listen only scenarios
The audio troubleshooting modal has very microphone-specific strings,
which might confuse users trying to join listen only.

Review the Help screen so that listen only scenarios are more generic.
As a bonus, review the unknownError locale with a more actionable text.
2024-05-03 21:41:06 +00:00
prlanzarin
a3a1245078 fix(audio): review audio modal help screen
- Adds a new Help view for unknown error codes
- Correctly detect NotAllowedError (permissions) - they are currently
  being treated like unknown errors in the Help modal
- Rephrase NotAllowedError help text; make it more succint and direct
- Rephrase the unknown error help text; make it more succint and direct
  - Add error code and message to that view
- Add public.media.audioTroubleshootingLinks to allow referencing KB
  links on the Help modal
  - See inline docs
2024-05-03 20:50:03 +00:00
Ramón Souza
8f93792bde Merge remote-tracking branch 'upstream/v3.0.x-release' into away-mode 2024-04-24 11:20:08 -03:00
Ramón Souza
d1bb7b685e change audio button labels based on away status 2024-04-23 15:29:11 -03:00
Ramón Souza
495fbf41a2 move away to reactions button 2024-04-23 14:56:23 -03:00
Tainan Felipe
abba1e26c6 Merge remote-tracking branch 'upstream/v3.0.x-release' into PR_19324 2024-04-17 21:51:39 -03:00
Tainan Felipe
d496277313 Refactor: breakout join and left for moderator 2024-04-17 16:46:50 -03:00
André
c6427fdfc7 Client: Drop the accessibility warning for downloadable slides with annotation 2024-04-16 10:18:30 -03:00
Ramón Souza
5512990a54
Merge pull request #19174 from Scroody/rename-songs
refactor: rename Songs to Music in BBB Timer
2024-04-09 10:34:38 -03:00
Tainan Felipe
e3ca2a5b3d
Merge branch 'v3.0.x-release' into remove-pick-random-user 2024-03-26 09:43:45 -03:00
Ramón Souza
788cf799f7
refactor: make bbb client work without meteor service (partial) (#19869) 2024-03-21 16:41:32 -03:00
Gustavo Trott
e63af145b3
Akka-apps finishes all pending meeting in graphql on restarting (#19867) 2024-03-21 10:15:47 -03:00
Tainan Felipe
3105bee74b Merge remote-tracking branch 'upstream/v3.0.x-release' into PR_19785 2024-03-20 11:59:45 -03:00
André
ec718ea43e Port: Changes to layout toast's workflow 2024-03-18 15:33:37 -03:00
Tainan Felipe
789da5c064 Refactor: Remove pick random user 2024-03-12 20:01:12 -03:00
André Castro
58a0efe708
Migrate auth and settings to graphQL (#19507) 2024-03-06 14:28:18 -03:00
Ramón Souza
42bf163fb8 fix missing strings 2024-02-27 14:45:59 -03:00
Ramón Souza
4f6d5f368b
Merge pull request #19621 from Scroody/poll-answer-verification
Client: Poll answer verification
2024-02-26 14:20:37 -03:00
Ramón Souza
a813624f01
Merge pull request #19177 from Scroody/issue-12614
feat: leave meeting button
2024-02-23 14:13:01 -03:00
André
6e793d0349 Client: Poll answer verification 2024-02-13 15:35:05 -03:00
André
21d45e7484 merge 2024-02-07 13:37:20 -03:00
danielpetri1
35fe69a8db Remove dead code 2024-02-06 15:41:02 +01:00
André
eeeaca7fc5 Requested changes 2024-02-06 10:45:23 -03:00
André
a622ce6265 Labeless leave meeting applied and also tweaks 2024-02-06 10:12:25 -03:00
André
0715337257 Variable name swapping and requested changes 2024-02-05 11:18:31 -03:00
André
e24ac4094e Merge remote-tracking branch 'upstream/v3.0.x-release' into issue-12614 2023-11-27 14:41:23 -03:00
Ramón Souza
8eb49a0887 feat: leave meeting button 2023-11-20 13:30:07 -03:00
Anton Georgiev
97faafa97c refactor: Add a toast warning you that your webcam is still streaming… 2023-11-20 13:04:30 -03:00