aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeil Alexander <neilalexander@users.noreply.github.com>2022-10-04 15:40:04 +0100
committerGitHub <noreply@github.com>2022-10-04 15:40:04 +0100
commitae10aac456e90dc6a3ea56ca4aceb4a4e5aa8e04 (patch)
treef674cb75760f507054215d6b4b1ce73621d00526
parent3da182212e86daca1d7019efbd424b2bd38b8b3c (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.go2
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)