Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create message sent status #282

Open
h1divp opened this issue Sep 13, 2024 · 4 comments
Open

Create message sent status #282

h1divp opened this issue Sep 13, 2024 · 4 comments
Labels
Feature New feature or request Planning Request for planning help

Comments

@h1divp
Copy link
Collaborator

h1divp commented Sep 13, 2024

This feature is written in our MVP.

Description

When a message is sent to the server, there is a delay between the time when the send button is pressed, and when the nearby users receive the sent message. To show a quick status to let the client-user know weather or not the sent message has been received, apps implement this in different ways.

Architectural decisions

Before an implementation can be made, we need to know how we want our users to see this status. Potential solutions can be

  • Showing a small indicator at the bottom corner of the group of messages sent by a user (note: not after every single one of them for good UX). For example this could be a checkmark icon, or multiple checkmarks to show after the message has been stored into Firebase, and after the message has been sent to other users (a read receipt), respectively.
  • Greying the message out until it has been received by the server/stored into firebase. On the backend this can be implemented very easily using websocket acknowledgements, which have already somewhat implemented.

So in essence, do we want read receipts? Do we want to show the user the message has been received after its been acknowledged by the server, or stored in Firebase?

Potential implementation

  1. (UI) Create a design for what the message sent status will look like.
  2. (Front-end) Create the components/styles/state needed to render this.
  3. (Back-end) Create a way to send message-sent status back to the client. Probably using websockets.
  4. (Front-end) Create a way to receive message-sent status from the server
  5. (Front-end) Change message-sent state in the chat message. Make sure affected components are rendered properly.

Issue list will be in the comments below.

@h1divp h1divp added Feature New feature or request Planning Request for planning help labels Sep 13, 2024
@dyland88
Copy link
Collaborator

I like the implementation of graying out the message before it is acknowledged, like on discord.

@Nqnt41
Copy link

Nqnt41 commented Nov 6, 2024

Are the changes in this issue in a concrete enough stage to work on, or does more planning need to be done before they can be implemented? I would be interested in working on some of these issues when they are ready.

@dyland88
Copy link
Collaborator

dyland88 commented Nov 6, 2024

If you want to work on the frontend aspects, you could definitely just get started since this just requires graying out messages depending on a useState or useEffect. Maybe this could be a new prop that is put into the message component.
As for the backend stuff, if you want to do some research into how the message-sent status can be implemented you can totally start working that too.

@Nqnt41
Copy link

Nqnt41 commented Nov 7, 2024

I could get started on the front-end work, sure. I'll look into the back-end if I have extra time as well, but I can start with the UI styling.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature New feature or request Planning Request for planning help
Projects
None yet
Development

No branches or pull requests

3 participants