Commit Graph

2272 Commits

Author SHA1 Message Date
germanocaumo
e992862e40
update(chat): add option to disable private chat (#21459)
* 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>
2024-10-25 13:40:10 -04:00
Gustavo Trott
82774b9a08
Merge pull request #21509 from gustavotrott/gql-annotations-diff
refactor (graphql-server): Preserves the entire history of annotation changes (type `pres_annotation_history_curr`)
2024-10-25 12:01:31 -03:00
Guilherme Pereira Leme
d1af76d8ff
fix(bbb-web): fix plugins not loading nor running into breakout-rooms (#21525)
* [fix-breakouts-plugin] - Fix plugin not loading and not running into breakouts.

* [fix-breakouts-plugin] - simplifying createMeeting logic - changes in review
2024-10-24 21:15:27 -04:00
Gustavo Trott
7d5e5eb75b fix insertOrUpdate causing conflict when sending in batch 2024-10-23 21:57:03 -03:00
Gustavo Trott
392953f08e Improve insert of annotations to send it in batch 2024-10-23 17:32:38 -03:00
Gustavo Trott
60c15006f2 Re-enable the graphql type pres_annotation_history_curr to receive all annotations as incremental diff.
It will make the whiteboard more consistent and easier to merge the data.
2024-10-23 16:15:43 -03:00
germanocaumo
bc324f480e
feat(recording): adds custom userdata recording permission (#21497)
* feat(recording): adds custom "bbb_record_permission" userdata

Adds two new userdata parameters:
 - bbb_record_permission: if true, bypass the moderator/viewer role permission and allows the user to start/stop the recording
 - bbb_record_permission_tooltip: a string to show in the tooltip when the user don't have permission, useful to explain why the user can't start recording

This enables integrations to have custom rules for specific users to have or not permission to record a meeting

* chore(docs): adds new recording userdata to docs

* refactor: clean unused code

* Update docs/docs/administration/customize.md

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

---------

Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>
2024-10-23 10:47:48 -03:00
Ramón Souza
d876c45784
Merge pull request #21422 from germanocaumo/learning-dashboard-links
feat(learning-dashboard): Learn more and feedback phrases and links
2024-10-23 10:22:10 -03:00
Ramón Souza
8daeafeb0d
Merge pull request #21480 from Arthurk12/bbb/30/21463
feat: introduces join parameter to flag user as `bot`
2024-10-22 17:32:13 -03:00
germanocaumo
cab4d3a657
fix(learning-dashboard): show all sessions of users with the same internalID (#21433)
* fix(learning-dashboard): show all sessions of users with same internal ID

Store and show sessions of users that rejoin with the same internalID

fix(learning-dashboard): compatibility with old data

Adjust old data to new expected sessions format.

fix(learning-dashboard): csv join and left times

Missed update from new json format, join and left were incorrect.

* fix(learning-dashboard): remove line breaks and spaces off poll question in csv

* fix(learning-dashboard): Normalize locale strings and prevent crash when using invalid strings

Fixes #1795

---------

Co-authored-by: Lucas Fialho Zawacki <lfzawacki@gmail.com>
2024-10-22 16:00:03 -04:00
Ramón Souza
7af165801a
Merge pull request #21487 from JoVictorNunes/chat-patch-1017
fix(chat): Several fixes, UI improvements, et al.
2024-10-22 16:23:44 -03:00
Anton Georgiev
0cb406a846
Merge pull request #21478 from germanocaumo/bbb-breakout-room-permissions
feat: allow parent room moderators to kick other users in breakouts
2024-10-22 12:01:37 -04:00
Guilherme Pereira Leme
a9e0e872b1
feat(akka): Plugin Js relative entrypoint and refactor of pluginManifests parameter (#21485)
* [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
2024-10-21 11:27:31 -04:00
Arthurk12
963ddf16dc feat(activity-check): exempt bot users
Exclude bot users from activity checks, as they are not real users
and may not perform actions that count as activity in the meeting.
Exempting them prevents unwanted ejections.
2024-10-18 19:38:22 -03:00
João Victor
6eb11f41b0 fix(chat): A few fixes
- Sort reactions by least recent and then by reaction count.
- Wrong condition for checking if a user is moderator was preventing moderators rom reacting to messages if locking public chat was activated.
- Wrong condition for checking if a user is moderator was preventing moderators from editing messages if locking public chat was activated.
- Display message time for all messages.
2024-10-18 14:37:29 -03:00
João Victor
b90eae2fc1 fix(chat): Permission for moderators to delete any message 2024-10-18 14:37:28 -03:00
Max Franke
17c5f01e52 fix(breakout-room): allow remove user
This commit follows the UI behavior.
Remove constraint for actions in breakouts on akka
This partially reverts 1218b8b610
2024-10-18 13:52:42 -03:00
Pedro Beschorner Marin
9268e4c1a5 Kick users from breakout rooms
Parent room's moderators are able to kick users from breakout rooms.

Included a new userdata `userdata-bbb_parent_room_moderator` so akka-apps can
signal the HTML5 client that the user had a moderator role when the breakout room
was created. This user will have an extra permission inside the breakout room where
he/she will be able to kick other users out.
2024-10-18 13:52:36 -03:00
Pedro Beschorner Marin
235020924f Avatar URL in breakout room join
Since we started using images as user's avatar this was missing. Now akka-apps
will add the user's avatarURL along with the join API URL's params generated
for each user.
2024-10-18 13:52:29 -03:00
Arthurk12
c359a38329 feat(polls): exclude bots from poll responders
Modifies the function that returns the number of responders for a given
poll, excluding bot users. Updates the database schema to ensure that
only non-bot users are counted as potential responders.
2024-10-17 17:44:07 -03:00
Arthurk12
8697de71e8 feat(bot): bypass max participants limit for bot users
Adjust the maximum participants logic to exempt bot users from being
counted towards the participant limit.
2024-10-17 17:43:34 -03:00
Arthurk12
86ea21e52b feat(akka): join param to flag user as bot
Introduces new join parameter `bot` to flag users as bot.
2024-10-16 12:30:02 -03:00
Gustavo Trott
1eeff8d142
Merge pull request #21368 from GuiLeme/new-server-side-architecture
refactor (plugins): Read plugins configs from a manifest file instead of client settings
2024-10-14 17:20:52 -03:00
Guilherme Leme
96926391ec [new-server-side-architecture] - Remove code duplication 2024-10-14 11:43:48 -03:00
Guilherme Leme
1c3c11afde [new-server-side-architecture] - sonar cloud feedback implementation - removed a possible bug 2024-10-14 10:42:34 -03:00
Guilherme Leme
3951cf6c2f [new-server-side-architecture] - sonar cloud feedback implementation - removed a possible bug 2024-10-14 09:03:37 -03:00
Arthurk12
6947f2119b feat(learning-dashboard): Add additional attributes to activities JSON
Creates a new field called 'other' inside the Meeting object, which is
included in the activities JSON file. This field now includes two new
metadata attributes: 'learning-dashboard-learn-more-link' and 'learning-
dashboard-feedback-link'. These attributes define the URLs for the 'Learn more'
and 'Feedback' anchor tags in the learning dashboard page. The URLs may
vary depending on the customer/intitution, hence the need for metadata.

feat(learning-dashboard): Add 'learn more' and 'feedback' phrases and respective links

Adds two new phrase to the learning dashboard page. These phrases have
embeded links that are defined by metadata: 'learning-dashboard-feedback
-link' and 'learning-dashboard-learn-more-link'.

chore: add pt_BR locales to the learning dashboard

Adds pt_BR locales for the new 'feedback' and 'learn more' phrases in the
learnin dashboard page.

fix(learning-dashboard): akka error
2024-10-11 13:06:06 -03:00
Guilherme Leme
72adc94a9b [new-server-side-architecture] - code rabbit suggestions 2024-10-10 17:22:27 -03:00
Guilherme Leme
a590d15f7c [new-server-side-architecture] - replace checksum algorithm of manifest.json to be sha256 and renamed javascriptEntrypointChecksum to javascriptEntrypointIntegrity 2024-10-10 15:49:16 -03:00
Guilherme Leme
f375d4d3aa [plugin-sdk-issue-121] - change naming for jsEntrypointchecksum 2024-10-09 17:40:41 -03:00
Guilherme Leme
04a5a9da9f [plugin-sdk-issue-121] - Added checksum logic to both the manifest and the js bundled plugin 2024-10-09 16:36:32 -03:00
Guilherme Leme
6756eef841 [new-server-side-architecture] - Fix case where some properties were not correctly passed to manifest.json 2024-10-08 17:46:36 -03:00
Guilherme Leme
b77a6ae483 [new-server-side-architecture] - Changes in review 2024-10-08 14:32:01 -03:00
João Victor
7e33f86cdd Merge branch 'v3.0.x-release' into chat-message-edit-and-delete 2024-10-07 08:51:39 -03:00
Joao
45cd19208e fix(chat): Permission for editing a message 2024-10-04 16:42:04 -03:00
André Möller
a3a0fdc719 Fix: [3.0] - maxParticipants is applying one less than the parameter value 2024-10-04 12:11:51 -03:00
Guilherme Leme
1ea964223b [new-server-side-architecture-plugins] - Created all the data flow of plugins from a URL parameter of manifest.json until the pluginLoader component of the client. 2024-10-04 11:16:25 -03:00
Gustavo Trott
2483433d6c
Allow to disable new chat features through the param disabledFeatures (#21354)
* Option to disable new chat features like edit, delete, reply and send-reaction using the param disabledFeatures"

* Revert documentation while recording portion is not ready
2024-10-04 10:07:49 -04:00
Paul Trudel
62e2f396cb
feat(API): Add file scanning to presentation upload (#21217)
* Add ClamAV file scanning

* Add file uploade virus message and event

* Add file virus message to front end

* Delete bigbluebutton-html5/.meteor/local/build/programs/web.browser/app/app.js

* Add error message to locale

* Fix typo in frontend error message

* Remove malicious file after detection

* Add property to enable/disable file scanning

* Create and send new message when file scanning fails

* Readd space in prop file

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

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

---------

Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>
2024-10-03 16:30:38 -04:00
Gustavo Trott
8bf18e8144 remove unnecessary assignments 2024-10-03 14:58:22 -03:00
Gustavo Trott
2bcde517b9 fix delete msg reaction handler 2024-10-03 14:40:04 -03:00
Gustavo Trott
e19cbdbb58 Add support for chat message reactions.
It introduces the graphql prop `reactions` to the type `chat_message_public` and `chat_message_private`.
It also add two mutations `chatSendMessageReaction` and `chatDeleteMessageReaction`.
2024-10-03 14:34:24 -03:00
Gustavo Trott
4f731f2a79 Rename user_camera prop focused to showAsContent 2024-10-02 22:25:35 -03:00
Gustavo Trott
06b494a93a Add column deletedBy for chat messages 2024-10-02 17:33:34 -03:00
Gustavo Trott
8dd48b5fe1 rename updatedAt to editedAt, and set it in akka-apps instead of pg trigger 2024-10-02 16:22:01 -03:00
Gustavo Trott
a6fc59ba46 Allow to edit and delete chat messages through graphql
It introduces the mutations:
chatEditMessage
chatDeleteMessage

The type chat_message receive two new fields:
updatedAt
deletedAt

A new table chat_message_history was introduced to store the previous version of an edited or deleted message.

When removed the message is not deleted, but the content become null and deletedAt populated. So the idea is to show "This message was removed" in the client.
2024-10-02 15:18:21 -03:00
Gustavo Trott
91cf45106b
Merge pull request #21303 from gustavotrott/gql-user-screenshare-as-camera
gql-server: Allow all users to share screens (not only presenter) (backend portion)
2024-10-01 15:37:33 -03:00
Gustavo Trott
0e7c7828ce
Update akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/webcam/UserBroadcastCamStartMsgHdlr.scala
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-10-01 15:36:56 -03:00
Gustavo Trott
9e8b1ffc4e new index 2024-10-01 15:04:21 -03:00
Gustavo Trott
3fb6dd71d2 Edit graphql type UserCamera to suport either camera or screenshare
Add fields:
	contentType: to identify whether is camera or screenshare
	hasAudio: useful for screenshare
	focused: indicates if this screenshare will be shown in presentation area
2024-10-01 14:39:48 -03:00