Commit Graph

2250 Commits

Author SHA1 Message Date
Gustavo Trott
b141ab40b0 fix: graphql flag breakoutRoom.hasJoined is not accurate 2024-09-10 09:44:58 -03:00
Ramón Souza
0a6dac83b5 adjusts backend so chat lock is ignored for moderators 2024-09-09 13:46:08 -03:00
Gustavo Trott
96f9325ef2 Add userLockSettings to allow disablePublicChat for individual users
This commit introduces `userLockSettings`, which includes an option to set `disablePublicChat` for specific users, rather than only for all locked viewers as before. This implementation covers the backend and GraphQL portions; the frontend changes will be addressed in a separate PR.

This is a port of #20585, originally implemented for version 2.7 using the old architecture with MongoDB.
2024-09-05 18:04:25 -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
danielpetri1
fbe99626ff Add new poll shape attributes 2024-09-03 16:19:56 +00:00
Anton Georgiev
dda1682c37
Merge pull request #21016 from prlanzarin/u30/feat/dial-in-guest-config
feat: make guest policy configurable for dial-in endpoints
2024-08-28 16:42:27 -04:00
Anton Georgiev
6e3b83bd60
Merge pull request #20917 from prlanzarin/u30/feat/fs-rec-splitter
feat: add option to split audio recording in multiple files by duration
2024-08-28 16:41:10 -04:00
Gustavo Trott
1cc67a82c8
Merge pull request #21042 from gustavotrott/refactor-isOnline
refactor (gql-server): Introduce flag `currentlyInMeeting` (replacing `isOnline`)
2024-08-28 14:33:52 -03:00
Gustavo Trott
af06562e02 Introduce flag currentlyInMeeting (replacing isOnline) 2024-08-28 11:08:30 -03:00
Gustavo Trott
c56955c842
Merge pull request #21025 from gustavotrott/learning-dashboard-reactions
Refactor Learning Dashboard to use Reactions instead of EmojiStatus
2024-08-27 21:40:57 -03:00
Gustavo Trott
c2b70eb006 validate current away status before setting it (again) 2024-08-26 16:26:03 -03:00
Gustavo Trott
736c9a130f refactor learning dashboard to use Reactions instead of Emojis 2024-08-26 13:40:17 -03:00
danielpetri1
f5443d37a8 Pass poll shapes to tldraw.json 2024-08-24 17:34:45 +00:00
prlanzarin
dd1cf00dd2 feat: make guest policy optional for dial-in in akka-apps
Dial-in endpoints currently follow the same guest approval process as regular
users. While this is correct for default installations, it complicates the join
procedure in setups where approval is managed externally, such as with pre-
configured conference PIN codes. Another relevant scenario is when call
origination is done from BBB, rather than as an inbound call.

This commit makes the enforcement of the guest policy for dial-in/external
endpoints optional in akka-apps. The default behavior remains unchanged
(enforce). This provides more flexibility for the dial-in mechanism, allowing
for smoother handling of the scenarios mentioned above.
2024-08-23 14:54:31 +00: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
prlanzarin
4f6e16f8e3 feat(audio): dynamic muteOnStart based on audio user count
The current default setting of muteOnStart=false can lead to performance
issues in larger rooms, especially with the "transparent listen only
mode" and LiveKit, as proven by load testing. In contrast,
muteOnStart=true helps mitigate these issues but complicates the entry
process for smaller meetings, such as 1-on-1 sessions or small classes.
Additionally, the ability to override muteOnStart via the API can create
scalability issues if not managed properly.

Add a new akka-apps flag `voiceConf.muteOnStartThreshold` which acts as
a trigger that forces muteOnStart=true when the number of audio
participants reaches the configured threshold. 0 means no threshold
(disabled).

This trigger overrides any API parameter or static configurations
related to muteOnStart, as well as the client's meeting mute actions.
Pending:
  - Remove MeetingStatus.meetingMute state side effects from the client's
    "Mute all" and "Mute all except presenter" actions. They should no
    longer alter the meeting mute state once this becomes default (just
    mute users instead).
2024-08-15 00:43:36 +00:00
prlanzarin
583eb2014e fix(audio): change unmute/unhold flow to work around FS unmute stutter
FS has an intermittent issue where unmuting a HELD channel sometimes
takes significantly (seconds) longer than usual.
conference <XYZ> unmute <WVU> simply gets stuck with no FS_API response,
which delays the unmute action whenever transparent listen only is
active.

Apparently, unholding the channel PRIOR TO unmuting works around the
issue - at least it could not be reproduced with the scenario at hand.
The unmute API already triggered an unhold in FS internally, which is
the reason why this was not done beforehand. The aforementioned issue is
way worse than an extra "redudant" API call, though.

Always unhold audio channels manually _before_ unmuting.
2024-08-15 00:43:35 +00:00
prlanzarin
196a12cff4 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-08-15 00:43:33 +00:00
prlanzarin
c10c0a7258 fix(audio): users unable to join audio when mic lock setting is active
Whenever both microphone lock settings and transparent listen are
active, users fail to join audio due to an oversight in the audio join
permission procedure. It's denying users from *joining* audio if they're
locked, even though they should only be prevented from *unmuting*
themselves.

Change the permission checks for audio join to allow users even when
they're locked. Use the lock setting to force the muteOnStart flag for
locked users instead.
2024-08-15 00:43:32 +00:00
prlanzarin
ceff20ff21 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-08-15 00:43:32 +00:00
prlanzarin
f49c63fa09 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-08-15 00:43:30 +00:00
prlanzarin
5b5653fead 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-08-15 00:43:29 +00:00
prlanzarin
c6ca6d5c45 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-08-15 00:43:29 +00:00
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
prlanzarin
cf293fe7fd feat(audio): channel threshold for transparent listen only activation
Transparent listen only is currently only worth it for meetings with a
number of duplex audio channels larger than a certain value (dependant
on system performance). That is due to the fact that global audio
bridges created for the mechanism also use significant CPU (roughly the
same as an unheld duplex channel), which means it's cost is usually
offset only once there are enough potential channels to be held in a
conference.

This commit adds a new optional feature that introduces some dynamicity
for the mechanism: it'll only be triggered after at least
@voiceConf.transparentListenOnlyThreshold number of muted duplex
audio channels are present in a conference.
The default is 0 (always trigger transparent listen only if the general
mechanism is activated).
2024-08-15 00:43:27 +00:00
germanocaumo
4514649c4f feat: adds option to split audio recording in multiple files by length
FreeSWITCH sometimes drop frames in very long recordings generating
a raw file smaller than the total time recorded. The other issue is the
occasional drifiting.

This adds option to split audio recording in multiple files by
duration to avoid this problem in setups that are prone to it. Disabled
by default.
2024-08-13 14:31:54 +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
Arthur B. Grossi
d2132484b4
feat(plugins): server command send chat message (#20781)
* feat(plugins): add chat server command and chat message type `plugin`

This commit adds the required code for the plugins SDK's chat server
command `CHAT_SEND_MESSAGE`, which allows plugins to send chat
messages. Messages sent by plugins are identified by the message
type `plugin` and belong to the user (senderID) of the client that
sent it. Plugin messages are not displayed by the client itself because
these messages are meant to be custom-rendered by plugins, typically by
the plugin that sent them.

* feat(plugins): add message metadata

Plugin name and plugin custom metadata are stored in message's metadata,
so plugins need it to identify messages when applying custom render.

* feat(chat): removes specific code for plugin messages

Removes specific akka messages, handlers and routes for plugin messages
and adds metadata parameter in `GroupChatMsgFromUser`.

* feat(chat): adds option parameter to mutation

Adds optional parameter `metadata` to the already existing mutation
`chatSendMessage` and use this mutation for plugin chat server command.

* feat(chat): rendering of plugin messages

This commit implements the correct rendering of plugin messages, which
is:
- Plugin messages with metadata attribute `custom` set to true are not
  rendered by the client, and are meant to be custom-rendered by
  plugins.
- Plugin messages with metadata attribute `custom` set to false are
  rendered by the client as being sent by the user that triggered it.

* Update sdk version to v0.0.56

* update sdk version to v0.0.57
2024-08-07 15:59:30 -04:00
Anton Georgiev
20f1ce2441
Merge pull request #20860 from ramonlsouza/port-breakout-changes
Port breakouts enhancements from 2.7.10 to 3.0
2024-08-06 16:46:34 -04:00
Daniel Petri Rocha
254b1fab6d Initial implementation to let slides be passed in the backend 2024-08-05 09:30:53 -03:00
Gustavo Trott
2073b07c5c Remove unused ValidateConnAuthTokenSysMsg 2024-08-02 15:51:57 -03:00
Gustavo Trott
8623443704 Remove unused GetUsersMeetingReqMsg 2024-08-02 15:08:42 -03:00
Gustavo Trott
180ed6890b Remove unused ValidateAuthToken flow and messages 2024-08-02 15:02:54 -03:00
Gustavo Trott
19fb38fb53
Merge branch 'v3.0.x-release' into common-msg-remove-unused-msgs 2024-07-31 14:33:51 -03:00
Gustavo Trott
c4201e0edd
Merge pull request #20793 from gustavotrott/akka-timer-refactor
refactor (akka-apps): Routine to reset finished Timers
2024-07-31 14:31:15 -03:00
Gustavo Trott
ef8b7eb301 Merge remote-tracking branch 'upstream/v3.0.x-release' into common-msg-remove-unused-msgs 2024-07-31 11:19:11 -03:00
Gustavo Trott
407b85a3d4 Remove unused SYNC CLIENT messages 2024-07-31 11:17:22 -03:00
Gustavo Trott
fbf148dcd2 Remove unused SyncGetMeetingInfoRespMsg 2024-07-31 10:47:34 -03:00
Gustavo Trott
aa2bc871df Remove ununsed MeetingTimeRemainingUpdateEvtMsg and BreakoutRoomsTimeRemainingUpdateEvtMsg 2024-07-31 10:42:56 -03:00
Gustavo Trott
ce3811939c Remove unused UpdateBreakoutUsersEvtMsg 2024-07-31 10:19:09 -03:00
Gustavo Trott
94e64bb0a0 Remove unused UpdateRecordingTimerEvtMsg 2024-07-31 09:33:31 -03:00
Gustavo Trott
75cffd840c Remove unused DisconnectClientSysMsg msg 2024-07-31 09:18:34 -03:00
Gustavo Trott
df6b86cd72 Remove unused EndAndKickAllSysMsg 2024-07-30 11:36:53 -03:00
Gustavo Trott
aba8f3eff2 Remove unused DisconnectClientSysMsg msg 2024-07-30 10:09:50 -03:00
Gustavo Trott
fa02d92766 Routine to purge old meetings from graphql database 2024-07-29 11:09:21 -03:00
Gustavo Trott
efb7bcf887 Routine to reset finished Timer 2024-07-29 10:29:30 -03:00
Gustavo Trott
b6753e40d6 fix: gql permission wrong for auto assigned presenter 2024-07-23 13:19:08 -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
Gustavo Trott
1683f4c3fe
refactor: Rename all customParameters references to userMetadata or userdata (#20692)
* Rename all customParameters references to userMetadata

* fix linter error

* Update docs/docs/development/api.md

Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>

* Update bigbluebutton-html5/imports/ui/components/settings-loader/component.tsx

---------

Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>
2024-07-16 13:40:49 -04:00
Ramón Souza
c1c2910b24
Merge pull request #20659 from JoVictorNunes/issue-20651
feat(whiteboard): add option to `disabledFeatures` for infinite whiteboard
2024-07-15 15:27:56 -03:00
Gustavo Trott
7a03136d02
Merge pull request #20686 from gustavotrott/gql-server-auth-session
refactor (graphql): Big refactor on Graphql authentication
2024-07-10 20:17:23 -03:00
Gustavo Trott
25bc81ea1b remove comments 2024-07-10 18:53:14 -03:00
Gustavo Trott
d7b3fc5b89 akka-apps: set scheduler to clean up Graphql info after 1 hour 2024-07-10 18:47:44 -03:00
Gustavo Trott
2c2d595212 Big refactor on Graphql authentication 2024-07-10 18:30:01 -03:00
Ramón Souza
e8a796379d
Merge pull request #20633 from JoVictorNunes/issue-20611
fix: inconsistencies in presentation upload toast
2024-07-10 17:38:08 -03:00
João Victor
e26b408d42 feat(whiteboard): add option in disabledFeatures for infinite whiteboard 2024-07-08 10:18:26 -03:00
Anton Georgiev
abeb12146b
Merge pull request #20480 from KDSBrowne/v30-enable-whiteboard-infinite-canvas
feat(whiteboard): Add infinite whiteboard for presentation slides
2024-07-05 17:54:55 -04:00
KDSBrowne
c341ea44f8 update canvas names to whiteboard 2024-07-05 20:13:30 +00:00
Guilherme Pereira Leme
ccb2e74bc1
feat(plugin): Added sendGenericDataForLearningAnalyticsDashboard for plugins (#20628)
* [data-channel-analytics-options]  - Added data-channel analytics and record options and added a parameter options for the useDataChannel function

* Update bigbluebutton-html5/public/locales/en.json

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

* [data-channel-analytics-options] -created new sendDataAnalytics for plugin and change presentation toolbar button

* [data-channel-analytics-options]  - QUICK FIX

* [update-data-channel-function] - fix action metadata

* [data-channel-analytics-options] - changes in review

* [data-channel-analytics-options]  - changes in review

* [captionLocale] - Changes in review

* [data-channel-analytics-options]  - update SDK

* [data-channel-analytics-options]  Changes in review

* [data-channel-analytics-options] - changes in review

* [data-channel-analytics-options] - changes in review

* [data-channel-analytics-options] - changes in review

* Refactor learning dashboard json structure with genericData

* fix typo

* [data-channel-analytics-options] - changes according to new json structure

* changes in review

---------

Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>
Co-authored-by: Gustavo Trott <gustavo@trott.com.br>
2024-07-05 16:49:45 -03:00
Ramón Souza
977a3512ec
fix permission for download presentation (#20643) 2024-07-05 13:01:24 -04:00
Tainan Felipe
0e7fe3c688
Change: improve client connection status (#20630) 2024-07-04 17:26:09 -03:00
Gustavo Trott
134b207f94
refactor: Remove Hasura database-updates and move them to Gql-Actions (#20634) 2024-07-04 17:00:06 -03:00
João Victor
52cda64bf1 fix: inconsistencies in presentation upload toast 2024-07-04 13:41:33 -03:00
KDSBrowne
f024995f98 Restore default slide position after disabling infinite wb 2024-07-03 17:15:39 +00:00
KDSBrowne
687ee36d29 add functionality to enable infinite whiteboard 2024-07-03 17:14:47 +00:00
Gustavo Trott
f5c9650f24
refactor: Add TRACE logs for graphql-actions (#20614) 2024-06-30 15:34:22 -03:00
Gustavo Trott
ed38da065c
fix break error (#20612) 2024-06-28 17:35:21 -03:00
Gustavo Trott
f5e8917eb0
Remove unnecessary imports (#20598) 2024-06-28 16:50:30 -03:00
Paul Trudel
6dd1eabe92
feat(events): Store user data in Redis for use in event.xml (#20593) 2024-06-28 09:28:03 -04:00
Gustavo Trott
be39d7b24b
refactor (akka-apps): Make all inserts into the database thought batches instead of individual inserts (#20594) 2024-06-27 18:53:46 -03:00
Gustavo Trott
3402edcb5b
Introduce gql user_voice_activity_stream (#20557) 2024-06-20 14:33:11 -03:00
Gustavo Trott
d67346366c clear mouse cursors on disable multi-whiteboard 2024-06-19 10:40:09 -03:00
Guilherme Leme
1d9b28133e [update-data-channel-function] - change sender to creator naming in data-channel 2024-06-18 17:46:17 -03:00
Guilherme Leme
8a04c8a4aa Merge remote-tracking branch 'upstream/v3.0.x-release' into update-data-channel-function 2024-06-18 13:42:34 -03:00
Gustavo Trott
a27cd6cdb2
Merge pull request #20518 from GuiLeme/plugin-server-commands
feat(plugins): new server-command for typed-captions plugin
2024-06-18 13:33:16 -03:00
Guilherme Leme
57389c351e [plugin-server-commands] - changes in review 2024-06-18 12:01:46 -03:00
Guilherme Leme
8464fca7da [update-data-channel-function] - changes permissioning name 2024-06-18 11:24:49 -03:00
Guilherme Leme
41eb2c34e3 [update-data-channel-function] - merge upstream 2024-06-18 10:25:02 -03:00
Guilherme Leme
8db3a6be80 [plugin-server-commands] - added server-command caption save and add a captionLocale 2024-06-18 09:20:35 -03:00
Dennis Benz
c8e2d8b239 Resolve conflicts 2024-06-17 10:47:41 -03:00
Gustavo Trott
6984763da7
Merge pull request #20483 from GuiLeme/fix-caption-locale-subscription
fix(html5): caption subscription error
2024-06-14 16:53:22 -03:00
Gustavo Trott
656e29e7eb
Refactor middleware to get user info from akka-apps api (#20491) 2024-06-14 13:43:05 -03:00
Guilherme Leme
284753e6b9 [fix-caption-locale-subscription] - fix captionLocale subscription error 2024-06-13 15:47:54 -03:00
Gustavo Trott
ad2d12b19b
Merge pull request #20475 from gustavotrott/gql-improve-breakout-performance
refactor: BreakoutRoom storage and handlers
2024-06-12 18:09:16 -03:00
Gustavo Trott
e86aeac114 refactor breakoutroom storage 2024-06-12 16:21:31 -03:00
Lucas
9bf3f54183
feat: Initial BBB 3.0 Gladia transcriptions implementation (#20295)
* feat(html5): initial implementation of Gladia transcriptions to BBB 3.0

* fix(transcription): Add missing locales and fix invalid cc menu key

* fix(bbb-transcription-controller): Bump transcription controller to fix some bugs

* fix: adjust yq syntax for setting fs esl password in transctiption-controller

* fix(transcription): Use newer useSettings format from transcription options

* fix(captions): Correctly use captions settings

---------

Co-authored-by: João Victor <joaovictornunes973@gmail.com>
Co-authored-by: Anton Georgiev <anto.georgiev@gmail.com>
Co-authored-by: Ramón Souza <contato@ramonsouza.com>
2024-06-12 12:06:07 -04:00
Guilherme Leme
59d08a2655 [update-data-channel-function] - remove debbuging logs 2024-06-10 17:45:14 -03:00
Guilherme Leme
322a04b845 resolve conflicts 2024-06-10 17:41:06 -03:00
Guilherme Leme
ba74a41fd2 [update-data-channel-function] - (WIP) Initial work 2024-06-10 11:32:48 -03:00
Gustavo Trott
42305a1dfb
Merge pull request #20449 from gustavotrott/improve-userReaction-performance
refactor: Simplifying ReactionEmoji Storage and Queries
2024-06-10 10:41:36 -03:00
Gustavo Trott
ab542a458e make reactionEmoji part of user table (optimizing performance) 2024-06-10 09:48:38 -03:00
Anton Georgiev
558fca5f19
Merge pull request #20401 from KDSBrowne/bbb-20306
fix(whiteboard): Properly handle line shape handles in akka
2024-06-07 16:30:26 -04: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
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
KDSBrowne
7f3996c816 clean line shape handles in akka (similar to arrow bindings) 2024-06-04 15:44:16 +00:00
Guilherme Pereira Leme
bbf43f1e55
feat(html5): Added captionLocale property and related logic (#20272)
* [captionLocale] - added captionLocale

* [captionLocale] - changes in review

* [captionLocale] - Added new mutation captionAddLocale and removed captionSetOwner

* [captionLocale] - add action validation

* [captionLocale] - Changes in review

* [captionLocale] - fix update of graphql server

* [captionLocale] - merge conflicts
2024-06-03 16:14:32 -04:00
Gustavo Trott
4e2e3254e7
refactor (akka-apps): Remove unused UserJoinMeetingAfterReconnectReqMsg (#20370)
* Replace tabId by clientSessionUUID

* refactor gql-middleware to perform validations and send errors properly

* small tweaks

* fix linter errors

* refresh session variables on invalidate user connection

* set clientIsMobile on join

* Remove unused UserJoinMeetingAfterReconnectReqMsg
2024-05-30 13:18:48 -03:00
Gustavo Trott
fd3071c28a
Refactor (gql-middleware): Introduces clientSessionUUID and validations (error handling) (#20353) 2024-05-29 17:43:17 -03:00
Gustavo Trott
b4e2f319e8 Consider more actions as user lastActivity 2024-05-23 17:11:16 -03:00