* 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>
* Add new timeout props for document conversion
* Add timeout config props to bbb
* Fix typo in pdfPageDownscaleExecTimeout property
* Specifiy time units in property names
* [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
* 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>
* 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>
Only record media (microphone, webcams and screens) while meeting is
being actively recorded (ie an user has enabled recording in the
conference). If the conference's recording is paused, media capture will
stop as well (with appropriate recording events).
A bigbluebutton.properties/API#create parameter called
`recordFullDurationMedia` is added to control this behavior. The default
is false (only capture while recording is active). Setting it to `true`
enables the current (legacy) behavior: always capture media if the
meeting's `recorded` prop is true.