Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Raise the default power levels for invites, tombstones and server acls #6834

Merged
merged 6 commits into from
Feb 17, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/6834.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Change the default power levels of invites, tombstones and server ACLs for new rooms.
10 changes: 9 additions & 1 deletion synapse/handlers/room.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,18 +64,21 @@ class RoomCreationHandler(BaseHandler):
"history_visibility": "shared",
"original_invitees_have_ops": False,
"guest_can_join": True,
"power_level_content_override": {"invite": 0},
},
RoomCreationPreset.TRUSTED_PRIVATE_CHAT: {
"join_rules": JoinRules.INVITE,
"history_visibility": "shared",
"original_invitees_have_ops": True,
"guest_can_join": True,
"power_level_content_override": {"invite": 0},
},
RoomCreationPreset.PUBLIC_CHAT: {
"join_rules": JoinRules.PUBLIC,
"history_visibility": "shared",
"original_invitees_have_ops": False,
"guest_can_join": False,
"power_level_content_override": {},
},
}

Expand Down Expand Up @@ -829,19 +832,24 @@ def send(etype, content, **kwargs):
# This will be reudundant on pre-MSC2260 rooms, since the
# aliases event is special-cased.
EventTypes.Aliases: 0,
EventTypes.Tombstone: 100,
EventTypes.ServerACL: 100,
},
"events_default": 0,
"state_default": 50,
"ban": 50,
"kick": 50,
"redact": 50,
"invite": 0,
"invite": 50,
}

if config["original_invitees_have_ops"]:
for invitee in invite_list:
power_level_content["users"][invitee] = 100

# Power levels overrides are defined per chat preset
power_level_content.update(config["power_level_content_override"])

if power_level_content_override:
power_level_content.update(power_level_content_override)

Expand Down
4 changes: 3 additions & 1 deletion tests/rest/client/v1/test_rooms.py
Original file line number Diff line number Diff line change
Expand Up @@ -1612,7 +1612,9 @@ class ContextTestCase(unittest.HomeserverTestCase):
def prepare(self, reactor, clock, homeserver):
self.user_id = self.register_user("user", "password")
self.tok = self.login("user", "password")
self.room_id = self.helper.create_room_as(self.user_id, tok=self.tok)
self.room_id = self.helper.create_room_as(
self.user_id, tok=self.tok, is_public=False
)

self.other_user_id = self.register_user("user2", "password")
self.other_tok = self.login("user2", "password")
Expand Down