Send read receipts (#713)

* Send read receipts

* Add changelog

* Add tests.

* Optimise how sending read receipts work in the timeline.

* Move the check for send read receipts to the presenter

Also improve the way we find the first visible `Event` if we have `Virtual` ones in the timeline.
This commit is contained in:
Jorge Martin Espinosa 2023-06-29 12:08:19 +02:00 committed by GitHub
parent 712a9226e6
commit 96d90a75d9
8 changed files with 128 additions and 0 deletions

View file

@ -32,6 +32,9 @@ class FakeMatrixTimeline(
private val paginationState: MutableStateFlow<MatrixTimeline.PaginationState> = MutableStateFlow(initialPaginationState)
private val timelineItems: MutableStateFlow<List<MatrixTimelineItem>> = MutableStateFlow(initialTimelineItems)
var sendReadReceiptCount = 0
private set
fun updatePaginationState(update: (MatrixTimeline.PaginationState.() -> MatrixTimeline.PaginationState)) {
paginationState.value = update(paginationState.value)
}
@ -66,4 +69,9 @@ class FakeMatrixTimeline(
override suspend fun fetchDetailsForEvent(eventId: EventId): Result<Unit> {
return Result.success(Unit)
}
override suspend fun sendReadReceipt(eventId: EventId): Result<Unit> {
sendReadReceiptCount++
return Result.success(Unit)
}
}