element-x-android
element-x-android copied to clipboard
Resent messages out of order after coming back online
Steps to reproduce
- Switch on airplane mode
- Go to my test room (created as a room, converted to DM, I am only member)
- Send (2) message(s) - I was intending to test sequence
- Switch off airplane mode
- Watch both messages move up in the timeline to be above older messages
Outcome
What did you expect?
Unsent messages stay on the bottom
What happened instead?
Unsent messages to higher in the timeline than older messages (which were successfully received before the unsent messages are written)
Your phone model
Pixel 6a
Operating system version
Graphene OS
Application version and app store
Nightly
Homeserver
matrix.org
Will you send logs?
No
Are you willing to provide a PR?
No
FWIW I had this happen today (which happens to be the first day I try Element X / Sliding Sync on my account/homesever). I didn't go into airplane mode, the phone's deep sleep was enough to trigger the bug.
All my rooms are stuck with the last message (according to the timeline and the rooms list) being some hours ago, and all new messages are being inserted above some other old messages in the timeline.
Happy to try and provide logs if you can tell me what would be useful.
Same here. My timeline is completely random - new messages even appear at the bottom, while old ones are mixed with semi recent ones. I can't see any logic in it, and it seemed to actually be this way from the very first login.
I can repro the problem with the latest Element X Android nightly.
Moreover, after the network is back, if I click on the second message and retry to sent it, it is sent but the first unsent message move again in the history of the timeline.
The message ordering is managed by the Rust SDK, I move the issue over there.
Note: I have checked and the issue is also observed on Element X iOS.
Replaced by https://github.com/matrix-org/matrix-rust-sdk/issues/3287
The SDK issue is now fixed. Let's close the app one.