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

Don't create broken room when power_level_content_override.users does not contain creator_id. #5633

Merged
1 change: 1 addition & 0 deletions changelog.d/5633.bugfix
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Don't create broken room when power_level_content_override.users does not contain creator_id.
7 changes: 7 additions & 0 deletions synapse/handlers/room.py
Original file line number Diff line number Diff line change
Expand Up @@ -752,6 +752,13 @@ def send(etype, content, **kwargs):
if power_level_content_override:
power_level_content.update(power_level_content_override)

if creator_id not in power_level_content["users"]:
raise SynapseError(
400,
"Not a valid power_level_content_override, did not contain %s"
% (creator_id,),
)

yield send(etype=EventTypes.PowerLevels, content=power_level_content)

if room_alias and (EventTypes.CanonicalAlias, "") not in initial_state:
Expand Down