From 97a528c5d31319f9514b249f4ee4d50cd81be730 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Commaille?= Date: Mon, 21 Apr 2025 09:26:39 +0200 Subject: [PATCH] account-settings: Always disconnect session via account management URL when it is available A homeserver that supports the OAuth 2.0 API doesn't allow to disconnect a session via the Matrix API, even if the session was connected before the move to the OAuth 2.0 API. --- .../user_session/user_session_subpage.rs | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/session/view/account_settings/user_session/user_session_subpage.rs b/src/session/view/account_settings/user_session/user_session_subpage.rs index 804f8b73..7125c0df 100644 --- a/src/session/view/account_settings/user_session/user_session_subpage.rs +++ b/src/session/view/account_settings/user_session/user_session_subpage.rs @@ -156,17 +156,14 @@ mod imp { return; }; - if session.uses_oauth_api() { - let has_account_management_url = self.account_management_url_builder().is_some(); - self.log_out_button.set_visible(false); - self.loading_disconnect_button.set_visible(false); - self.open_url_disconnect_button - .set_visible(has_account_management_url); - } else { - self.log_out_button.set_visible(false); - self.loading_disconnect_button.set_visible(true); - self.open_url_disconnect_button.set_visible(false); - } + let uses_oauth_api = session.uses_oauth_api(); + let has_account_management_url = self.account_management_url_builder().is_some(); + + self.log_out_button.set_visible(false); + self.loading_disconnect_button + .set_visible(!uses_oauth_api && !has_account_management_url); + self.open_url_disconnect_button + .set_visible(has_account_management_url); } /// Update the display name button when the display name is changed by