element-hq / element-x-android

Android Matrix messenger application using the Matrix Rust Sdk and Jetpack Compose
GNU Affero General Public License v3.0
1.08k stars 155 forks source link

The "Deactivate account" button should not show up in the primary menu #3771

Open rc-zb opened 2 weeks ago

rc-zb commented 2 weeks ago

Your use case

What would you like to do?

Remove the "Deactivate account" button in the primary menu.

Why would you like to do it?

Matrix accounts are not one-off things (most of time, I think). The button gives a bad user on-boarding, and for me, it reduces my feeling of security, although it is not very possible to trigger it accidentally because of the confirmation.

How would you like to achieve it?

Just move it to some secondary menu.

Have you considered any alternatives?

No.

Additional context

Version 0.7.1 (40007012)

Are you willing to provide a PR?

No

bmarty commented 2 weeks ago

I agree that deactivating the account is not a common use case. We added this action quite quickly when allowing account creation on matrix.org in Element X.

This is the current rendering:

image

Pinging @mxandreas and @amshakal where can we move this menu entry?

manuroe commented 2 weeks ago

Android guidelines show an example to have it in a second-level screen: https://android-developers.googleblog.com/2024/03/designing-your-account-deletion-experience-google-play.html But their message is also clear: Deleting an account should be as easy as creating one so it should not be too burried.

mxandreas commented 1 week ago

For background: migrating matrix.org to MAS (which will take over account management, including creation and deactivation) is a large project and will take a few months to complete. However, since we would like also new users to try out EX on matrix.org, we have added a temporary helpers for both creating and deactivating accounts.

Thus, given the menu item is temporary, we are not going to reorganize it, instead it will disappear once matrix.org has been migrated to MAS. It is understood that this compromise is not ideal.