1 files changed, 7 insertions, 4 deletions
diff --git a/synapse/handlers/room.py b/synapse/handlers/room.py
index b856b424a7..e07472b4b9 100644
--- a/synapse/handlers/room.py
+++ b/synapse/handlers/room.py
@@ -483,10 +483,13 @@ class RoomMemberHandler(BaseHandler):
should_do_dance = not self.hs.is_mine(inviter)
room_hosts = [inviter.domain]
- elif "sender" in event.content:
- inviter = UserID.from_string(event.content["sender"])
- should_do_dance = not self.hs.is_mine(inviter)
- room_hosts = [inviter.domain]
+ elif "third_party_invite" in event.content:
+ if "sender" in event.content["third_party_invite"]:
+ inviter = UserID.from_string(
+ event.content["third_party_invite"]["sender"]
+ )
+ should_do_dance = not self.hs.is_mine(inviter)
+ room_hosts = [inviter.domain]
else:
# return the same error as join_room_alias does
raise SynapseError(404, "No known servers")
|