From 0845a6e91889f4d54e645ac69bc05ef1a96086e4 Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Sun, 6 Feb 2022 16:37:36 +0000 Subject: [PATCH] Don't treat rejected events without state as missing --- roomserver/internal/query/query.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/roomserver/internal/query/query.go b/roomserver/internal/query/query.go index 6b4cb5816..98a9c9e73 100644 --- a/roomserver/internal/query/query.go +++ b/roomserver/internal/query/query.go @@ -149,7 +149,11 @@ func (r *Queryer) QueryMissingAuthPrevEvents( } for _, prevEventID := range request.PrevEventIDs { - if state, err := r.DB.StateAtEventIDs(ctx, []string{prevEventID}); err != nil || len(state) == 0 { + state, err := r.DB.StateAtEventIDs(ctx, []string{prevEventID}) + if len(state) == 1 && state[0].IsRejected { + continue + } + if err != nil || len(state) == 0 { response.MissingPrevEventIDs = append(response.MissingPrevEventIDs, prevEventID) } }