mirror of
https://github.com/SchildiChat/SchildiChat-android.git
synced 2024-11-28 22:18:46 +03:00
3b6b51748e
When lots (> 10) of messages arrive in a chat, such that not all get /sync'ed, the app couldn't properly check if events that were not synced are before or after the read marker. The previous way to handle this was just to always assume these events would be unread, which caused some old messages show in notifications and not dismiss themselves when appropriate. Unfortunately, we can not safely assume that if the read marker is in the latest chunk, the missing events would be read, since we may be showing "fastlane" notifications from fcm/push before the /sync finished. Thus, with this commit, we now remove messages that weren't synced or paginated if they meet the following heuristic: 1. The read marker is in the latest chunk and 2. The read marker points at an event with a timestamp later than the one of the missing event. Change-Id: I8053252e95a3b2142512f93244647a86b6f1a231 |
||
---|---|---|
.. | ||
sampledata | ||
signature | ||
src | ||
.gitignore | ||
build.gradle | ||
lint.xml | ||
proguard-rules.pro |