From 6a8a1141979e3109568469c452214a492911ee56 Mon Sep 17 00:00:00 2001 From: timedout Date: Wed, 24 Jun 2026 20:21:27 +0100 Subject: [PATCH] feat: Update capabilities and advertise spec version v1.18 --- src/api/client/capabilities.rs | 13 +++---------- src/core/matrix/versions.rs | 4 ++++ 2 files changed, 7 insertions(+), 10 deletions(-) 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(), ] }