* 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>
* [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
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.
- 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.
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.
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.
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.
* 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
It introduces the graphql prop `reactions` to the type `chat_message_public` and `chat_message_private`.
It also add two mutations `chatSendMessageReaction` and `chatDeleteMessageReaction`.
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.
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
replyToMessageId will be useful for the feature that enables to reply a message of the chat
messageSequence will be useful to identify the page of that message and scroll the user to the correct page when they click to see the original message
Closes https://github.com/bigbluebutton/bigbluebutton/issues/21161
As suggested by @danimo the client files for bbb-html5
are not variable/dynamic content and are a better fit for /usr/share
than for /var/bigbluebutton (where they'd also be in the way of
recording files)
Previously, we checked if a presentation existed before inserting it into the database. However, concurrent checks sometimes led to race conditions where the same presentation was inserted twice, causing errors and blocking subsequent page additions. This update removes the existence check and directly attempts to insert the presentation using an "IF NOT EXISTS" clause. This streamlines the process, enhances performance, and prevents ID duplication errors.