diff --git a/synapse/handlers/room.py b/synapse/handlers/room.py
index 8567d7409d..deefc3c11e 100644
--- a/synapse/handlers/room.py
+++ b/synapse/handlers/room.py
@@ -130,6 +130,7 @@ class RoomCreationHandler(BaseHandler):
"type": EventTypes.Name,
"room_id": room_id,
"sender": user_id,
+ "state_key": "",
"content": {"name": name},
})
@@ -139,6 +140,7 @@ class RoomCreationHandler(BaseHandler):
"type": EventTypes.Topic,
"room_id": room_id,
"sender": user_id,
+ "state_key": "",
"content": {"topic": topic},
})
@@ -147,7 +149,7 @@ class RoomCreationHandler(BaseHandler):
"type": EventTypes.Member,
"state_key": invitee,
"room_id": room_id,
- "user_id": user_id,
+ "sender": user_id,
"content": {"membership": Membership.INVITE},
})
@@ -390,6 +392,11 @@ class RoomMemberHandler(BaseHandler):
host = hosts[0]
+ # If event doesn't include a display name, add one.
+ yield self.distributor.fire(
+ "collect_presencelike_data", joinee, content
+ )
+
content.update({"membership": Membership.JOIN})
builder = self.event_builder_factory.new({
"type": EventTypes.Member,
|