Signal-android: Message ordering reflects device time, which may be inaccurate

Created on 6 Jul 2017  路  7Comments  路  Source: signalapp/Signal-Android

I have:


Bug description

When the device time is wrong, messages appear out of order

Steps to reproduce

  • find a long running chat (over several days).
  • Change the device time to sometime in the bast
  • send a message in the long running chat. Have the recipient message you back

Actual result: The message enters the view at the bottom of the chat history as usual but then vanishes and appears earlier in the history. Likewise, when you receive a message - you'll get a notification but the message preview doesn't display the message you just received.

Expected result: The chats should appear in the "correct" order, with the correct time, independent from the device time. The preview should work normally.

Additional Rationale why this behavior is undesirable: If you travel very frequently, you may end up jumping timezones where you are sending messages in what appears to be the past. Other messengers like whatsapp correctly handle this.

Device info


Device: Galaxy S5
Android version: 6.0.1
Signal version: 4.7.4

Link to debug log

https://gist.github.com/anonymous/9f40af46fec2f62a91cd5c996f7317a2
111

Most helpful comment

@haffenloher unintended device time changes are not that uncommon, signal should not rely on it when ordering messages

All 7 comments

If you travel very frequently, you may end up jumping timezones where you are sending messages in what appears to be the past

Did you test this? I think Signal handles the case of moving from one timezone to another correctly. According to your repro steps, you manually changed the device time instead of switching timezones.

@haffenloher unintended device time changes are not that uncommon, signal should not rely on it when ordering messages

@haffenloher, no, I didn't test the timezone change. I, perhaps prematurely, jumped to the conclusion that the two cases were equivalent. I encountered this problem because somehow my device setting to "accept network time" got unchecked and the date was set to a week ago. I was receiving messages normally on all my messengers but I noticed signal was misbehaving.

I also saw this with a custom set time, due to being in a different time zone with airplane mode engaged to not use data. When I returned home and connected before resetting my phone to use network time it downloaded the queued messages and used the custom set timestamp.

I was under the impression that one of the development ideologys was, that there is no such thing as time.

https://github.com/WhisperSystems/Signal-Android/blob/master/CONTRIBUTING.md

Just wanted to not that it seems timezones are not used correectly right now. I had a group chat (I'm in Germany) with a person in Brazil and sometimes his answers appear before my questions.

GitHub Issue Cleanup:
See #7598 for more information.

Was this page helpful?
0 / 5 - 0 ratings