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

[Story] Message queue and interactions #1774

Closed
3 of 6 tasks
manuroe opened this issue Jun 10, 2023 · 5 comments
Closed
3 of 6 tasks

[Story] Message queue and interactions #1774

manuroe opened this issue Jun 10, 2023 · 5 comments

Comments

@manuroe
Copy link
Member

manuroe commented Jun 10, 2023

As a user, I want to see the sending status in the timeline when posting a message:

  • if I leave the room screen and come back, the pending or failed messages must be displayed
  • I must be able to retry a failed sending or cancel it
  • I must be able to cancel a sending in progress
  • messages that failed to sent must be highly visible in the timeline

Timestamp and postion in the timeline (doc):

  • local echo timestamp and position must be the one when the users hit the send button
  • timestamp and position must be updated when the message hit the server (come back from /sync)

Tasks for BBQ Release

Preview Give feedback

Tasks

Preview Give feedback
  • QA signoff on completion
  • Design signoff on completion
  • Product signoff on completion

Stretch goals

None at this time

Out of scope

  • Media upload
  • App restart
@jplatte
Copy link

jplatte commented Jun 21, 2023

I wonder what should happen when there is already one message (or more) in failed state, and the user sends another message. I think both of the following options are reasonable:

  • Create a local echo that's immediately in failed / cancelled state
  • Create a local echo in pending state and also update all failed / cancelled items to pending, retrying them in order

There could even be some failed and some pending local echoes at the same time (in the case multiple messages failed and just one was retried). Again the question arises what to do when a message is sent (i.e. a new local echo added).

@VolkerJunginger
Copy link
Contributor

Once a message has failed completely and only can be send again manually by re-triggering the message should not be part of the queue anymore. The user would see the message (locally) in the timeline with the error message "Cannot be send".

Any following message should enter the queue and be send.

It's debatable how long the failed message should stay locally on the phone. WA for example keeps all failed messages forever (unless you uninstall the app)
IMG_E4BDB8697EA8-1

@jplatte
Copy link

jplatte commented Jun 21, 2023

Okay. What I'm a little worried about then is the case of the previous message entering failed state just as the user is about to send another message. They probably don't intend the second one to be sent before / independently of the first (now failed) one, right? Anyways, can always revisit later.

@VolkerJunginger
Copy link
Contributor

Yes, that's true but a scenario I could live with.

@jplatte jplatte removed their assignment Dec 7, 2023
@manuroe
Copy link
Member Author

manuroe commented Sep 11, 2024

Most if not everything was covered by https://github.com/element-hq/element-internal/issues/312

@manuroe manuroe closed this as completed Sep 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants