From 667408a8a444afe8eaef8ab53e0167b1606ca43d Mon Sep 17 00:00:00 2001 From: Brendan Abolivier Date: Fri, 8 Sep 2017 13:56:12 +0100 Subject: [PATCH] Use AuthEvents to retrieve the 3PID invite --- .../dendrite/federationapi/writers/threepid.go | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/github.com/matrix-org/dendrite/federationapi/writers/threepid.go b/src/github.com/matrix-org/dendrite/federationapi/writers/threepid.go index c0706879e..a37f8a363 100644 --- a/src/github.com/matrix-org/dendrite/federationapi/writers/threepid.go +++ b/src/github.com/matrix-org/dendrite/federationapi/writers/threepid.go @@ -125,10 +125,6 @@ func createInviteFrom3PIDInvite( return nil, nil } - if err = fillDisplayName(builder, content, queryRes.StateEvents); err != nil { - return nil, err - } - // Finish building the event builder.Depth = queryRes.Depth builder.PrevEvents = queryRes.LatestEvents @@ -139,6 +135,10 @@ func createInviteFrom3PIDInvite( authEvents.AddEvent(&queryRes.StateEvents[i]) } + if err = fillDisplayName(builder, content, authEvents); err != nil { + return nil, err + } + refs, err := eventsNeeded.AuthEventReferences(&authEvents) if err != nil { return nil, err @@ -167,15 +167,10 @@ func createInviteFrom3PIDInvite( // rejected by gomatrixserverlib. func fillDisplayName( builder *gomatrixserverlib.EventBuilder, content common.MemberContent, - stateEvents []gomatrixserverlib.Event, + authEvents gomatrixserverlib.AuthEvents, ) error { // Look for the m.room.third_party_invite event - var thirdPartyInviteEvent *gomatrixserverlib.Event - for _, event := range stateEvents { - if event.Type() == "m.room.third_party_invite" && *(event.StateKey()) == content.ThirdPartyInvite.Signed.Token { - thirdPartyInviteEvent = &event - } - } + thirdPartyInviteEvent, _ := authEvents.ThirdPartyInvite(content.ThirdPartyInvite.Signed.Token) if thirdPartyInviteEvent == nil { // If the third party invite event doesn't exist then we can't use it to set the display name.