diff --git a/syncapi/streams/stream_pdu.go b/syncapi/streams/stream_pdu.go index 9f9641c1a..dc625c749 100644 --- a/syncapi/streams/stream_pdu.go +++ b/syncapi/streams/stream_pdu.go @@ -498,6 +498,7 @@ func (p *PDUStreamProvider) getJoinResponseForCompleteSync( // transaction IDs for complete syncs, but we do it anyway because Sytest demands it for: // "Can sync a room with a message with a transaction id" - which does a complete sync to check. recentEvents := p.DB.StreamEventsToEvents(device, recentStreamEvents) + stateEvents = removeDuplicates(stateEvents, recentEvents) events := recentEvents // Only apply history visibility checks if the response is for joined rooms @@ -508,8 +509,6 @@ func (p *PDUStreamProvider) getJoinResponseForCompleteSync( } } - stateEvents = removeDuplicates(stateEvents, recentEvents) - // If we are limited by the filter AND the history visibility filter // didn't "remove" events, return that the response is limited. limited = limited && len(events) == len(recentEvents)