Don't check missing state for create events

This commit is contained in:
Neil Alexander 2022-01-21 10:57:38 +00:00
parent d93ddb08d1
commit f226066783
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944

View file

@ -149,8 +149,14 @@ func (r *Queryer) QueryMissingAuthPrevEvents(
}
for _, prevEventID := range request.PrevEventIDs {
if state, err := r.DB.StateAtEventIDs(ctx, []string{prevEventID}); err != nil || len(state) == 0 {
if eventTypes, err := r.DB.EventTypeNIDs(ctx, []string{prevEventID}); err != nil || len(eventTypes) == 0 {
response.MissingPrevEventIDs = append(response.MissingPrevEventIDs, prevEventID)
} else if eventTypes[prevEventID] != types.MRoomCreateNID {
// We only want to check for missing state for events that aren't create
// events, because there is no state before a create event
if state, err := r.DB.StateAtEventIDs(ctx, []string{prevEventID}); err != nil || len(state) == 0 {
response.MissingPrevEventIDs = append(response.MissingPrevEventIDs, prevEventID)
}
}
}