summary refs log tree commit diff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--synapse/handlers/room.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/synapse/handlers/room.py b/synapse/handlers/room.py
index bb5eef6bbd..e194f39e70 100644
--- a/synapse/handlers/room.py
+++ b/synapse/handlers/room.py
@@ -155,6 +155,7 @@ class RoomCreationHandler(BaseHandler):
             preset_config=preset_config,
             invite_list=invite_list,
             initial_state=initial_state,
+            room_alias=room_alias,
         )
 
         msg_handler = self.hs.get_handlers().message_handler
@@ -202,7 +203,7 @@ class RoomCreationHandler(BaseHandler):
         defer.returnValue(result)
 
     def _create_events_for_new_room(self, creator, room_id, preset_config,
-                                    invite_list, initial_state):
+                                    invite_list, initial_state, room_alias):
         config = RoomCreationHandler.PRESETS_DICT[preset_config]
 
         creator_id = creator.to_string()
@@ -271,6 +272,15 @@ class RoomCreationHandler(BaseHandler):
 
             returned_events.append(power_levels_event)
 
+        if room_alias:
+            if (EventTypes.CanonicalAlias, '') not in initial_state:
+                room_alias_event = create(
+                    etype=EventTypes.CanonicalAlias,
+                    content={"alias": room_alias.to_string()},
+                )
+
+                returned_events.append(room_alias_event)
+
         if (EventTypes.JoinRules, '') not in initial_state:
             join_rules_event = create(
                 etype=EventTypes.JoinRules,