diff --git a/syncapi/streams/stream_pdu.go b/syncapi/streams/stream_pdu.go index 1003208fd..088c1a7ca 100644 --- a/syncapi/streams/stream_pdu.go +++ b/syncapi/streams/stream_pdu.go @@ -497,6 +497,11 @@ func (p *PDUStreamProvider) lazyLoadMembers( } // Add all users the client doesn't know about yet to a list for _, event := range timelineEvents { + // If we're doing an initial sync, add all users to the state events, bypassing the cache + if !incremental { + timelineUsers[event.Sender()] = struct{}{} + continue + } // Membership is not yet cached, add it to the list if _, ok := p.lazyLoadCache.IsLazyLoadedUserCached(device, roomID, event.Sender()); !ok { timelineUsers[event.Sender()] = struct{}{}