Commit Graph

816 Commits

Author SHA1 Message Date
Max Franke
740ff53fb5 feat(streaming): bot's default avatar
Set a default avatar to bot. Add the defaults methods to handle
the new feature.
2024-10-18 17:08:39 -03:00
Arthurk12
8697de71e8 feat(bot): bypass max participants limit for bot users
Adjust the maximum participants logic to exempt bot users from being
counted towards the participant limit.
2024-10-17 17:43:34 -03:00
Arthurk12
86ea21e52b feat(akka): join param to flag user as bot
Introduces new join parameter `bot` to flag users as bot.
2024-10-16 12:30:02 -03:00
Gustavo Trott
a52586f217
refactor (bbb-web): Add more info for Removed User Session. (#21436)
* bbb-web: Add more info for Removed User Session.
Includes fullname, userExtId and meetingExtId, that will be useful for integrations.

* fix userId prop name when fetching from removedUserSession
2024-10-15 09:07:21 -03:00
Gustavo Trott
1eeff8d142
Merge pull request #21368 from GuiLeme/new-server-side-architecture
refactor (plugins): Read plugins configs from a manifest file instead of client settings
2024-10-14 17:20:52 -03:00
Gustavo Trott
bc2a72bd3d
Fix checkAuth Headers for removed users
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-10-14 16:13:28 -03:00
Gustavo Trott
f3c03fbc44 Include more useful headers for endpoint /checkGraphqlAuthorization
it is useful when the application that requires authorization wants to inject user information to the request
it can be an integration with a third party applicaton and it will require to receive user-external-is and meeting-external-id
it can also validate if the requester is moderator or presenter, so now it includes user-is-moderator and user-is-presenter headers
2024-10-14 14:34:40 -03:00
Paul Trudel
62e2f396cb
feat(API): Add file scanning to presentation upload (#21217)
* Add ClamAV file scanning

* Add file uploade virus message and event

* Add file virus message to front end

* Delete bigbluebutton-html5/.meteor/local/build/programs/web.browser/app/app.js

* Add error message to locale

* Fix typo in frontend error message

* Remove malicious file after detection

* Add property to enable/disable file scanning

* Create and send new message when file scanning fails

* Readd space in prop file

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

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

---------

Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>
2024-10-03 16:30:38 -04:00
Gustavo Trott
e70f18be6b
Merge branch 'v3.0.x-release' into clone-user-session 2024-09-26 13:32:22 -03:00
schrd
5a8217caa9
3.0beta1 clusterfixes (#21132)
* Fix: allow CORS requests to graphql API

In cluster setups the Graphql API endpoints are fetched as a CORS
request. We need to allow that.

* Fix: Allow CORS requests to ping endpoint

In cluster setups the ping is sent directly to the BBB server. So it
needs to allow CORS requests for cluster setups.

* Fix: construct relative API path for cluster setups

* Fix: adjust docs for cluster setup

As bbb-html5 client is static, setup instructions for cluster setup have
to be changed accordingly.

* Fix docs: remove superfluous  ```yaml

This must have been introduced by accident.

---------

Co-authored-by: Daniel Schreiber <daniel.schreiber@hrz.tu-chemnitz.de>
2024-09-25 13:48:17 -04: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
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
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
Paul Trudel
01fb610e16 Remove enter API validation logic 2024-07-30 20:42:40 +00:00
Gustavo Trott
25857dc509 Remove endpoint /enter of bbb-web 2024-07-11 11:14:46 -03:00
Gustavo Trott
2c2d595212 Big refactor on Graphql authentication 2024-07-10 18:30:01 -03:00
Gustavo Trott
a65da0712b validate if session exists 2024-07-03 10:32:05 -03:00
Gustavo Trott
a21dcb5818 Introduces /api/feedback endpoint (to replace Meteor /feedback) 2024-07-03 10:12:28 -03:00
schrd
64e43e4331
fix(core): 3.0 cluster setup (#20439)
* Add graphql API endpoint to BBB API

This parameter will be required for the HTML5 client to discover the API
endpoint of the GraphQL API so it can fetch its settings.

* Fix: ensure API calls are headed towards the BBB Server

In a cluster setup the URL that is visible in the browser is different
from the URL of the BBB Server.

The clients needs to contact the BBB server to retrieve information
about the graphQL websocket and the graphql API.

This patch adds the GraphQL API endpoint to the BBB API and changes the
Client to use it.

* Make GraphQL API endpoint configurable

The default value should work for single node and cluster setups

* Update docs to reflect changes required by cluster setup

* fix eslint and typescript errors

* Fix cluster setup docs

- add missing parts for hasura
- use consistent domain example.com

* rename variable

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

* rename variable

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

* rename variable

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

* Update bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy

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

* Update bigbluebutton-web/grails-app/conf/bigbluebutton.properties

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

---------

Co-authored-by: Daniel Schreiber <daniel.schreiber@hrz.tu-chemnitz.de>
Co-authored-by: Gustavo Trott <gustavo@trott.com.br>
2024-06-17 14:26:13 -04:00
Gustavo Trott
81d30480bd
feature: Introduces API /sendChatMessage endpoint (#20323)
* feature: Introduces API /sendChatMessage endpoint

* only allow GET requests for sendChatMessage

---------

Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>
2024-06-06 15:49:52 -04:00
Anton Georgiev
c5015aceaf
fix: only allow POST for insertDocument in UrlMappings.groovy (#20431) 2024-06-06 12:10:14 -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
Paul Trudel
abeb140874 Restrict supported HTTP method types on endpoints 2024-05-16 13:52:43 +00:00
Paul Trudel
7d2dcb0434 Remove support for join POST requests and fix checksum calculation for POST requests 2024-05-16 13:52:24 +00:00
Paul
babdb5dd9a Added request content type validation 2024-05-16 13:32:46 +00:00
Paul
e329dbec1a Check for pressence of query and body 2024-05-16 13:28:49 +00:00
Anton Georgiev
58cdb75c45 refactor: remove html5InstanceId 2024-05-01 12:53:11 -04:00
Gustavo Trott
ef4773e9e6 Introduces learningDashboard-AccessToken through Graphql 2024-02-20 14:55:54 -03:00
Gustavo Trott
3e72e2d082
Introducing Session Persistence Post-Meeting (#19534)
* Add Session Cleanup Delay Configuration After Meeting End

* Makes 60minutes as default sessionsCleanupDelayInMinutes
2024-02-05 11:31:31 -03:00
Anton Georgiev
7c10f49f4a fix(sec): filter tags in presentation name 2024-01-19 15:42:38 -05:00
Gustavo Trott
462a8702d4
refactor(graphql-server): makes Graphql provide authToken (making /api/enter unnecessary) 2024-01-18 13:01:16 -03:00
Gustavo Trott
5779bc0410
Add a new config graphqlWebsocketUrl in bbb-web.properties (#19433) 2024-01-15 14:12:06 -03:00
Gustavo Trott
c04e6d19e0
refactor (graphql-server): Optimize Hasura Queries with Session Variables (#19347) 2024-01-09 08:31:12 -03:00
Tiago Jacobs
8e1b9b1331 Add redirect and excludeFromDashboard as parameters that can be specified by moderators on getJoinUrl 2023-11-28 14:07:01 -03:00
Tiago Jacobs
c86cc1bad2 Add more options to getJoinUrl API, allowing moderators to create join URL's for other users, and also pass userdata parameters. 2023-11-28 12:55:56 -03:00
Gustavo Trott
b710a3386d Apply encodeString() on the param 2023-11-21 13:40:25 -03:00
Gustavo Trott
d3c02cb0fd Support param enforceLayout on Api /getJoinUrl 2023-11-21 11:53:53 -03:00
Gustavo Trott
9532d68bad Add new JOIN param enforceLayout 2023-11-20 11:53:53 -03:00
Paul Trudel
b38641ecb5 fix (bbb-web): Null pointer exception when parent meeting does not exist 2023-11-16 09:44:55 -03:00
Gustavo Trott
6dc3dbb1fe
Merge pull request #19104 from gustavotrott/graphql-user-join-action
graphql: New User Flow for Joining Meetings via GraphQL
2023-11-15 09:16:02 -03:00
Gustavo Trott
7c0a1649d7
Merge pull request #19129 from Scroody/fix_isbreakout_api
fix: check for presence of parentMeetingID if isBreakout is true
2023-11-15 08:34:22 -03:00
Gustavo Trott
57aab3d049 Fix hasPresentationUrlInParameter 2023-11-14 13:21:33 -03:00
Jan Kessler
bd7d956ec9 fix: check for presence of parentMeetingID if isBreakout is true 2023-11-14 13:12:29 -03:00
Guilherme Pereira Leme
6af3d4fae0 feature (api): Add preUploadedPresentation param to API's /create via GET 2023-11-13 13:16:02 -03:00
Gustavo Trott
5f0a1aa339 Let user join the meeting using Graphql actions 2023-11-10 17:36:10 -03:00
Gustavo Trott
8f0ecf2d63 Insert presentation on UploadTokenReq 2023-11-01 11:38:19 -03:00
Guilherme Pereira Leme
4ef078ccf5
feature: Override client settings through API /create call (#18782)
* akka-with-client-configs

* [akka-with-client-configs] -  inserted client configs in akka

* [issue-18588-create-override] - WIP

* [akka-with-client-configs] - Remove unnecessary code

* [issue-18588] - test some thesis

* [akka-with-client-configs] - refactor to add jackson and immutable.Map

* [issue-18588-create-override] - new architecture for overriding client configs]

* [issue-18588-create-override] - implemented settings

* Refactor on clientSettingsOverride module and add allowOverrideClientSettingsOnCreateCall conf

---------

Co-authored-by: Gustavo Trott <gustavo@trott.com.br>
2023-10-10 21:00:20 -03:00
Gustavo Trott
524443c4c3 graphql: Apply hideViewerCursor and hideViewersAnnotation 2023-10-03 11:53:47 -03:00
Gustavo Trott
0771bf7c29 Update Go and Hasura versions 2023-07-18 15:03:37 -03:00
Gustavo Trott
5681e88c60 Merge 2.7 into Develop 2023-06-26 17:21:01 -03:00