feat: Update capabilities and advertise spec version v1.18

This commit is contained in:
timedout authored and Ellis Git committed 2026-06-29 13:56:22 +00:00
1 parent 549864a052
commit 6a8a114197
2 files changed
+7 -10

No files matched your search

+3 -10
View File
@@ -12,7 +12,6 @@ use ruma::{
},
},
};
use serde_json::json;
use crate::Ruma;
@@ -40,21 +39,15 @@ pub(crate) async fn get_capabilities_route(
capabilities.get_login_token =
GetLoginTokenCapability::new(services.server.config.login_via_existing_session);
// MSC4133 capability
capabilities.set("uk.tcpip.msc4133.profile_fields", json!({"enabled": true}))?;
capabilities.set(
"org.matrix.msc4267.forget_forced_upon_leave",
json!({"enabled": services.config.forget_forced_upon_leave}),
)?;
capabilities.forget_forced_upon_leave.enabled = true;
if services
.users
.is_admin(body.identity.expect_sender_user()?)
.await
{
// Advertise suspension API
capabilities.set("uk.timedout.msc4323", json!({"suspend": true, "lock": false}))?;
capabilities.account_moderation.lock = true;
capabilities.account_moderation.suspend = true
}
Ok(get_capabilities::v3::Response::new(capabilities))
+4
View File
@@ -23,6 +23,10 @@ pub fn versions() -> Vec<String> {
"v1.14".to_owned(),
"v1.15".to_owned(),
"v1.16".to_owned(),
// "v1.17".to_owned(),
// v1.17 requires: MSC4326 (AS device masquerading), MSC4312 (m.auth), MSC4190 (AS oauth
// user registration).
"v1.18".to_owned(),
]
}