Merge pull request #2409 from ggurdin/enable-sso-account-deletion

fix: enable users without passwords to delete their accounts
This commit is contained in:
Krille-chan 2025-12-12 10:54:29 +01:00 committed by GitHub
commit 6162e005c7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -74,31 +74,22 @@ class SettingsSecurityController extends State<SettingsSecurity> {
if (mxid == null || mxid.isEmpty || mxid != supposedMxid) { if (mxid == null || mxid.isEmpty || mxid != supposedMxid) {
return; return;
} }
final input = await showTextInputDialog( final resp = await showFutureLoadingDialog(
useRootNavigator: false,
context: context, context: context,
title: L10n.of(context).pleaseEnterYourPassword, delay: false,
okLabel: L10n.of(context).ok, future: () =>
cancelLabel: L10n.of(context).cancel, Matrix.of(context).client.uiaRequestBackground<IdServerUnbindResult?>(
isDestructive: true, (auth) => Matrix.of(context).client.deactivateAccount(auth: auth),
obscureText: true, ),
hintText: '******',
minLines: 1,
maxLines: 1,
); );
if (input == null) return;
if (!resp.isError) {
await showFutureLoadingDialog( await showFutureLoadingDialog(
context: context, context: context,
future: () => Matrix.of(context).client.deactivateAccount( future: () => Matrix.of(context).client.logout(),
auth: AuthenticationPassword(
password: input,
identifier: AuthenticationUserIdentifier(
user: Matrix.of(context).client.userID!,
),
),
),
); );
} }
}
Future<void> dehydrateAction() => Matrix.of(context).dehydrateAction(context); Future<void> dehydrateAction() => Matrix.of(context).dehydrateAction(context);