-
-
Notifications
You must be signed in to change notification settings - Fork 107
Description
I use Delta Chat on Android in a mutli-device setup. Specifically, I use Delta Chat for Android (currently version 2.11.0) on my phone while I use a non-Delta Chat email client on my laptop. Sometimes I read and write messages on my laptop while my phone is offline.
Since Delta Chat watches the Sent folder, those interactions show up in Delta Chat once my phone comes back online. However, messages often appear in the wrong order. Specifically, messages in Sent seem to consistently appear before messages in INBOX, regardless of the timestamp displayed in the bottom right corner. Take, for instance, the following exchange I had with a friend on August 1st:
- Message from friend at 9:10 AM [stored in INBOX]
- — phone goes offline —
- Reply A from myself at 10:49 AM [stored in Sent]
- Reply B from friend at 10:54 AM [stored in INBOX]
- Reply C from myself at 11:19 AM [stored in Sent]
- — phone comes back online —
Fairly standard so far, right? However, after receiving the initial Message, I took my phone offline and switched to my laptop. My phone got back online after I wrote Reply C. Now the conversation appears in the following order in Delta Chat:
- Message from friend at 9:10 AM [stored in INBOX]
- Reply A from myself at 10:49 AM [stored in Sent]
- Reply C from myself at 11:19 AM [stored in Sent]
- Reply B from friend at 10:54 AM [stored in INBOX]
All messages display the correct timestamp in the bottom right corner. It is only the order that is wrong. I believe that this might be caused by Delta Chat sorting messages by some “first seen” timestamp, rather by the timestamp found in the Date header. Combined with Delta Chat checking the Sent folder first and the INBOX folder second.
Maybe this could be fixed by sorting messages by their Date rather than the first seen timestamp. Maybe there are other drawbacks of doing that that I don’t know about? In any case, one might want to keep in mind that (at least in my experience) non-technical users usually put far more trust in email Date headers than they deserve. Especially when the UI sets them apart, like Delta Chat does by placing the Date timestamp in the bottom right corner of the message. So even if messages are sorted by their first seen timestamp with the intent of making the UI more predictable, users will probably still see the order as “wrong”. I do not know if there is any perfect solution for handling out-of-order message delivery, but sorting messages by their Date header is probably more robust; especially in cases like the one described above.
This issue is only a minor annoyance, of course. Also, I do realize that I can solve this issue by just storing all outgoing messages in INBOX (just like Delta Chat does). However, if there are no particularly compelling reasons against sorting messages by their Date header, it might be a good idea to do so since it would improve the situation for people with not-always-online phones (like myself) who watch their Sent folder.
Note: I had previously opened this issue as deltachat/deltachat-android#3900, where I was redirected here.