Commit Graph

39553 Commits

Author SHA1 Message Date
prlanzarin
437c684423 fix(audio): stuck unmute due to borked callerId(Num)
FreeSWITCH incorrectly generates callerNum headers in its ESL events
when specific, special characters are in place. e.g.:
w_etc_0-bbbID-User;Semi (notice the semicolon) will be generated by
FS as w_etc_0-bbbID-User (everything after the semicolon is ignored).
This breaks callerId comparision for session matching in a few places -
one of the is the unmute/unhold toggle control.

Compare callerNum as prefixes instead of exact strings to match those
scenarios.
This is a temporary fix; we should review callerNum generation in the
future (use Caller-Id-Name in FSESL), as well as stop relying on it
for session matching (use UUIDs and/or client session numbers instead).
Both of these are more involved changes, though.
2024-07-23 09:37:19 -03:00
prlanzarin
6918d4e090 build(bbb-webrtc-sfu): v2.14.0
v2.14.0
---
* feat(mediasoup): add least-loaded worker balancing strategy
* feat(mediasoup): worker transposition (off by default)
* feat(audio): dynamic global audio bridge mechanism
* feat: livekit module, initial implementation
* feat(audio): add signaling support for passive-sendrecv role
* feat(freeswitch): overridable UA string
* feat(audio): muteOnStart detection for conditional dialplans
* feat(audio): mute passive-sendrecv clients on start
* feat(audio): support for mute-and-hold on start
* fix(audio): ignore TLO-incapable clients in hold/unhold metrics
* fix(audio): mute/unmute stuck due to inconsistent hold status
* fix(audio): hold/unhold loop when there are multiple sessions per user
* fix(audio): muteOnStart sessions incorrectly muted on breakout transfers
* fix(audio): header-provided userName incorrectly decoded
* fix(audio): stuck unmute due to borked callerIdNum
* fix(audio): correctly decode user name space chars
* !build(npm): set min Node.js version to >=18.0.0
* build: nodemon@3.1.3
* build: ws@8.17.1
* build(mediasoup): 3.14.8
2024-07-23 09:23:50 -03:00
prlanzarin
1c57db94bb fix(audio): always send unhold
Alway send the unhold command since it doesn't change flip the state
(contrary to the uuid_hold toggle command).

It's not idempotent, though - so always update the internal hold state
to prevent state mismatches preventing channels from being unheld.
2024-07-23 09:23:05 -03:00
prlanzarin
631d5186e5 feat(audio): add memberId to VoiceStateEvent when applicable
We need the voiceUserId (memberId) in IN_CONFERENCE callState events so
that the SFU can bypass dialplan-level mute states when transferring
between breakout rooms.

Add memberId to VoiceCallStateEvent when applicable. For CHANNEL_STATE
events that do not carry it (RINGING, HANGUP), memberId is an empty
string.
2024-07-23 09:22:50 -03:00
prlanzarin
d3e2d3965c fix(audio): do not send FSESL hold cmd if already on hold
This is an edge case with the uuid_hold command being used through
FSESL or fsapi where holding only works via the uuid_hold <toggle>
subcommand, which may cause the channel to be the opposite of what
we want.

Do not execute if the command is asking for the channel to be HELD
and the channel is already HELD.
2024-07-23 09:22:40 -03:00
prlanzarin
025942de5b fix(audio): only enforce hold on mute state mismatch if !muted
There's a routine that's supposed to enforce the channel hold state if
mute and hold states are mismatched. This should only happen in case the
user is unmuted and the channel is held to avoid leaving an user without
inbound or outbound audio by accident. The routine currently checks for
the oppositve scenario as well (muted=true,hold=false), which should not
be enforced because of special scenarios (e.g.: audio-only breakout room
transfers, which have their transparent LO mechanism disabled).

Only enforce hold on muted state mismatch IF muted == false.
2024-07-23 09:22:23 -03:00
prlanzarin
623c90b19f fix(audio): add callerNum to transparent listen only RPCs
There are some scenarios where transparent listen only toggle RPCs are
directed to multiple different sessions in the SFU, which might cause a
hold-unhold loop because they're all anchored to the userId.

Append the callerNum to transparent listen only toggle RPCs so that they
are directed to the appropriate audio sessions in all cases.
2024-07-23 09:20:57 -03:00
Daniel Petri Rocha
4ccc883437 Replace green screen with blank screen, add CORS policy 2024-07-23 10:28:23 +00:00
Daniel Petri Rocha
3648748ce0
Merge pull request #15 from ramonlsouza/pr-20734
pass presentation to breakout - frontend
2024-07-22 16:43:58 +02:00
Guilherme Pereira Leme
baa62ab1ef
fix(bbb-web and html5): removed .odi and .odc file-type supports (back-port) (#20738)
* [backport-20729] just backported and added information to the docs

* [backport-20729] better description

* [backport-20729] prettier documentation on file formats

Co-authored-by: Gustavo Trott <gustavo@trott.com.br>

---------

Co-authored-by: Gustavo Trott <gustavo@trott.com.br>
2024-07-19 14:58:24 -04:00
Anton Georgiev
9377121704
chore: Bump release to 2.7.10 2024-07-19 14:34:14 -04:00
Ramón Souza
7fbf51054b pass presentation to breakout - frontend 2024-07-19 09:53:31 -03:00
Daniel Petri Rocha
8b6cdc6edf Initial implementation to let slides be passed in the backend 2024-07-18 16:37:02 +00:00
transifex-integration[bot]
f390049fea
Translate en.json in ar (#20721)
100% translated source file: 'en.json'
on 'ar'.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-07-18 08:57:23 -04:00
transifex-integration[bot]
610f9a2650
Translate en.json in el_GR (#20719)
100% translated source file: 'en.json'
on 'el_GR'.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-07-17 15:55:32 -04:00
André Castro
4c6e0289d4
Fix: [2.7] Breakout room invitation option missing from user dropdown (#20691)
* Fix: [2.7] Breakout room invitation option missing from user dropdown

* removing unnecessary code

* Translation key re-name

* modal Change
2024-07-17 14:39:09 -03:00
Daniel Petri Rocha
fa0ad14c35
feat(bbb-html5): Ban specific users from the public chat (#20585)
* Initial user lock changes

* Show lock icon
2024-07-17 12:56:33 -04:00
Daniel Petri Rocha
2317d2f98f
Update docs/docs/data/join.tsx
Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>
2024-07-17 18:50:02 +02:00
Daniel Petri Rocha
358a5bd901
Update bigbluebutton-html5/imports/ui/services/virtual-background/index.js
Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>
2024-07-17 18:49:51 +02:00
transifex-integration[bot]
15525a6936
Translate en.json in es (#20704)
100% translated source file: 'en.json'
on 'es'.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-07-15 15:20:14 -04:00
Daniel Petri Rocha
bfae93eb0e
Remove akka-fsesl changes 2024-07-13 11:55:25 +02:00
Daniel Petri Rocha
864e63ffcc
Remove debug log 2024-07-13 11:26:07 +02:00
Daniel Petri Rocha
f460d54a4e
Remove debug log 2024-07-13 11:23:29 +02:00
Daniel Petri Rocha
cf8f7528d0 Load image in from the URL 2024-07-12 20:06:49 +00:00
transifex-integration[bot]
6dc88facd9
Updates for project BigBlueButton v2.7 HTML5 client and language fr (#20694)
* Translate en.json in fr

100% translated source file: 'en.json'
on 'fr'.

---------

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2024-07-12 11:21:54 -04:00
Ramón Souza
a46e38fbbe
Merge pull request #20684 from Scroody/i-19354
Fix: Emoji animations are not being turned off by using the slider in settings.
2024-07-11 09:37:20 -03:00
André Möller
da3d8140da Fix: Emoji animations are not being turned off by using the slider in settings. 2024-07-10 16:40:16 -03:00
Ramón Souza
f5665f3bc4
Merge pull request #20669 from JoVictorNunes/issue-20654
fix: external video can be seen through sidebar on mobile
2024-07-10 15:59:11 -03:00
Ramón Souza
0c9e11c0e7
Merge pull request #20673 from Scroody/i-19870
Fix: Breakouts calculation for valid users incorrect
2024-07-10 15:11:45 -03:00
André Möller
fe3b81628f Change of approach 2024-07-10 10:45:08 -03:00
André Möller
ce8bb567a0 Revert "Fix: Breakouts calculation for valid users incorrect"
This reverts commit a86bdc9f1e.
2024-07-10 10:21:12 -03:00
André Möller
a86bdc9f1e Fix: Breakouts calculation for valid users incorrect 2024-07-09 11:11:08 -03:00
Ramón Souza
2ef8b4649f
Merge pull request #20670 from ramonlsouza/issue-20667
fix: Manage Layouts ignores disabledFeatures
2024-07-09 10:34:51 -03:00
Daniel Petri Rocha
a71527a825 Persist webcamBackground in the client 2024-07-09 12:13:50 +00:00
Ramón Souza
59e2609ffa do not display layout button if layouts are disabled 2024-07-09 09:10:06 -03:00
Daniel Petri Rocha
063b77a0fc defaultWebcamBackgroundURL 2024-07-09 12:01:03 +00:00
João Victor
a4756314a7 fix: external video can be seen through sidebar on mobile 2024-07-09 08:38:56 -03:00
Daniel Petri Rocha
de018453f6 Add webcamBackground parameter 2024-07-09 10:47:12 +00:00
Ramón Souza
9539ad09c0
Merge pull request #20639 from ramonlsouza/issue-20569
fix: Layout VIDEO_FOCUS shows empty tiles for other participants when see other viewers is locked
2024-07-05 17:25:20 -03:00
Gustavo Trott
65ebaecc9a
Merge pull request #20641 from ramonlsouza/issue-20029
fix: Enable download of the presentation not possible for temporarily presenters
2024-07-05 13:20:01 -03:00
Ramón Souza
c662a08d12 fix permission for download presentation 2024-07-05 11:35:31 -03:00
Ramón Souza
91762178b9 fix grid mode displaying viewers if see other viewers is locked 2024-07-05 10:04:57 -03:00
Daniel Petri Rocha
fd929a1508 Add green screen background, change documentation 2024-07-02 16:37:26 +00:00
Paul Trudel
b697667364
feat(events): Add user custom data to events.xml (#20566)
* Send custom user data to akka apps

* Add user custom data to registered user

* Add user custom data to user join event

* Store user custom data in Redis

* Rename userCustomData to customParameters

* Rename xml tag to userdata
2024-06-26 11:39:39 -04:00
Anton Georgiev
aeaf206f33
docs: added link to 2.7.9 2024-06-20 15:23:51 -04:00
Anton Georgiev
7b42421f41
docs: Clarify that allowPromoteGuestToModerator is a CREATE parameter (#20559) 2024-06-20 14:24:39 -04:00
Anton Georgiev
6588537bf4
Merge pull request #20546 from danimo/fix/gl3_migration_docs
docs(GL): correct statements about presentations not being migrated and how to fix entity too large errors
2024-06-19 13:19:00 -04:00
Daniel Molkentin
e8a361f11c fix: correct statements about presentations not being migrated and how to fix entity too large errors 2024-06-19 19:05:26 +02:00
Anton Georgiev
61b94e149d
chore: npm audit fix for learning dashboard (#20515)
* chore: npm audit fix for learning dashboard
2024-06-17 20:51:29 -04:00
Anton Georgiev
677177b72b
docs: document allowPromoteGuestToModerator [2.7] (#20514) 2024-06-17 19:12:48 -04:00