fix: Don't de-power creators when downgrading from v12 to earlier versions

This commit is contained in:
timedout
2026-05-24 16:43:25 +01:00
parent 7b68572b2e
commit cc5349ee57
+17 -5
View File
@@ -422,12 +422,24 @@ pub(crate) async fn upgrade_room_route(
serde_json::from_str(event_content.get()).map_err(|_| { serde_json::from_str(event_content.get()).map_err(|_| {
err!(Request(BadJson("Power levels event content is not valid"))) err!(Request(BadJson("Power levels event content is not valid")))
})?; })?;
if new_version_rules for creator in creators {
.authorization if new_version_rules
.explicitly_privilege_room_creators .authorization
{ .explicitly_privilege_room_creators
for creator in creators { {
power_levels_event_content.users.remove(&creator); power_levels_event_content.users.remove(&creator);
} else {
power_levels_event_content.users.insert(
creator.clone(),
max(
int!(100),
power_levels_event_content
.users
.get(&creator)
.copied()
.unwrap_or_default(),
),
);
} }
} }
event_content = to_raw_value(&power_levels_event_content) event_content = to_raw_value(&power_levels_event_content)