From ebafff23addfc6dda709da46c02078850f26acdf Mon Sep 17 00:00:00 2001 From: Bohdan Chubuk Date: Sun, 22 Mar 2026 23:14:41 +0200 Subject: [PATCH] fix: return m.change_password capability based on login_with_password config --- src/api/client/capabilities.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/api/client/capabilities.rs b/src/api/client/capabilities.rs index b050f1de1..2ee2b3351 100644 --- a/src/api/client/capabilities.rs +++ b/src/api/client/capabilities.rs @@ -6,8 +6,9 @@ use ruma::{ api::client::discovery::{ get_capabilities, get_capabilities::v3::{ - Capabilities, GetLoginTokenCapability, ProfileFieldsCapability, RoomVersionStability, - RoomVersionsCapability, ThirdPartyIdChangesCapability, + Capabilities, ChangePasswordCapability, GetLoginTokenCapability, + ProfileFieldsCapability, RoomVersionStability, RoomVersionsCapability, + ThirdPartyIdChangesCapability, }, }, }; @@ -48,6 +49,10 @@ pub(crate) async fn get_capabilities_route( capabilities.profile_fields = ProfileFieldsCapability::new(true).into(); + capabilities.change_password = ChangePasswordCapability { + enabled: services.server.config.login_with_password, + }; + capabilities.set( "org.matrix.msc4267.forget_forced_upon_leave", json!({"enabled": services.config.forget_forced_upon_leave}),