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

Conversation View: Consistent message order #937

Closed
lablans opened this issue Mar 2, 2014 · 5 comments
Closed

Conversation View: Consistent message order #937

lablans opened this issue Mar 2, 2014 · 5 comments
Labels

Comments

@lablans
Copy link

lablans commented Mar 2, 2014

Please correct me, but as far as I can tell, messages are sorted by time of arrival. However, since the messages are transported either via SMS or via Google Cloud Messaging, both of which don't guarantee ordering, messages may appear in the wrong order. This means that chat participants may see deviating orders of messages, replies to messages they don't even see. In theory, it's even possible that several messages from the same sender arrive and are displayed in wrong order.

  • Idea 1: Sort the conversation view by "sent" timestamp. See also Display send date for incoming messages #806. Problem: What is the "sent" date? Is it reliable? Is it set by the client or the TS server (farm)?
  • Idea 2: Give each message a sequence number generated by the TextSecure server. Sort conversation view according to those numbers. Problem: Many, but not all messages go through the TS server.
  • Idea 3: Employ vector clocks.
@moxie0
Copy link
Contributor

moxie0 commented Mar 2, 2014

If it's an encrypted conversation, we can actually display pairwise messages in a cryptographically guaranteed order.

@lablans
Copy link
Author

lablans commented Mar 3, 2014

Sounds fancy ;-) I have just experienced another use-case to consider:

Just received a message sent 10:52, received 12:11. There were several messages in between. Of course, the 10:52 message shows last, and makes no sense in the context.

I know you can't get guarantees out of GCM, but maybe you can display a bubble like "There should be a message here! 1 or more messages still in transit." - once the message(s) arrive(s), replace the bubble with it/them.

@frictionlessmeme
Copy link

Here's a third use case.

As a security conscious user, you frequently remove the battery from your phone.

When the battery is removed from the phone, on some models, the date and time reset to 00:00 01/01/1970, or some such.

Then text messages start arriving as soon as the network connection initializes.

The messages pile up at the top of the message thread. On long message threads, you have to scroll up for half an hour to see them. They are all in the wrong order.

The more frequently this happens, the more messages gather at the top of the message thread appear in an asynchronous mess.

The only workaround is to turn on plane mode as the phone is booting up, and set the date right before turning it on again.

Couldn't incoming messages just be added to the bottom of the thread, no matter what their timestamp is?

@automated-signal
Copy link

GitHub Issue Cleanup:
See #7598 for more information.

@signalapp signalapp locked and limited conversation to collaborators Apr 2, 2018
@2-4601
Copy link
Contributor

2-4601 commented Apr 17, 2018

This feature request is being discussed and tracked here.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Development

No branches or pull requests

6 participants