From 759c8ab2e1ea1930b12fe4803004c42e40da99dd Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Fri, 5 Jun 2020 11:10:38 +0100 Subject: [PATCH] Tweaks --- federationsender/internal/perform/join.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/federationsender/internal/perform/join.go b/federationsender/internal/perform/join.go index b6017361a..16f1f646c 100644 --- a/federationsender/internal/perform/join.go +++ b/federationsender/internal/perform/join.go @@ -43,8 +43,8 @@ func (r joinContext) CheckSendJoinResponse( // See if we have retry entries for each of the supplied event IDs. for _, eventID := range eventIDs { - // If we've already satisfied a request for ths event ID before then - // just append the results. + // If we've already satisfied a request for this event ID before then + // just append the results. We won't retry the request. if retry, ok := retries[eventID]; ok { if retry == nil { return nil, fmt.Errorf("missingAuth: not retrying failed event ID %q", eventID) @@ -64,7 +64,9 @@ func (r joinContext) CheckSendJoinResponse( return nil, fmt.Errorf("missingAuth r.federation.GetEvent: %w", txerr) } - // For each event returned, add it to the auth events. + // For each event returned, add it to the set of return events. We + // also will populate the retries, in case someone asks for this + // event ID again. for _, pdu := range tx.PDUs { ev, everr := gomatrixserverlib.NewEventFromUntrustedJSON(pdu, roomVersion) if everr != nil { @@ -72,6 +74,7 @@ func (r joinContext) CheckSendJoinResponse( } returning = append(returning, ev) retries[event.EventID()] = append(retries[event.EventID()], ev) + retries[ev.EventID()] = append(retries[ev.EventID()], ev) } }