diff --git a/roomserver/internal/perform/perform_join.go b/roomserver/internal/perform/perform_join.go index 7d25897aa..e95edeeb8 100644 --- a/roomserver/internal/perform/perform_join.go +++ b/roomserver/internal/perform/perform_join.go @@ -246,15 +246,10 @@ func (r *Joiner) performJoinRoomByID( if restricted, roomIDs, rerr := r.checkIfRestrictedJoin(ctx, req); rerr != nil { return "", "", fmt.Errorf("r.performRestrictedJoinChecks: %w", rerr) } else if restricted { - success := false for _, roomID := range roomIDs { - if err = r.attemptRestrictedJoinUsingRoomID(ctx, req, roomID, &eb); err != nil { - continue + if err = r.attemptRestrictedJoinUsingRoomID(ctx, req, roomID, &eb); err == nil { + break } - success = true - } - if !success { - return "", "", fmt.Errorf("restricted join failed") } }