From 0e93f7183a8fd9ececaa457c52c06c6346e8d1e8 Mon Sep 17 00:00:00 2001 From: Devon Hudson Date: Tue, 4 Jul 2023 21:20:58 -0600 Subject: [PATCH] Check room version before sending federated invite --- federationapi/internal/perform.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/federationapi/internal/perform.go b/federationapi/internal/perform.go index 1b2a54455..ff00305bf 100644 --- a/federationapi/internal/perform.go +++ b/federationapi/internal/perform.go @@ -611,6 +611,11 @@ func (r *FederationInternalAPI) SendInviteV3( if err != nil { return nil, err } + verImpl, err := gomatrixserverlib.GetRoomVersion(version) + if err != nil { + return nil, err + } + inviter, err := r.rsAPI.QueryUserIDForSender(ctx, *validRoomID, spec.SenderID(event.SenderID)) if err != nil { return nil, err @@ -638,10 +643,6 @@ func (r *FederationInternalAPI) SendInviteV3( if err != nil { return nil, fmt.Errorf("r.federation.SendInviteV3: failed to send invite: %w", err) } - verImpl, err := gomatrixserverlib.GetRoomVersion(version) - if err != nil { - return nil, err - } inviteEvent, err := verImpl.NewEventFromUntrustedJSON(inviteRes.Event) if err != nil {