Commit Graph

263 Commits

Author SHA1 Message Date
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
a46afa8cd0 fix(chat): Add support for disabledFeatures in chat message toolbar 2024-10-07 08:37:35 -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
Gustavo Trott
134b207f94
refactor: Remove Hasura database-updates and move them to Gql-Actions (#20634) 2024-07-04 17:00:06 -03:00
André Castro
ecb08592f2
Fix: Message to all style not matching 2.7 (#20631)
* Fix: Message to all style not matching 2.7

* Update component.tsx
2024-07-03 19:34:58 -04:00
André Castro
d7569ddfe2
Fix: Chat input double enter key putting presenter into full screen (#20553)
* Fix: Chat input double enter key putting presenter into full screen

---------

Co-authored-by: Ramón Souza <contato@ramonsouza.com>
2024-07-02 16:44:47 -03:00
Ramón Souza
96085110a5
refactor: fix sonarcloud alerts (#20604)
* remove unused argument

* fix Do not use "Error" to declare a variable

* fix Do not use "Array" to declare a parameter

* fix React component names must start with an uppercase letter

* adjust error boundary prop type

* add default values for lock settings
2024-06-28 15:58:38 -04:00
João Victor
5207383b93 Merge branch 'v3.0.x-release' into remove-mongo-adapters 2024-06-14 15:58:23 -03:00
João Victor
78958ccf45 Remove meeting adapter consumption 2024-06-14 10:30:48 -03:00
André Möller
c446f76eaf Fix: Focus on text input is lost after sending the message 2024-06-12 10:50:12 -03:00
Ramón Souza
911f663e27 remove defaultProps from components 2024-06-11 13:10:04 -03:00
Ramón Souza
39d383c9e3
Merge pull request #20456 from ramonlsouza/user-current-improvements
user_current subscription improvements
2024-06-11 08:57:02 -03:00
KDSBrowne
3bfdeb9cfd
feat(whiteboard): Reuse poll result diagram as a whiteboard shape (#20350)
* create poll shape to render chat poll component
2024-06-10 17:12:40 -04:00
Ramón Souza
591d2c7674 query welcome message instead of getting it from current user sub 2024-06-10 11:10:28 -03: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
Tainan Felipe
3bc40df230
Add: useDeduplicatedSubscription hook (#20376)
* Add: useDeduplicatedSubscription hook

* Fix: TS error

* Add: components using useDeduplicatedSubscription

* Change: Move to useDeduplicatedSubscription

* Change: unsubscribe logic to own useEffect

* Change: remove file import over package

* Fix: TS errors

* Fix: private chat not loading

* Change: revert changes on queries

* Fix: eslint error

* Remove: html-webpack-plugin package

* Fix: external video

* Add: comment about the stringToHash function

* Fix: video player showing tools over presentation
2024-06-04 10:40:54 -03:00
Ramón Souza
7514066fc3
fix: Client can't load in certain cases (#20336)
* move settings

* remove meteor cache files
2024-05-29 09:26:11 -04:00
Gustavo Trott
b88854835c
Handling Validations and Error Reporting in bbb-graphql-actions (was in Hasura) (#20308) 2024-05-21 16:11:17 -03:00
Ramón Souza
3a015e1e99
Merge pull request #20203 from JoVictorNunes/chat-dropdown-skeleton
fix(chat): add loaders for dynamic menu items
2024-05-20 15:44:38 -03:00
João Victor
77a5e1277b fix(chat): avoid console warnings 2024-05-20 11:09:01 -03:00