Add config to control m.federate in room create events. (fixes #151)

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk
2025-09-09 04:44:02 +00:00
parent de7c5dcbc8
commit ba19d407d0
3 changed files with 44 additions and 2 deletions

View File

@@ -413,6 +413,12 @@ async fn create_create_event(
))))
})?;
if !services.config.federate_created_rooms {
if !services.config.allow_federation || !content.contains_key("m.federate") {
content.insert("m.federate".into(), json!(false).try_into()?);
}
}
content.insert(
"room_version".into(),
json!(room_version.as_str())
@@ -428,6 +434,10 @@ async fn create_create_event(
let mut content =
serde_json::from_str::<CanonicalJsonObject>(to_raw_value(&content)?.get())?;
if !services.config.federate_created_rooms {
content.insert("m.federate".into(), json!(false).try_into()?);
}
content.insert("room_version".into(), json!(room_version.as_str()).try_into()?);
content
},
@@ -535,6 +545,12 @@ async fn create_create_event_legacy(
},
}
if !services.config.federate_created_rooms {
if !services.config.allow_federation || !content.contains_key("m.federate") {
content.insert("m.federate".into(), json!(false).try_into()?);
}
}
content.insert(
"room_version".into(),
json!(room_version.as_str())
@@ -556,6 +572,10 @@ async fn create_create_event_legacy(
let mut content =
serde_json::from_str::<CanonicalJsonObject>(to_raw_value(&content)?.get())?;
if !services.config.federate_created_rooms {
content.insert("m.federate".into(), json!(false).try_into()?);
}
content.insert("room_version".into(), json!(room_version.as_str()).try_into()?);
content
},