summary refs log tree commit diff
diff options
context:
space:
mode:
authorErik Johnston <erikj@jki.re>2017-12-07 20:00:34 +0000
committerGitHub <noreply@github.com>2017-12-07 20:00:34 +0000
commitba24576f2fcf228ad29574ea5a833095d8c32582 (patch)
tree4ba6a510997e38e829c6a6b0aa53caace4e7b872
parentMerge pull request #2723 from matrix-org/matthew/search-all-local-users (diff)
parentMerge branch 'develop' of github.com:matrix-org/synapse into erikj/createroom... (diff)
downloadsynapse-ba24576f2fcf228ad29574ea5a833095d8c32582.tar.xz
Merge pull request #2717 from matrix-org/erikj/createroom_content
Fix wrong avatars when inviting multiple users when creating room
-rw-r--r--synapse/handlers/room.py10
-rw-r--r--synapse/handlers/room_member.py4
2 files changed, 9 insertions, 5 deletions
diff --git a/synapse/handlers/room.py b/synapse/handlers/room.py
index 496f1fc39b..d1cc87a016 100644
--- a/synapse/handlers/room.py
+++ b/synapse/handlers/room.py
@@ -205,12 +205,12 @@ class RoomCreationHandler(BaseHandler):
                 },
                 ratelimit=False)
 
-        content = {}
-        is_direct = config.get("is_direct", None)
-        if is_direct:
-            content["is_direct"] = is_direct
-
         for invitee in invite_list:
+            content = {}
+            is_direct = config.get("is_direct", None)
+            if is_direct:
+                content["is_direct"] = is_direct
+
             yield room_member_handler.update_membership(
                 requester,
                 UserID.from_string(invitee),
diff --git a/synapse/handlers/room_member.py b/synapse/handlers/room_member.py
index 970fec0666..7e6467cd1d 100644
--- a/synapse/handlers/room_member.py
+++ b/synapse/handlers/room_member.py
@@ -189,6 +189,10 @@ class RoomMemberHandler(BaseHandler):
         content_specified = bool(content)
         if content is None:
             content = {}
+        else:
+            # We do a copy here as we potentially change some keys
+            # later on.
+            content = dict(content)
 
         effective_membership_state = action
         if action in ["kick", "unban"]: