From efe28db631bd07240dea53280d8c8f2ecc20684a Mon Sep 17 00:00:00 2001 From: Till <2353100+S7evinK@users.noreply.github.com> Date: Fri, 4 Nov 2022 15:39:09 +0100 Subject: [PATCH] Update `latestPosition` when getting reversed room delta (#2860) Regression test added in https://github.com/matrix-org/complement/pull/551 Should fix https://github.com/matrix-org/dendrite/issues/2514? --- syncapi/streams/stream_pdu.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/syncapi/streams/stream_pdu.go b/syncapi/streams/stream_pdu.go index b21be6c5..65ca8e2a 100644 --- a/syncapi/streams/stream_pdu.go +++ b/syncapi/streams/stream_pdu.go @@ -264,6 +264,9 @@ func (p *PDUStreamProvider) addRoomDeltaToResponse( // Work out what the highest stream position is for all of the events in this // room that were returned. latestPosition := r.To + if r.Backwards { + latestPosition = r.From + } updateLatestPosition := func(mostRecentEventID string) { var pos types.StreamPosition if _, pos, err = snapshot.PositionInTopology(ctx, mostRecentEventID); err == nil {