diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/LoadTimelineStrategy.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/LoadTimelineStrategy.kt index aa4f2d5a3b..4526756ce5 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/LoadTimelineStrategy.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/LoadTimelineStrategy.kt @@ -90,6 +90,7 @@ internal class LoadTimelineStrategy( private var getContextLatch: CompletableDeferred? = null private var chunkEntity: RealmResults? = null private var timelineChunk: TimelineChunk? = null + private var sendingEventCount: Int = 0 private val chunkEntityListener = OrderedRealmCollectionChangeListener { _: RealmResults, changeSet: OrderedCollectionChangeSet -> // Can be call either when you open a permalink on an unknown event @@ -189,7 +190,7 @@ internal class LoadTimelineStrategy( } fun getBuiltEventIndex(eventId: String): Int? { - return timelineChunk?.getBuiltEventIndex(eventId, searchInNext = true, searchInPrev = true) + return timelineChunk?.getBuiltEventIndex(eventId, searchInNext = true, searchInPrev = true)?.let { it + sendingEventCount } } fun getBuiltEvent(eventId: String): TimelineEvent? { @@ -205,6 +206,8 @@ internal class LoadTimelineStrategy( sendingEventsDataSource.buildSendingEvents() } else { emptyList() + }.also { + sendingEventCount = it.size } }