Commit Graph

353 Commits

Author SHA1 Message Date
Gustavo Trott
e70f18be6b
Merge branch 'v3.0.x-release' into clone-user-session 2024-09-26 13:32:22 -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
02bdd3c703 Renames the param Revoke to Replace, once it will better explain the reason the previous session is being invalidated
Starts supporting the param enforceLayout, a subsequent PR will finish and document it
Starts supporting user-session-metadata, a subsequent PR will finish and document it
2024-09-24 09:40:00 -03:00
Gustavo Trott
e92293993a Merge remote-tracking branch 'upstream/v3.0.x-release' into clone-user-session 2024-09-18 10:05:04 -03:00
Gustavo Trott
4570bb477d
Merge pull request #21151 from gustavotrott/gql-configs-tweaks
refactor (build/gql-server): Moves the Hasura admin password file and drop netstat
2024-09-11 10:17:05 -03:00
Gustavo Trott
3e13ba7d36 netstat is old, not used anymore. ss is the natural replacement. Very similar syntax
Danimo recommendation
2024-09-10 15:24:32 -03:00
Ramón Souza
0a6dac83b5 adjusts backend so chat lock is ignored for moderators 2024-09-09 13:46:08 -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
4ea48b3333 This update allows duplicating a user session via the getJoinUrl endpoint. The generated link will create a new sessionToken while retaining the same userId. This setup enables two devices be represented as a single user on the user list, making it particularly useful for scenarios like transferring a session from a computer to a mobile device.
Additionally, the mobile app can use this feature to render the whiteboard inside an iframe with the same `userId`.

By setting the parameter `revokePreviousSession=true`, a new `sessionToken` will be generated, and the previous session will be revoked when the new device connects. This is useful for transferring a session to another device and automatically closing the previous session.
2024-09-04 21:22:49 -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
0cf7c90663
Merge pull request #20736 from gustavotrott/remove-user_connection_auth
remove (gql-server): Removes old PG user/tabled created for Meteor auth
2024-07-19 13:40:26 -03:00
Gustavo Trott
f158951257
remove (gql-server): Removes /rest/clientStartupSettings endpoint (#20735) 2024-07-19 11:30:16 -04:00
Gustavo Trott
7e0295d0a9 Removes old PG user/tabled created for Meteor auth 2024-07-19 11:38:46 -03: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
91ee80f6e8
Merge pull request #20698 from gustavotrott/improve-v_user_voice
refactor (gql-server): Remove unnecessary user voice props
2024-07-12 14:43:11 -03:00
Gustavo Trott
b14c643def
build(gql): Upgrade Hasura and refactor sh scripts (#20699) 2024-07-12 13:32:20 -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
Tainan Felipe
0e7fe3c688
Change: improve client connection status (#20630) 2024-07-04 17:26:09 -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
Gustavo Trott
de686a2b8e
Merge pull request #20461 from GuiLeme/update-data-channel-function
feat(plugin): implement `ReplaceEntry()` function for data-channel
2024-06-19 08:36:34 -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
Gustavo Trott
72b8f6c32e fix warning client not responding when he actually left the meeting 2024-06-18 13:47:10 -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
Guilherme Leme
cb38192b6b [fix-caption-locale-subscription] - hasCaption will now search for the active caption locales. 2024-06-14 16:24:12 -03:00
Guilherme Leme
284753e6b9 [fix-caption-locale-subscription] - fix captionLocale subscription error 2024-06-13 15:47:54 -03:00
Gustavo Trott
78af6adbd6 Introduces meeting_componentFlags.hasCameraAsContent 2024-06-12 18:42:03 -03:00