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

This commit is contained in:
Andrew Morgan 2020-02-17 13:23:37 +00:00 committed by GitHub
parent 46fa66bbfd
commit 3404ad289b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 2 deletions

1
changelog.d/6834.misc Normal file
View File

@ -0,0 +1 @@
Change the default power levels of invites, tombstones and server ACLs for new rooms.

View File

@ -64,18 +64,21 @@ class RoomCreationHandler(BaseHandler):
"history_visibility": "shared", "history_visibility": "shared",
"original_invitees_have_ops": False, "original_invitees_have_ops": False,
"guest_can_join": True, "guest_can_join": True,
"power_level_content_override": {"invite": 0},
}, },
RoomCreationPreset.TRUSTED_PRIVATE_CHAT: { RoomCreationPreset.TRUSTED_PRIVATE_CHAT: {
"join_rules": JoinRules.INVITE, "join_rules": JoinRules.INVITE,
"history_visibility": "shared", "history_visibility": "shared",
"original_invitees_have_ops": True, "original_invitees_have_ops": True,
"guest_can_join": True, "guest_can_join": True,
"power_level_content_override": {"invite": 0},
}, },
RoomCreationPreset.PUBLIC_CHAT: { RoomCreationPreset.PUBLIC_CHAT: {
"join_rules": JoinRules.PUBLIC, "join_rules": JoinRules.PUBLIC,
"history_visibility": "shared", "history_visibility": "shared",
"original_invitees_have_ops": False, "original_invitees_have_ops": False,
"guest_can_join": False, "guest_can_join": False,
"power_level_content_override": {},
}, },
} }
@ -829,19 +832,24 @@ class RoomCreationHandler(BaseHandler):
# This will be reudundant on pre-MSC2260 rooms, since the # This will be reudundant on pre-MSC2260 rooms, since the
# aliases event is special-cased. # aliases event is special-cased.
EventTypes.Aliases: 0, EventTypes.Aliases: 0,
EventTypes.Tombstone: 100,
EventTypes.ServerACL: 100,
}, },
"events_default": 0, "events_default": 0,
"state_default": 50, "state_default": 50,
"ban": 50, "ban": 50,
"kick": 50, "kick": 50,
"redact": 50, "redact": 50,
"invite": 0, "invite": 50,
} }
if config["original_invitees_have_ops"]: if config["original_invitees_have_ops"]:
for invitee in invite_list: for invitee in invite_list:
power_level_content["users"][invitee] = 100 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: if power_level_content_override:
power_level_content.update(power_level_content_override) power_level_content.update(power_level_content_override)

View File

@ -1612,7 +1612,9 @@ class ContextTestCase(unittest.HomeserverTestCase):
def prepare(self, reactor, clock, homeserver): def prepare(self, reactor, clock, homeserver):
self.user_id = self.register_user("user", "password") self.user_id = self.register_user("user", "password")
self.tok = self.login("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_user_id = self.register_user("user2", "password")
self.other_tok = self.login("user2", "password") self.other_tok = self.login("user2", "password")