Bulk fetch events for restricted room join members

This commit is contained in:
Devon Hudson 2023-05-15 13:00:13 -06:00
parent faa0aa0744
commit 9742cbfe78
No known key found for this signature in database
GPG key ID: CD06B18E77F6A628

View file

@ -882,15 +882,15 @@ func (r *Queryer) GetLocallyJoinedUsers(ctx context.Context, roomVersion gomatri
return nil, err
}
events, err := r.DB.Events(ctx, roomVersion, joinNIDs)
if err != nil {
return nil, err
}
// For each of the joined users, let's see if we can get a valid
// membership event.
joinedUsers := []gomatrixserverlib.PDU{}
for _, joinNID := range joinNIDs {
events, err := r.DB.Events(ctx, roomVersion, []types.EventNID{joinNID})
if err != nil || len(events) != 1 {
continue
}
event := events[0]
for _, event := range events {
if event.Type() != spec.MRoomMember || event.StateKey() == nil {
continue // shouldn't happen
}