Commit Graph

236 Commits

Author SHA1 Message Date
Gustavo Trott
3fb6dd71d2 Edit graphql type UserCamera to suport either camera or screenshare
Add fields:
	contentType: to identify whether is camera or screenshare
	hasAudio: useful for screenshare
	focused: indicates if this screenshare will be shown in presentation area
2024-10-01 14:39:48 -03:00
João Victor Nunes
e43b1e454b
fix(timer): beep failing to play intermittently (#21222)
* fix(timer): beep failing to play intermittently

* fix(typescript): omit elapsed field from timer panel props
2024-09-25 15:42:16 -04:00
Gustavo Trott
439f0486f7 Introduce an endpoint /api/rest/clientSettings that will be used by the client to fetch userdata info before creating a graphql connection.
It is necessary to fetch props bbb_custom_style and bbb_custom_style_url.
2024-09-25 11:53:02 -03:00
Gustavo Trott
96f9325ef2 Add userLockSettings to allow disablePublicChat for individual users
This commit introduces `userLockSettings`, which includes an option to set `disablePublicChat` for specific users, rather than only for all locked viewers as before. This implementation covers the backend and GraphQL portions; the frontend changes will be addressed in a separate PR.

This is a port of #20585, originally implemented for version 2.7 using the old architecture with MongoDB.
2024-09-05 18:04:25 -03: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
Átila
c48e93e00c
feat(darklogo): port customDarkLogo (#20922) 2024-08-21 14:58:32 -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
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
f158951257
remove (gql-server): Removes /rest/clientStartupSettings endpoint (#20735) 2024-07-19 11:30:16 -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
Gustavo Trott
1683f4c3fe
refactor: Rename all customParameters references to userMetadata or userdata (#20692)
* Rename all customParameters references to userMetadata

* fix linter error

* Update docs/docs/development/api.md

Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>

* Update bigbluebutton-html5/imports/ui/components/settings-loader/component.tsx

---------

Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>
2024-07-16 13:40:49 -04:00
Gustavo Trott
fda1b5b107 Remove unnecessary user voice props 2024-07-12 13:26:26 -03:00
Gustavo Trott
2c2d595212 Big refactor on Graphql authentication 2024-07-10 18:30:01 -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
Gustavo Trott
134b207f94
refactor: Remove Hasura database-updates and move them to Gql-Actions (#20634) 2024-07-04 17:00:06 -03:00
KDSBrowne
687ee36d29 add functionality to enable infinite whiteboard 2024-07-03 17:14:47 +00:00
Gustavo Trott
4034750845
Update bbb-graphql-server/metadata/databases/BigBlueButton/tables/public_v_user_voice_activity.yaml 2024-06-25 17:52:36 -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
Tainan Felipe
c73c9cc0a7 Merge remote-tracking branch 'upstream/v3.0.x-release' into PR_20477 2024-06-24 09:58:20 -03:00
João Victor
17b734e642 refactor(core-html5): custom hooks for voice data 2024-06-21 18:45:05 -03:00
Gustavo Trott
25793d1911 fix wrong filter 2024-06-21 08:57:15 -03:00
Gustavo Trott
1465d3dca3
refactor (gql-server): Set some configs for Max PG connections and Nginx max workers aiming to support more users (#20549)
* Set hasura max connections with pg to 100

* set nginx worker_connections from 4k to 10k

* Update bbb-graphql-server/metadata/databases/databases.yaml

* remove deprecated config

* set pg max connections up to 300

---------

Co-authored-by: Tiago Jacobs <tiago.jacobs@gmail.com>
2024-06-20 16:41:47 -03:00
Gustavo Trott
3402edcb5b
Introduce gql user_voice_activity_stream (#20557) 2024-06-20 14:33:11 -03:00
Guilherme Leme
1d9b28133e [update-data-channel-function] - change sender to creator naming in data-channel 2024-06-18 17:46:17 -03:00
Guilherme Leme
8a04c8a4aa Merge remote-tracking branch 'upstream/v3.0.x-release' into update-data-channel-function 2024-06-18 13:42:34 -03:00
Gustavo Trott
a27cd6cdb2
Merge pull request #20518 from GuiLeme/plugin-server-commands
feat(plugins): new server-command for typed-captions plugin
2024-06-18 13:33:16 -03:00
Gustavo Trott
07aa4f1d04
fix: Refactor Userlist Ordering (#20520) 2024-06-18 11:11:59 -03:00
Guilherme Leme
41eb2c34e3 [update-data-channel-function] - merge upstream 2024-06-18 10:25:02 -03:00
Guilherme Leme
8db3a6be80 [plugin-server-commands] - added server-command caption save and add a captionLocale 2024-06-18 09:20:35 -03:00
Dennis Benz
c8e2d8b239 Resolve conflicts 2024-06-17 10:47:41 -03:00
Gustavo Trott
78af6adbd6 Introduces meeting_componentFlags.hasCameraAsContent 2024-06-12 18:42:03 -03:00
Gustavo Trott
ad2d12b19b
Merge pull request #20475 from gustavotrott/gql-improve-breakout-performance
refactor: BreakoutRoom storage and handlers
2024-06-12 18:09:16 -03:00
Gustavo Trott
e86aeac114 refactor breakoutroom storage 2024-06-12 16:21:31 -03: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
Guilherme Leme
322a04b845 resolve conflicts 2024-06-10 17:41:06 -03:00
Guilherme Leme
ba74a41fd2 [update-data-channel-function] - (WIP) Initial work 2024-06-10 11:32:48 -03:00
Gustavo Trott
ab542a458e make reactionEmoji part of user table (optimizing performance) 2024-06-10 09:48:38 -03: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
Guilherme Pereira Leme
bbf43f1e55
feat(html5): Added captionLocale property and related logic (#20272)
* [captionLocale] - added captionLocale

* [captionLocale] - changes in review

* [captionLocale] - Added new mutation captionAddLocale and removed captionSetOwner

* [captionLocale] - add action validation

* [captionLocale] - Changes in review

* [captionLocale] - fix update of graphql server

* [captionLocale] - merge conflicts
2024-06-03 16:14:32 -04:00
Gustavo Trott
fd3071c28a
Refactor (gql-middleware): Introduces clientSessionUUID and validations (error handling) (#20353) 2024-05-29 17:43:17 -03:00
Ramón Souza
3a015e1e99
Merge pull request #20203 from JoVictorNunes/chat-dropdown-skeleton
fix(chat): add loaders for dynamic menu items
2024-05-20 15:44:38 -03:00
Gustavo Trott
1ada232f7e remove unnecessary field for Timer 2024-05-15 11:37:26 -03:00
João Victor
c3da6cad8b fix(chat): use data from core hooks 2024-05-09 15:20:24 -03:00
Anton Georgiev
628c3bb32b
Merge pull request #20132 from antobinary/html5-pack-30
refactor/build: drop html5InstanceId and simplify bbb-html5 frontend/backend
2024-05-08 10:04:37 -04:00
Gustavo Trott
d74db21037 Set postgres host as 127.0.0.1 instead of localhost 2024-05-07 10:16:14 -03:00
Gustavo Trott
ea82508b5d introduces a nginx cache for /api/rest/(clientStartupSettings|clientSettings) 2024-05-03 10:27:26 -03:00