Commit Graph

2021 Commits

Author SHA1 Message Date
schrd
2b76dca392
Fix CORS Headerr for rendered slides (#21361)
Slides are alwas requested cross domain in a cluster setup. There is no
authentication required for the slides, so we can just allow requests
from anywhere.

Co-authored-by: Daniel Schreiber <daniel.schreiber@hrz.tu-chemnitz.de>
2024-10-04 08:38:55 -04: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
Anton Georgiev
607499ada6
chore(core): upgrade embedded tomcat, grails-plugin-databinding (#21065) 2024-08-30 10:27:43 -04: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
Gustavo Trott
d545343752
nginx/html5: Introduce endpoint /bigbluebutton/ping for RTT calc (#20605)
* Introduce endpoint /html5client/ping for RTT calc

* Introduce endpoint /bigbluebutton/ping for RTT calc
2024-06-28 16:51:06 -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
c84b0a491b
Merge pull request #19816 from antobinary/march15-04
fix(sec): Update org.json:json
2024-03-18 10:04:00 -04:00
Anton Georgiev
cd5c92d027
fix(sec): Bump tomcatEmbed to 9.0.86 (#19814) 2024-03-18 10:02:58 -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
Anton Georgiev
860855cf69 fix(sec): Bump org.json:json 2024-03-15 12:12:11 -04:00
Anton Georgiev
5eace35d79
fix(sec): bump postgresql to 42.7.2 (#19663) 2024-02-23 20:11:36 -05: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
77e04f5afc
Merge pull request #19485 from antobinary/ports-03
chore(bbb-web): Upgrade Grails to 6.1 (port from 2.7)
2024-01-23 10:41:08 -05:00
Anton Georgiev
7c10f49f4a fix(sec): filter tags in presentation name 2024-01-19 15:42:38 -05:00
Paul Trudel
02f1fe686d Upgrade Grails to 6.1 2024-01-19 15:39:39 -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
Anton Georgiev
930e103bfc
Merge pull request #19138 from Scroody/spring-bump
chore: upgrade Spring to 2.7.17
2023-11-23 09:19:31 -05:00
Gustavo Trott
b710a3386d Apply encodeString() on the param 2023-11-21 13:40:25 -03:00