diff --git a/synapse/handlers/room.py b/synapse/handlers/room.py
index 11afd34ae2..dace364eae 100644
--- a/synapse/handlers/room.py
+++ b/synapse/handlers/room.py
@@ -21,7 +21,8 @@ from synapse.api.constants import Membership, JoinRules
from synapse.api.errors import StoreError, SynapseError
from synapse.api.events.room import (
RoomMemberEvent, RoomCreateEvent, RoomPowerLevelsEvent,
- RoomJoinRulesEvent, RoomDefaultLevelEvent,
+ RoomJoinRulesEvent, RoomAddStateLevelEvent,
+ RoomSendEventLevelEvent,
)
from synapse.util import stringutils
from ._base import BaseRoomHandler
@@ -152,7 +153,7 @@ class RoomCreationHandler(BaseRoomHandler):
creation_event = self.event_factory.create_event(
etype=RoomCreateEvent.TYPE,
- content={"creator": creator.to_string()},
+ content={"creator": creator.to_string(), "default": 0},
**event_keys
)
@@ -162,12 +163,6 @@ class RoomCreationHandler(BaseRoomHandler):
**event_keys
)
- default_level_event = self.event_factory.create_event(
- etype=RoomDefaultLevelEvent.TYPE,
- content={"default_level": 0},
- **event_keys
- )
-
join_rule = JoinRules.PUBLIC if is_public else JoinRules.INVITE
join_rules_event = self.event_factory.create_event(
etype=RoomJoinRulesEvent.TYPE,
@@ -175,7 +170,25 @@ class RoomCreationHandler(BaseRoomHandler):
**event_keys
)
- return [creation_event, power_levels_event, default_level_event, join_rules_event]
+ add_state_event = self.event_factory.create_event(
+ etype=RoomAddStateLevelEvent.TYPE,
+ content={"level": 10},
+ **event_keys
+ )
+
+ send_event = self.event_factory.create_event(
+ etype=RoomSendEventLevelEvent.TYPE,
+ content={"level": 0},
+ **event_keys
+ )
+
+ return [
+ creation_event,
+ power_levels_event,
+ join_rules_event,
+ add_state_event,
+ send_event,
+ ]
class RoomMemberHandler(BaseRoomHandler):
|