Commit Graph

474 Commits

Author SHA1 Message Date
prlanzarin
325887e325 feat(audio): rework audio join without listen only
This is a rework of the audio join procedure whithout the explict listen
only separation in mind. It's supposed to be used in conjunction with
the transparent listen only feature so that the distinction between
modes is seamless with minimal server-side impact. An abridged list of
changes:
  - Let the user pick no input device when joining microphone while
    allowing them to set an input device on the fly later on
  - Give the user the option to join audio with no input device whenever
    we fail to obtain input devices, with the option to try re-enabling
    them on the fly later on
  - Add the option to open the audio settings modal (echo test et al)
    via the in-call device selection chevron
  - Rework the SFU audio bridge and its services to support
    adding/removing tracks on the fly without renegotiation
  - Rework the SFU audio bridge and its services to support a new peer
    role called "passive-sendrecv". That role is used by dupled peers
    that have no active input source on start, but might have one later
    on.
  - Remove stale PermissionsOverlay component from the audio modal
  - Rework how permission errors are detected using the Permissions API
  - Rework the local echo test so that it uses a separate media tag
    rather than the remote
  - Add new, separate dialplans that mute/hold FreeSWITCH channels on
    hold based on UA strings. This is orchestrated server-side via
    webrtc-sfu and akka-apps. The basic difference here is that channels
    now join in their desired state rather than waiting for client side
    observers to sync the state up. It also mitigates transparent listen
    only performance edge cases on multiple audio channels joining at
    the same time.

The old, decoupled listen only mode is still present in code while we
validate this new approach. To test this, transparentListenOnly
must be enabled and listen only mode must be disable on audio join so
that the user skips straight through microphone join.
2024-08-15 00:43:28 +00:00
Ramón Souza
32f42163fa
fix(client): add doctype + remove extra styles (#20911) 2024-08-12 17:36:41 -04: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
João Victor
a660672ff8 Merge branch 'v3.0.x-release' into webcam-patch-0724 2024-08-01 16:21:19 -03:00
Lucas Zawacki
e1ef241122 fix(icons): Restoring happy icon which is used for emojiPicker 2024-07-30 14:28:59 -03:00
João Victor
62662ee415 refactor(webcam): remove adapter; turn it into a hook 2024-07-30 09:35:47 -03:00
Ramón Souza
32ebf49cc5 restore timer icon 2024-07-25 13:55:51 -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
João Victor Nunes
1b99e08da7
refactor: remove /clientStartupSettings request (#20700)
* Remove clientStartSettings request

* Remove StartupDataFetch component

* Fix client logger
2024-07-16 10:40:13 -03:00
João Victor Nunes
54aeb7a9dc
refactor: remove remaining Meteor imports (#20602) 2024-06-28 16:44:14 -03:00
Ramón Souza
7514066fc3
fix: Client can't load in certain cases (#20336)
* move settings

* remove meteor cache files
2024-05-29 09:26:11 -04:00
Tainan Felipe
7829b6be8b Remove: singletons related to Meteor collection and subscriptions 2024-05-20 10:37:54 -03:00
prlanzarin
533c7e86dc fix(bbb-html5): add specific logCodes for root error boundaries
The ErrorBoundary component has a generic log message that is not
overridable and will aggregate errors from different components. The
ideal scenario is that log tags are configurable so that errors can be
filtered for in log post-processing.

Add the logMetadata: { logCode, logMessage } prop to the ErrorBoundary
component so that log tags are configurable. Default tags are
maintained.
Add specific log metadatas for the client startup error boundary
(logCode: 'app_startup_crash') and the user connection error boundary
(logCode: 'app_crash').
2024-05-03 15:27:17 +00:00
Tainan Felipe
5070d26c90 Merge remote-tracking branch 'upstream/v3.0.x-release' into code-removal 2024-05-01 09:58:01 -03:00
Tainan Felipe
210eb0911c Fix: add a adapters manager to lock loading while data sync 2024-05-01 08:38:12 -03:00
Tainan Felipe
7d7acb8a80 Remove: Breakout room unused code 2024-04-30 16:14:22 -03:00
Tainan Felipe
503fdf225b Remove: intl.jsx file 2024-04-30 13:38:32 -03:00
Tainan Felipe
29c67e76ed Remove: client subscriptions component 2024-04-26 10:33:20 -03:00
Tainan Felipe
7096620781 Remove: video stream meteor server files 2024-04-25 17:53:47 -03:00
Tainan Felipe
c2399fa5b3 Merge remote-tracking branch 'upstream/v3.0.x-release' into remove-meteor-server-dependencies-2 2024-04-25 16:41:14 -03:00
Ramón Souza
7247407e7d
Merge pull request #20061 from JoVictorNunes/remove-video-streams-collection
Remove old `video-streams` Meteor subscription
2024-04-25 16:38:17 -03:00
Tainan Felipe
ef31289a2c Remove: voice users meteor server files 2024-04-25 14:31:26 -03:00
Ramón Souza
f9dda13e93 remove addUserSettings makecall 2024-04-25 14:26:51 -03:00
João Victor Nunes
c53c2f49e4
Merge branch 'v3.0.x-release' into remove-video-streams-collection 2024-04-25 12:28:56 -03:00
Tainan Felipe
45862bf417 Merge remote-tracking branch 'upstream/v3.0.x-release' into migrate-user-settings 2024-04-24 17:21:03 -03:00
João Victor
1f8a95a3ff Remove video-streams subscription 2024-04-24 17:09:00 -03:00
Tainan Felipe
52b9f6166a
Remove: Pads, PadsSessions, PadsUpdates client subscriptions and dependencies (#20051) 2024-04-24 13:07:06 -03:00
Tainan Felipe
10443e1f40 Merge remote-tracking branch 'upstream/v3.0.x-release' into migrate-user-settings 2024-04-24 11:20:58 -03:00
Tainan Felipe
97393f6aa0 Fix: remove user-settings subscription 2024-04-24 11:18:58 -03:00
Anton Georgiev
23294ad71d
Merge pull request #20068 from Tainan404/remove-user-info
!remove: user-info collection
2024-04-24 10:15:33 -04:00
Ramón Souza
f131194d9c
Merge pull request #20071 from Tainan404/remove-presentation-upload-token
Remove: presentation upload token subscription
2024-04-24 11:03:20 -03:00
Ramón Souza
4cdef5a11c
Merge pull request #20072 from Tainan404/remove-multi-whiteboard
Remove: whiteboard-multi-user subscription
2024-04-24 10:07:20 -03:00
Tainan Felipe
e6c4e06c81 Merge remote-tracking branch 'upstream/v3.0.x-release' into remove-user-info 2024-04-24 09:13:59 -03:00
Tainan Felipe
c759a788a2 Refactor: migrate screenshare to graphql using a adapter 2024-04-23 23:58:10 -03:00
Tainan Felipe
9eaecca7c6 Remove: whiteboard-multi-user subscription 2024-04-23 18:09:19 -03:00
Tainan Felipe
f5fdc915cf Remove: presentation upload token subscription 2024-04-23 16:51:08 -03:00
Tainan Felipe
e80cc5a223 Remove: user-info collection 2024-04-23 14:38:07 -03:00
Tainan Felipe
d8195ba985 Remove: recording meeting collection 2024-04-23 11:58:33 -03:00
Tainan Felipe
3d9a0fc75e Remove: auth token validation code from frontend 2024-04-22 21:42:48 -03:00
Tainan Felipe
fd9845abba Remove: typed captions 2024-04-19 16:27:01 -03:00
Tainan Felipe
c45e3172c2 Remove: breakout history collection 2024-04-18 13:16:44 -03:00
João Victor
0020a135c9 cleanup: remove old polls 2024-04-10 17:37:23 -03:00
Tainan Felipe
acf39a3783 Remove: user persistent data collection 2024-04-09 12:04:14 -03:00
Tainan Felipe
f3465827dd
Migrate meeting collection to graphql (#19853) 2024-03-26 08:57:28 -03:00
Ramón Souza
c1d95745e6 fix ts 2024-03-22 16:18:32 -03:00
Ramón Souza
b278c8b143 fix meeting end screen 2024-03-22 16:07:49 -03:00
Ramón Souza
788cf799f7
refactor: make bbb client work without meteor service (partial) (#19869) 2024-03-21 16:41:32 -03:00
Tainan Felipe
d9e2808e2d Merge remote-tracking branch 'upstream/v3.0.x-release' into migrate-user-to-graphql 2024-03-12 19:24:28 -03:00
Tainan Felipe
ae0b97f05a Refactor: move adapter to presence manager 2024-03-08 10:01:17 -03:00
Tainan Felipe
fbd7a706ad Fix: move to after auth validation 2024-03-07 17:22:18 -03:00