Commit Graph

244 Commits

Author SHA1 Message Date
KDSBrowne
64c9cf6a69
feat: Add Support For Audio Push To Talk (#21032)
* add push to talk

* fix setting toggle

* typescript errors
2024-08-29 11:54:27 -03:00
André Castro
5248b14ca3
Client: Add ms suffix to RTT values in logs (#21055) 2024-08-29 11:52:32 -03:00
Anton Georgiev
2c42f143a6
Merge pull request #20936 from prlanzarin/u30/refactor/rem-cli-serverlogs-html5
refactor: remove bbb-html5's server logger and client-to-server Meteor log target configs
2024-08-28 16:45:39 -04:00
Gustavo Trott
af06562e02 Introduce flag currentlyInMeeting (replacing isOnline) 2024-08-28 11:08:30 -03:00
João Victor Nunes
fe67566334
[3.0] feat: Accept custom webcamBackgroundURL (#20920)
* [3.0] feat: Accept custom webcamBackgroundURL

* docs: webcamBackgroundURL

* test: Update virtual background thumbnail image

* fix: tweak error logs for the webcamBackgroundURL fetching procedure

* test: Update virtual background thumbnail image

* fix(logging): do not specify null extraInfo object

Co-authored-by: Paulo Lanzarin <4529051+prlanzarin@users.noreply.github.com>

* fix(logging): extract fields from error object for building extraInfo object

Co-authored-by: Paulo Lanzarin <4529051+prlanzarin@users.noreply.github.com>

---------

Co-authored-by: Paulo Lanzarin <4529051+prlanzarin@users.noreply.github.com>
2024-08-23 09:04:56 -03:00
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
Ramón Souza
7c62352079
Merge pull request #20958 from JoVictorNunes/pure-voice-activity-hooks
fix: prevent the whole client from rerendering on voice activity
2024-08-16 09:47:57 -03:00
João Victor
b2adf9ad15 fix(voice): keep voice activity hooks pure by skipping state update when applicable 2024-08-15 09:13:12 -03: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
7a95258621 refactor: remove server logger from bbb-html5's settings
Support for bbb-html5's server logger (Winston) was removed in
50d445f026, but configuration for it
remained.

Remove the Winston-based server logger configuration from bbb-html5's
settings.yml. There's no direct alternative since this package hasn't got a
server side component to it - replaced by bbb-graphql-middleware,
bbb-graphql-server and bbb-graphql-actions.
2024-08-14 18:48:45 +00:00
prlanzarin
814204d5fd refactor: remove "server" target from bbb-html5's clientLog
Support for clientLog's "server" target (Meteor) was removed in
50d445f026, but configuration and docs
entries for it remained.

There's no alternative for it, so I'm removing the leftover
configuration and doc entries.
2024-08-14 18:42:05 +00:00
Ramón Souza
865032895a
Merge pull request #20886 from ramonlsouza/away-audio-flag
add config flag to mute audio output on away mode
2024-08-12 10:05:13 -03:00
Tainan Felipe
4d6f4b3ded
Refactor: Make bundle using webpack (#20811)
* Refactor: Make bundle using webpack

* Fix: restore after install codes and a few settings

* Fix: build script folder permission

* Refactor: Remove support to async import on audio bridges

* Upgrade npm using nvm

* Avoid questions on npm ci execution

* Let npm ci install dev dependencies (as we need the build tools here)

* Fix: enconding

* Fix: old lock files

* Remove: bbb-config dependency to bbb-html5 service, bbb-html5 isn't a service anymore

* Fix: TS errors

* Fix: eslint

* Fix: chat styles

* npm install with "lockfileVersion": 3 (newer npm)

* build: allow nodejs 22

* node 22; drop meteor from CI and bbb-conf

* TEMP: use bbb-install without mongo but with node 22 and newer image

* build: relax nodejs condition to not trip 22.6

* build: ensure dir /usr/share/bigbluebutton/nginx exists

* init sites-available/bbb; drop disable-transparent-

* nginx complaining of missing file and ;

* TMP: print status of services

* WIP: tweak nginx location to debug

* Fix: webcam widgets alignments

* akka-apps -- update location of settings.yml

* build: add locales path for nginx

* docs and config changes for removal of meteor

* Fix: build encoding and locales enpoint folder path

* build: set wss url for media

* Add: Enable minimizer and modify to Terser

* Fix: TS errors

---------

Co-authored-by: Tiago Jacobs <tiago.jacobs@gmail.com>
Co-authored-by: Anton Georgiev <anto.georgiev@gmail.com>
Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>
2024-08-09 13:58:44 -04:00
Ramón Souza
f150d92bde rename param 2024-08-09 11:20:58 -03:00
Ramón Souza
3907293692 add muteSpeakerIfAway config 2024-08-09 09:54:34 -03:00
Arthur B. Grossi
d2132484b4
feat(plugins): server command send chat message (#20781)
* feat(plugins): add chat server command and chat message type `plugin`

This commit adds the required code for the plugins SDK's chat server
command `CHAT_SEND_MESSAGE`, which allows plugins to send chat
messages. Messages sent by plugins are identified by the message
type `plugin` and belong to the user (senderID) of the client that
sent it. Plugin messages are not displayed by the client itself because
these messages are meant to be custom-rendered by plugins, typically by
the plugin that sent them.

* feat(plugins): add message metadata

Plugin name and plugin custom metadata are stored in message's metadata,
so plugins need it to identify messages when applying custom render.

* feat(chat): removes specific code for plugin messages

Removes specific akka messages, handlers and routes for plugin messages
and adds metadata parameter in `GroupChatMsgFromUser`.

* feat(chat): adds option parameter to mutation

Adds optional parameter `metadata` to the already existing mutation
`chatSendMessage` and use this mutation for plugin chat server command.

* feat(chat): rendering of plugin messages

This commit implements the correct rendering of plugin messages, which
is:
- Plugin messages with metadata attribute `custom` set to true are not
  rendered by the client, and are meant to be custom-rendered by
  plugins.
- Plugin messages with metadata attribute `custom` set to false are
  rendered by the client as being sent by the user that triggered it.

* Update sdk version to v0.0.56

* update sdk version to v0.0.57
2024-08-07 15:59:30 -04:00
Ramón Souza
8689a0d961 introduce allowUploadNewDocsInBreakouts in settings.yml 2024-08-05 10:56:10 -03:00
Ramón Souza
d3406a2e93
refactor: remove instanceId from client (#20850) 2024-08-02 14:10:39 -04:00
prlanzarin
24ae746a88 fix(connection-status): jitter causes false positive critical alerts
Jitter evaluation, as an alert trigger, was changed in 3.0 to get the internal
average jitter used in the conn-status component data (which is total jitter
delay divided by jitterbuffer emit events). This was done accidentally and that
metric is _very_ different from the one used in 2.7 (point-in-time jitter from
remote-inbound-rtp/inbound-rtp, highest on the interval, gathered on
/utils/stats.js).  The alert thresholds were preserved, which makes it overly
sensitive in regards to jitter (and thus causes it to be critical whenever the
user is in audio).

Remove jitter as a connection status alert trigger, which fixes the
false positive. The implementation on <= 2.7 is also not ideal - if
anything, it generates false negatives. That's why I'm removing jitter for
the time being since it's ill-suited (at least in the way it's used)
for what we want to achieve.
2024-07-30 18:59:49 +00: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
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
Ramón Souza
8299c38305
Merge branch 'v3.0.x-release' into bbb-20650 2024-07-15 15:29:44 -03:00
Gustavo Trott
fda1b5b107 Remove unnecessary user voice props 2024-07-12 13:26:26 -03:00
João Victor
fbe8310d23 fix(connection-status): add initial variables for audio and video 2024-07-10 13:46:44 -03:00
Gustavo Trott
cdac0aba32
Merge pull request #20664 from Tainan404/add-base-url-util
Add: base url util for api
2024-07-08 16:10:31 -03:00
Tainan Felipe
5f0995b80f Remove: cluster support in util 2024-07-08 14:56:42 -03:00
Tainan Felipe
284fed2137 Add: base url util for api 2024-07-08 14:14:30 -03:00
Ramón Souza
b47dcf58bd
Merge pull request #20642 from JoVictorNunes/fix-stuck-talking-indicator-0705
fix: talking indicator getting stuck on audio exit
2024-07-08 10:54:33 -03:00
KDSBrowne
a6f3d02f18 add configuration to disable infinite wb in breakouts 2024-07-06 17:36:21 +00: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
João Victor
41746ca67e Merge branch 'v3.0.x-release' into remove-meteor-stuff-0702 2024-07-05 12:24:31 -03:00
João Victor
8f232656fa fix: talking indicator getting stuck on audio exit 2024-07-05 12:15:02 -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
João Victor
9402402e0f Merge branch 'v3.0.x-release' into remove-meteor-stuff-0702 2024-07-02 17:13:28 -03:00
João Victor
12f39c7cf7 Fix typings 2024-07-02 17:11:16 -03:00
João Victor
69d24bb880 refactor: add voice activity adapter 2024-07-01 11:08:31 -03:00
João Victor Nunes
0896d59264
fix: tweak useDeduplicatedSubscription hook to properly handle the skip option (#20471) 2024-06-27 13:37:06 -04:00
João Victor Nunes
9801905960
fix: improve the hooks of voice activity (#20589)
* fix: improve the hooks of voice activity

* Add check for users who haven't talked
2024-06-27 14:31:20 -03:00
André Castro
9128a2dde8
Refactor: Remove the old user status (reaction/emoji) (#20455)
* Refactor: Remove the old user status (reaction/emoji)

* Update settings.yml

* test: remove old user status testing code related

---------

Co-authored-by: Anton B <antonbsa.bck@gmail.com>
2024-06-26 15:40:18 -03:00
João Victor
78a188086d Remove useless condition 2024-06-25 17:21:34 -03:00
João Victor
7577dcc41c Use Hasura relationship instead of SQL join 2024-06-25 17:14:00 -03:00
João Victor
f4a2af7dc1 Merge branch 'v3.0.x-release' into use-who-is-talking 2024-06-25 16:54:44 -03:00
João Victor
f949aaba7d Fix sorting and cleanup 2024-06-25 16:54:12 -03:00
João Victor
09fe35b1f0 Merge branch 'v3.0.x-release' into use-who-is-talking 2024-06-24 11:31:13 -03:00
João Victor
9ed7b17285 Custom hook for talking indicators 2024-06-24 10:25:48 -03:00
Tainan Felipe
5d2bd11127 Change: use hasCameraAsContent flag on client 2024-06-24 10:09:30 -03:00
João Victor
17b734e642 refactor(core-html5): custom hooks for voice data 2024-06-21 18:45:05 -03:00
Tainan Felipe
cdbed56d21
Fix: cache notification and connection close (#20554) 2024-06-21 11:11:29 -03:00