diff --git a/src/api/client/capabilities.rs b/src/api/client/capabilities.rs index 593ac1cc9..bd73b6e10 100644 --- a/src/api/client/capabilities.rs +++ b/src/api/client/capabilities.rs @@ -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)) diff --git a/src/core/matrix/versions.rs b/src/core/matrix/versions.rs index 2f9780092..1b60b2a1e 100644 --- a/src/core/matrix/versions.rs +++ b/src/core/matrix/versions.rs @@ -23,6 +23,10 @@ pub fn versions() -> Vec { "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(), ] }