Commit Graph

176 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
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
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
Arthurk12
926233ec55 fix(debounce): reset timeout when leading is true
Fixes the debounce function to work properly when leading is true by
adding a condition to reset and reschedule the timeout whenever
a subsequent call happens whithin the delay timeframe.
2024-06-17 16:44:02 -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
prlanzarin
d6e160a2c3 refactor(audio): remove stale iOS webview polyfills
Shouldn't be necessary anymore
2024-05-03 21:42:36 +00:00
prlanzarin
f3e4e58398 fix: invalid UA version number in WKWebView
There are some scenarios (e.g. WKWebView) where Bowser can't detect the
Safari version number correctly, which may lead to unexpected behavior
if any code that relies on this utils use the version number exported
unchecked.

In such cases, use the WebKit version to determine it. If that's not the
case and the version number is still unavailable, log an warning and
return Infinity so that we do not deny access to the user (even if
we're uncertain about whether it's a supported browser);
2024-04-02 18:39:38 +00:00
Ramón Souza
788cf799f7
refactor: make bbb client work without meteor service (partial) (#19869) 2024-03-21 16:41:32 -03: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
Ramón Souza
10d9a94901
Merge pull request #18838 from Tainan404/migrate-time-indicator
Refactor: Migrate timer indicator
2023-11-02 08:06:19 -03:00
Ramón Souza
5ccb66cb72 improve throttle function 2023-11-01 11:12:15 -03:00
Tainan Felipe
6f4357092f Fix: Timer not showing hour scale, but showing minutes instead 2023-10-10 10:16:57 -03:00
Ramón Souza
bb6e843658 fix leading:true, trailing:false throttle 2023-09-26 13:50:51 -03:00
Gustavo Trott
5eb04aab91 Resolve conflicts 2023-08-30 15:31:32 -03:00
Ramón Souza
4867e934e2 add .cancel in throttle function 2023-08-24 14:49:05 -03:00
Gustavo Trott
d018fd6490 Resolve conflicts 2023-08-16 16:24:34 -03:00
Ramón Souza
38c6da7c29 add comment about debounce function 2023-08-09 15:42:21 -03:00
Ramón Souza
c55a9b43b3 add debounce function 2023-08-09 13:06:27 -03:00
Tainan Felipe
f2e0fd43e9
Refactor: Make all chat area use graphql (#18122)
* Refactor: Make all chat area use graphql

* Fix: large space between welcome msg and chat list

* Fix: missing file

* add pending status and fix system messages

* Add: mark messages as seen in chat

* Refactor: Move char opening logic to inside of chat panel

* Refactor message and mark as seen

* Add Recharts to package.json and fix miss data

* Implements clear-chat function on graphql

* Make system message sticky

* Add clear message support and fix user is typing

* FIx chat unread and scroll not following the tail

* Change: make unread messages be marked by message and fix throttle

* Don't show restore welcome message when the welcome message isn't set

* Fix: scroll not following the tail properly

* Fix: previous page last sender not working

* Fix: scroll loading all messages

* Fix messaga not marked as read

---------

Co-authored-by: Gustavo Trott <gustavo@trott.com.br>
2023-07-07 17:46:36 -03:00
Gustavo Trott
5681e88c60 Merge 2.7 into Develop 2023-06-26 17:21:01 -03:00
Gustavo Trott
51bdcededc Merge 2.7 into develop 2023-05-26 10:50:39 -03:00
Paulo Lanzarin
171c7a6587
Merge branch 'v2.7.x-release' into v2.7.x-release 2023-05-26 09:27:14 -03:00
Anton Georgiev
510c94cfa7 Merge branch 'v2.6.x-release' of github.com:bigbluebutton/bigbluebutton into may16-merge 2023-05-16 13:35:47 -04:00
Ramón Souza
af23ce542e
Merge pull request #17702 from Scroody/virtual-backgound-accepts-webp
feat (html5): Virtual backgrounds now accepts webp format
2023-05-15 17:06:41 -03:00
prlanzarin
a693133b5a fix: remove legacy iOS UA checks that borked camera sharing in iPads
There are a couple of hardcoded UA checks targeted at iOS endpoints
introduced circa 2.2-beta. One of those pops up an "unsupported" toast
when the device joins a conference - the other blocks camera
sharing.

Those checks are outdated since we transitioned to minBrowserVersions
approach that redirects the client to an unsupported view upon join. I
also assume the checks are bugged since, in some environments, it flags
iPadOS endpoints as iOS and version-checks it to a hardcoded "12.2"
threshold (which is incompatible with iPadOS versioning). That caused
camera sharing not to work, which is a false negative.

I consider the checks to be outdated, so I removed all references to
them.
2023-05-15 13:22:52 -03:00
Anton Georgiev
4e851a7571 Merge branch 'v2.6.x-release' of github.com:bigbluebutton/bigbluebutton into merge-267-27 2023-05-15 11:51:17 -04:00
Diego Benetti
9306e38dd9 Improves iOS detection to consider tablet as iOS instead of macOS 2023-04-26 14:33:27 +00:00
prlanzarin
54b6578b03 fix(audio): forcefully disable stereo when using Vosk transcription
The current Vosk CC provider does not support stereo mic streams
(pending investigation as to why).

This commits makes sure stereo is forcefully disabled via SDP munging
only when transcription is active and using Vosk. Having it disabled
in the server side (FreeSWITCH) is not enough because the stereo parameter
is client mandated and replicated by FS on its answer. So we need to
make sure it's always disabled for the time being.
SFU audio does munging server side (and stereo is always off), so no changes
needed there.

The rest of the providers (except WebSpeech) need to be validated against
stereo audio as well.
This is also intended to be temporary - ideally this needs to be fixed in
mod_audio_fork/Vosk/wherever this is breaking.
2023-04-25 10:10:39 -03:00
andre-imdt
df9d11180f Enhancement: Virutal backgrounds now accepts webp 2023-04-24 13:56:54 -03:00
Tainan Felipe
cc5badc560 WIP: graphql 2023-04-14 16:20:52 -03:00
Ramón Souza
bcd504b749 Merge remote-tracking branch 'upstream/v2.7.x-release' into lodash-radash 2023-04-05 09:42:05 -03:00
Ramón Souza
5d0b1c842f handle select all shortcut in whiteboard 2023-03-15 11:39:33 -03:00
Ramón Souza
d181eba1c2 replace lodash.throttle with native function 2023-03-02 10:25:08 -03:00
Ramón Souza
014dfa2670 adjust defaultsDeep merge 2023-03-01 16:48:08 -03:00
Ramón Souza
811d6aa1c1 replace lodash delay and defaultsDeep 2023-02-23 14:38:48 -03:00
Ramón Souza
4ed09c89cf replace lodash uniqueId 2023-02-23 11:23:51 -03:00
Ramón Souza
7d3028257e replace lodash indexOf and without 2023-02-23 09:45:30 -03:00
Ramón Souza
5c5433296b replace lodash range, partition and upperFirst 2023-02-22 13:52:18 -03:00
Ramón Souza
06f43f8bed replace lodash each and groupBy 2023-02-17 14:39:52 -03:00
Anton Georgiev
36b45c0824
Merge pull request #16172 from schrd/fix-issue-16171
fix: Only cache TURN Servers as long as credentials are valid and force firefox to use the turn server
2023-01-05 06:13:31 -05:00
Daniel Schreiber
74f37db4fa Get rid of forceRelayOnFirefox
Firefox has a buggy ICE implementation and needs WebRTC media traffic to
be routed through a turn server to work reliably with mediasoup.

Use the information fetched by the STUN API to determine if the operator
has configured a turn server. If there is one force firefox to use it.

Closes #16164
2022-12-18 23:17:14 +01:00
Daniel Schreiber
36024ba795 Only cache TURN Servers as long as credentials are valid
TURN credentials were cached forever. However they expire. So refresh
them when required.

closes #16171
2022-12-18 20:57:38 +01:00
Ramón Souza
1f2562e95c sort users by sortName 2022-12-13 15:00:13 -03:00
Gustavo Trott
531241d269
feat: Button to transfer user to mobile App (#15183)
* Provide a link to transfer user to mobile App
* show menu option only if appStoreLink is present and it is not running on mobile app already
2022-11-15 09:49:24 -03:00
Tiago Daniel Jacobs
07f4ba1dce Fix screenshare in BigBlueButton-tablet app 2022-11-08 22:50:16 -03:00
Ramón Souza
77ae18f91c add safeMatch method 2022-10-18 14:50:18 +00:00
Ramón Souza
560d9370c6 adjust html/body lang on page load 2022-09-08 14:25:29 -03:00
Ramón Souza
ded8493f05 Merge remote-tracking branch 'upstream/v2.5.x-release' into 2526-aug3 2022-08-03 09:53:41 -03:00
Ramón Souza
c6f4056677 fix chat resizing in RTL 2022-07-25 16:53:19 -03:00
Tiago Jacobs
75c8dcd491 Merge 2.6 2022-06-29 17:38:21 -03:00