fix: Code cleanup

This commit is contained in:
Ginger
2026-01-08 20:00:59 -05:00
parent a084575ad2
commit 83963b5dba
+13 -6
View File
@@ -354,14 +354,21 @@ async fn user_can_publish_room(
.await?; .await?;
let create_content = create_event.get_content::<RoomCreateEventContent>()?; let create_content = create_event.get_content::<RoomCreateEventContent>()?;
let room_version = &RoomVersion::new(&create_content.room_version)?; let room_version = &RoomVersion::new(&create_content.room_version)?;
// for >=v12, check for room creators instead
if room_version.explicitly_privilege_room_creators { if room_version.explicitly_privilege_room_creators {
return Ok([ let user_is_creator = create_content
vec![create_event.sender().to_owned()], .additional_creators
create_content.additional_creators.unwrap_or_default(), .unwrap_or_default()
] .iter()
.concat() .map(|id| id.as_ref())
.contains(&user_id.to_owned())); .chain(std::iter::once(create_event.sender()))
.any(|creator| creator == user_id);
return Ok(user_is_creator);
} }
// otherwise check if they can send a room history visibility state event
let power_levels_event = services let power_levels_event = services
.rooms .rooms
.state_accessor .state_accessor