Show jump-to-unread when read marker is outside the loaded window

When the m.fully_read marker event is older than the loaded timeline
window, no virtual ReadMarker item is inserted and the chevron-up FAB
silently no-ops. Surfaces the SDK's new fully_read_event_id on RoomInfo
and routes the tap through the existing FocusOnEvent flow so the FAB
appears in catch-up scenarios and lands the user on the marker.

Bumps matrix-rust-components-kotlin to 26.05.20 to pick up the FFI
field; absorbs the ClientBuildException.InvalidRawKey and suspend
SpaceRoomList.rooms / subscribeToRoomUpdate API breaks.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jenna Vassar
2026-05-21 07:11:53 -07:00
parent 257040f5ca
commit bdb42759de
15 changed files with 254 additions and 39 deletions
@@ -70,6 +70,11 @@ data class RoomInfo(
* notification settings.
*/
val numUnreadMentions: Long,
/**
* Event ID of the user's `m.fully_read` marker for this room, if any.
* Can be set even when the event is older than the loaded timeline window.
*/
val fullyReadEventId: EventId?,
val heroes: ImmutableList<MatrixUser>,
val pinnedEventIds: ImmutableList<EventId>,
val creators: ImmutableList<UserId>,