bigbluebutton-Github/bbb-graphql-server
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
..
metadata feat(private-chat): message read confirmation feedback (#20722) 2024-07-22 12:01:24 -04:00
bbb_schema.sql feat(private-chat): message read confirmation feedback (#20722) 2024-07-22 12:01:24 -04:00
build_hasura.sh Introduces userTyping, user_connectionStatus and other flags to Postgres/Hasura 2023-04-05 13:56:22 -03:00
config.yaml use sed to change config.yaml 2024-05-07 13:35:12 -03:00
deploy.sh Removes old PG user/tabled created for Meteor auth 2024-07-19 11:38:46 -03:00
README.md Set a different password for Hasura admin 2024-05-07 11:39:34 -03:00

Install

Run the script to install all dependencies:

cd ~/src/bbb-graphql-server
sudo ./install-hasura.sh

Update libs

cd ~/src/bbb-common-message; 
./deploy.sh; 
cd ~/src/akka-bbb-apps; 
sbt update; 
cd ~/src/bbb-common-web; 
./deploy.sh; 
cd ~/src/bigbluebutton-web/; 
./build.sh; 

Run Akka from source

cd ~/src/akka-bbb-apps/; 
./run-dev.sh

Run BBB-web from source

cd ~/src/bigbluebutton-web/; 
./run-dev.sh;

Run Html5 from source

cd ~/src/bigbluebutton-html5/;
./run-dev.sh;

Hasura Console

http://bbb30.bbbvm.imdt.com.br:8085/console

password: bigbluebutton

Client for tests:

cd  ~/src/bbb-graphql-client-test
npm install
npm start

https://bbb30.bbbvm.imdt.com.br/graphql-test

  • Join in a meeting, copy the param ?sessionToken=xxx and append it to the URL above