diff options
author | Neil Alexander <neilalexander@users.noreply.github.com> | 2022-10-04 15:40:04 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-04 15:40:04 +0100 |
commit | ae10aac456e90dc6a3ea56ca4aceb4a4e5aa8e04 (patch) | |
tree | f674cb75760f507054215d6b4b1ce73621d00526 | |
parent | 3da182212e86daca1d7019efbd424b2bd38b8b3c (diff) |
Don't perform a federated join after invite if we are already joined to the room (#2762)
If we are already joined to the room then it shouldn't matter if you
were invited or not, so this looks like a bug.
-rw-r--r-- | roomserver/internal/perform/perform_join.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/roomserver/internal/perform/perform_join.go b/roomserver/internal/perform/perform_join.go index 43be54be..167b375b 100644 --- a/roomserver/internal/perform/perform_join.go +++ b/roomserver/internal/perform/perform_join.go @@ -237,7 +237,7 @@ func (r *Joiner) performJoinRoomByID( // Force a federated join if we're dealing with a pending invite // and we aren't in the room. isInvitePending, inviteSender, _, err := helpers.IsInvitePending(ctx, r.DB, req.RoomIDOrAlias, req.UserID) - if err == nil && isInvitePending { + if err == nil && !serverInRoom && isInvitePending { _, inviterDomain, ierr := gomatrixserverlib.SplitID('@', inviteSender) if ierr != nil { return "", "", fmt.Errorf("gomatrixserverlib.SplitID: %w", err) |