summary refs log tree commit diff
path: root/synapse/handlers/room.py
diff options
context:
space:
mode:
Diffstat (limited to 'synapse/handlers/room.py')
-rw-r--r--synapse/handlers/room.py11
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")