Commit Graph

1413 Commits

Author SHA1 Message Date
germanocaumo
e992862e40
update(chat): add option to disable private chat (#21459)
* update(chat): add option to disable private chat

- Adds `public.chat.private` to settings.yml, defaults to true
- Adds `privateChat` to disabledFeatures

* backend validation for disabledFeatures=privateChat

* refactor(settings): remove chat.private from settings.yml

Will be kept only in disabledFeatures

---------

Co-authored-by: Gustavo Trott <gustavo@trott.com.br>
2024-10-25 13:40:10 -04:00
Paul Trudel
03a6901e52
fix(bbb-web): Make all document processing timeouts configurable (#21467)
* Add new timeout props  for document conversion

* Add timeout config props to bbb

* Fix typo in pdfPageDownscaleExecTimeout property

* Specifiy time units in property names
2024-10-24 21:16:24 -04:00
Anton Georgiev
2df71b568a
[3.0]docs: clarify on LAD default value comment (#21519) 2024-10-24 09:27:07 -04:00
Ramón Souza
8daeafeb0d
Merge pull request #21480 from Arthurk12/bbb/30/21463
feat: introduces join parameter to flag user as `bot`
2024-10-22 17:32:13 -03:00
Guilherme Pereira Leme
a9e0e872b1
feat(akka): Plugin Js relative entrypoint and refactor of pluginManifests parameter (#21485)
* [js-relative-endpoint-refactors] - Added relative js entrypoint - just the name and extension

* [js-relative-endpoint-refactors] - Changes name and references of  to  and adapt all the rest.

* [js-relative-endpoint-refactors] changes in review
2024-10-21 11:27:31 -04:00
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
40c00f8739 Introduces a config pluginsManifests to bigbluebutton.properties.
e.g pluginsManifests=[{url: "https://plugin_manifest.json"}]
it will be merged with the parameters received through /create?pluginsManifests=
2024-10-14 14:37:32 -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
Átila
c48e93e00c
feat(darklogo): port customDarkLogo (#20922) 2024-08-21 14:58:32 -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
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
Dennis Benz
c8e2d8b239 Resolve conflicts 2024-06-17 10:47:41 -03: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
Ramón Souza
2760f5af4c add new layouts to bigbluebutton.properties 2024-05-10 11:22:59 -03:00
Anton Georgiev
a441d70226
Merge branch 'v3.0.x-release' into docs-layout 2024-05-09 22:13:38 -04: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
7975ca02d0 Change graphql endpoint 2024-05-08 08:46:14 -03:00
Anton Georgiev
58cdb75c45 refactor: remove html5InstanceId 2024-05-01 12:53:11 -04:00
Anton Georgiev
1609c295e0
Update bigbluebutton-web/grails-app/conf/bigbluebutton.properties 2024-03-27 20:01:17 -04:00
Anton Georgiev
201e35da3f WIP: document allowOverrideClientSettingsOnCreateCall 2024-03-27 16:54:33 -04:00
Anton Georgiev
ef300cf28e
chore: Fix typo (found by typos) (port) #19834
Co-authored-by: Stefan Weil <sw@weilnetz.de>
2024-03-18 09:58:53 -04:00
Gustavo Trott
ef4773e9e6 Introduces learningDashboard-AccessToken through Graphql 2024-02-20 14:55:54 -03:00
Gustavo Trott
970fa5c858 Add option disabledFeatures=learningDashboardDownloadSessionData 2024-02-14 10:16:31 -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