Commit Graph

280 Commits

Author SHA1 Message Date
João Victor
ad5b19e03e style(chat): Replied message and reply preview with white background 2024-10-17 13:39:51 -03:00
João Victor
fdb0805805 fix(chat): Canceling a reply intention not working 2024-10-17 13:39:50 -03:00
João Victor
825951f963 fix(chat): Adjust away message localization 2024-10-17 13:39:50 -03:00
João Victor
621c1ad0bf style(chat): Add background color to message content 2024-10-17 13:39:50 -03:00
Ramón Souza
d1ee773564
Update bigbluebutton-html5/imports/ui/components/chat/chat-graphql/chat-message-list/page/chat-message/message-toolbar/component.tsx
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-10-17 10:31:41 -03:00
João Victor
e3fc7e713c test(chat): Adjust notification message selector 2024-10-17 09:04:29 -03:00
João Victor Nunes
83514efe58 styles(chat): a new chat UI 2024-10-17 09:03:33 -03:00
João Victor Nunes
93f82e2d90
feat(chat): message reactions (#21385)
* feat(chat): message reactions

* fix: Revert settings.yml change introduced in #21355
2024-10-16 13:33:07 -03:00
Ramón Souza
d2afb2824b
Merge pull request #21355 from JoVictorNunes/chat-message-edit-and-delete
feat(chat): Add ability to edit and delete messages
2024-10-14 17:20:30 -03:00
João Victor
2315887f9e fix(chat): Deleted messages in chat exports 2024-10-14 16:40:32 -03:00
Ramón Souza
29b04f37e4 enable private chat with moderators for locked viewers 2024-10-10 09:22:34 -03:00
Ramón Souza
e80511144e
Merge pull request #21335 from JoVictorNunes/chat-replies-feat
feat(chat): message replies
2024-10-09 15:29:35 -03:00
João Victor
4d64ef45a8 Merge branch 'chat-replies-feat' into chat-message-edit-and-delete 2024-10-07 08:39:06 -03:00
João Victor
a46afa8cd0 fix(chat): Add support for disabledFeatures in chat message toolbar 2024-10-07 08:37:35 -03:00
Joao
a9ab4a3dcd fix(chat): Tweak the memoization functions for chat messages 2024-10-04 15:27:50 -03:00
Joao
f979bc55bd fix(chat): Add missing graphql fields for chat messages subscription 2024-10-04 13:51:13 -03:00
Joao
bc1da9b7db Merge branch 'v3.0.x-release' into chat-message-edit-and-delete 2024-10-04 11:25:39 -03:00
Joao
0f6aec4cd5 fix(chat): Message toolbar fixes
- Keep message toolbar open while toolbar menu is open.
- Hide edit and delete controls for users without permissions.
2024-10-04 11:13:07 -03:00
Joao
c47f88e3b4 fix(chat): some localization labels 2024-10-03 19:02:37 -03:00
Joao
f49e0c3a33 feat(chat): edit and delete messages 2024-10-03 18:46:59 -03:00
Joao
c87c590f82 fix(chat): Hide message toolbar if user is locked 2024-10-03 16:36:08 -03:00
Joao
a5a3a0a391 fix(chat): a lot of reply UI fixes
- Fixed reply container height
- Positioning of the reply element
- Stacking of elements
- chatEmphasizedText in replies
- Support for markdown
2024-10-03 16:24:32 -03:00
André Castro
16444dd4ce
style/enhancement: Adapting poll results to various screen types. (#21329) 2024-10-03 15:07:08 -04:00
Arthur B. Grossi
1dbc773aee
feat(chat): improve messages rendering (#21323)
* feat(chat): improve messages rendering

This commit adds memoization and comparsion functions to the chat pages
and chat messages to prevent whole chat re-renders and unnecessary
message re-renders caused by React's default shallow comparsion mechanism.
The comparsion functions ensure that only the pertinent message attributes
trigger a component's re-render.

Messages sent by a user are not updated (re-rendered) when their role
change. In other words, the chat messages reflect the user's role at the
time the message was sent. Altering the message to reflect the user's
current role could confuse participants, as it would modify the context
of the past conversation. This behavior has been validated by the UI/UX
team and brings benefits such as performance improvements and consistent
behavior with how playback handles such messages.

* fix linter errors
2024-10-03 10:10:52 -03:00
Joao
8b879a2b09 fix: Hide message toolbar for system messages 2024-10-02 20:57:18 -03:00
João Victor Nunes
e60184c40e
fix: Tweak config for chat replies
- Use singular form.
- Disable it by default.

Co-authored-by: Gustavo Trott <gustavo@trott.com.br>
2024-10-02 20:45:05 -03:00
Joao
a4798695b4 feat(chat): message replies 2024-10-02 19:28:02 -03:00
Ramón Souza
cf09d183ea remove empty object 2024-09-24 08:52:28 -03:00
Ramón Souza
1a36f24445
fix chat popup notification for user away (#21212) 2024-09-19 13:35:39 -04:00
André Möller
a43b9d4ec9 style(chat/message-header): Adjust font size and add margin to offline user indicator 2024-09-12 10:34:57 -03:00
Anton Georgiev
f16eefade2
Merge pull request #21004 from GuiLeme/fix-dom-element-manipulation
fix(plugins): fix useUserCameraDomElement behavior and did some refactor
2024-09-10 14:18:47 -04:00
Ramón Souza
2b9870bea8
Merge pull request #21133 from ramonlsouza/ban-chat-client
feat (port from 2.7): Add userLockSettings to allow disablePublicChat for individual users (frontend portion)
2024-09-10 13:01:34 -03:00
Ramón Souza
d2164ebf97 fix chat form whitespace when chat is locked 2024-09-10 10:54:34 -03:00
Ramón Souza
2aa3f8453a
Merge pull request #21060 from JoVictorNunes/app-component-cleanup
refactor: App component cleanup
2024-09-10 08:33:24 -03:00
André Castro
458f8db0b6
Fix: Border radius on system messages (#21093)
* Fix: Border radious on system messages

* Update bigbluebutton-html5/imports/ui/components/chat/chat-graphql/chat-message-list/page/chat-message/message-content/text-content/styles.ts

---------

Co-authored-by: Ramón Souza <contato@ramonsouza.com>
2024-09-09 15:27:25 -03:00
Ramón Souza
323e8b73e6 lock public chat - frontend 2024-09-09 10:59:28 -03:00
João Victor
a216f8d84c refactor: Purge props of some containers (Activity Check, Notification Bar, Webcam and Chat Alert 2024-08-29 10:09:53 -03:00
André Castro
8b117ca301
Fix: Emoji picker re-opening by clicking the button to close (#21034) 2024-08-29 08:46:18 -03:00
André Castro
592fe6d627
Fix: Emoji window dislocating chat input area (#21047) 2024-08-29 08:38:22 -03:00
Gustavo Trott
af06562e02 Introduce flag currentlyInMeeting (replacing isOnline) 2024-08-28 11:08:30 -03:00
Átila
09f565d0ef
fix(darkmode): fix avatar username color in chat when dark mode is enabled (#20999) 2024-08-22 15:01:35 -03:00
Guilherme Leme
137af4e421 [fix-dom-element-manipulation] fix user-camera-dom-element-manipulation hook, refactored several hooks and added onclick event in dropdown 2024-08-20 10:42:05 -03:00
André Castro
39dba53dec
Fix: Emoji picker not closing when clicking outside (#20910)
* Fix: Emoji picker not closing when clicking outside
2024-08-14 13:54:41 -04:00
Ramón Souza
32f42163fa
fix(client): add doctype + remove extra styles (#20911) 2024-08-12 17:36:41 -04: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
Ramón Souza
d3406a2e93
refactor: remove instanceId from client (#20850) 2024-08-02 14:10:39 -04:00
André Möller
174b09e86a later changes 2024-08-01 11:59:27 -03:00
André Möller
c6b1ac6c6b Fix: Unable to focus chat when double clicking it 2024-07-31 14:02:43 -03:00
Arthur B. Grossi
291809bff0
feat(private-chat): message read confirmation feedback (#20722)
* feat(graphql-server): add new view `v_chat_private_read_feedback`

Adds a view called `v_chat_private_read_feedback` to retrieve the last seen time
of the recipient of a private chat.

* refactor(chat): removes unused prop `lastSeenAt`

* feat(private-chat): message read confirmation feedback

Adds message read confirmation feedback feature to private chats.
This feature uses the private chat recipient's `lastSeenAt' attribute to
check which messages were read. Messages read are show in the chat with
a check icon next to it.
Feature behind a flag in settings.yml, which is disabled by default:
- `public.chat.privateMessageReadFeedback.enabled`

* fix(chat): poll chart message

Fixes poll chart message which was not using the full chat width due to
previous changes in chat messages `flex-direction`.

* fix: adds missing initial value for `privateMessageReadFeedback`

* fix: linter errors

* fix(chat): add `recipientHasSeen` property to existing view

This commit changes the way the messages read by the recipient are
tracked. The previous strategy required the client to calculate the read
messages and as a consequence all messages of the given chat
were re-rendered every time the recipient `lastSeenAt` time
changed. The current strategy consists of calculating the read messages
on the server(based on recipient `lastSeenAt`) and just expose to the
client a boolean(`recipientHasSeen`) for each message that indicates whether
it has already been read or not.

* fix: typo in message description

* fix: typo in settings flag

* fix: vertically align icon
2024-07-22 12:01:24 -04:00