Only track read receipts on message-like events (#7361)

Ask the SDK to track receipts on message-like events only, for the live
timeline and for the focused and threaded ones, so all three agree. The
disabled case for the media and pinned-event timelines is unchanged. 

This matches the behaviour on Element X iOS.

The SDK attaches the receipt to the preceding event rather than the next
one, which is the placement its API offers.
This commit is contained in:
hayyaksi
2026-08-31 12:44:40 +03:00
committed by GitHub
parent 9ad21a1724
commit b85174d35e
2 changed files with 2 additions and 2 deletions
@@ -265,7 +265,7 @@ class JoinedRustRoom(
filter = filter, filter = filter,
internalIdPrefix = internalIdPrefix, internalIdPrefix = internalIdPrefix,
dateDividerMode = dateDividerMode, dateDividerMode = dateDividerMode,
trackReadReceipts = if (trackReadReceipts) TimelineReadReceiptTracking.ALL_EVENTS else TimelineReadReceiptTracking.DISABLED, trackReadReceipts = if (trackReadReceipts) TimelineReadReceiptTracking.MESSAGE_LIKE_EVENTS else TimelineReadReceiptTracking.DISABLED,
reportUtds = true, reportUtds = true,
) )
).let { innerTimeline -> ).let { innerTimeline ->
@@ -140,7 +140,7 @@ class RustRoomFactory(
filter = timelineFilter?.let(TimelineFilter::EventFilter) ?: TimelineFilter.All, filter = timelineFilter?.let(TimelineFilter::EventFilter) ?: TimelineFilter.All,
internalIdPrefix = "live", internalIdPrefix = "live",
dateDividerMode = DateDividerMode.DAILY, dateDividerMode = DateDividerMode.DAILY,
trackReadReceipts = TimelineReadReceiptTracking.ALL_EVENTS, trackReadReceipts = TimelineReadReceiptTracking.MESSAGE_LIKE_EVENTS,
reportUtds = true, reportUtds = true,
) )
) )