Merge pull request #5481 from SpiritCroc/readmarkerupdate

Fix updating unread marker if not to latest chunk
This commit is contained in:
ganfra 2022-04-07 10:23:58 +02:00 committed by GitHub
commit 72bd398ae0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 5 additions and 1 deletions

1
changelog.d/5481.bugfix Normal file
View File

@ -0,0 +1 @@
Fix sometimes read marker not properly updating

View File

@ -226,6 +226,9 @@ internal fun ChunkEntity.isMoreRecentThan(chunkToCheck: ChunkEntity): Boolean {
if (chunkToCheck.doesNextChunksVerifyCondition { it == this }) {
return true
}
if (this.doesNextChunksVerifyCondition { it == chunkToCheck }) {
return false
}
// Otherwise check if this chunk is linked to last forward
if (this.doesNextChunksVerifyCondition { it.isLastForward }) {
return true

View File

@ -94,7 +94,7 @@ internal fun isReadMarkerMoreRecent(realmConfiguration: RealmConfiguration,
val eventToCheckIndex = eventToCheck?.displayIndex ?: Int.MAX_VALUE
eventToCheckIndex <= readMarkerIndex
} else {
eventToCheckChunk?.isLastForward == false
eventToCheckChunk != null && readMarkerChunk?.isMoreRecentThan(eventToCheckChunk) == true
}
}
}