-
-
Notifications
You must be signed in to change notification settings - Fork 833
Improve device list in Security & Privacy settings #7004
Conversation
Overhaul the device list in the "Security and Privacy" settings tab to include device trust status, provide buttons for verifying unverified devices, and improve overall usability and style.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall this looks great - thanks for fixing it!
I've outlined a couple things in the comments, but for more overall things:
- It looks like the tests are unhappy, largely due to the strings that went missing from the translation file
- Screenshots in the PR description please :)
- PR titles end up in user-facing changelogs, so we generally try to phrase them as though we're talking to the user. Suggestion would be "Improve devices section of settings" or similar.
This is mostly an improvement but this design prevents you from selecting multiple devices which is useful when you don't want to click sign out and enter your password multiple times. Please keep the option to select multiple devices. The "Sign out all other devices" button is nice but does not replace it for when you only want to sign out of some but not all other devices. |
Looks cool! please feel free to close #5480
Out of scope of this PR and more like a nice have. Maybe we should generate an icon from the device id/MAC and display it during registration and in this device list to make it easier to recognize devices. Just an idea... |
The issue with signing out multiple devices separately is that it's entirely up to the homeserver implementation whether to prompt for reauthentication every time you delete another device, or offer a short grace period, or not ask for reauthentication at all. So we have no control over whether we'll need to enter a password. I see @aaronraimist's point, and I'll bring back the multi-select functionality. |
Another thing that came up during an internal demo: signing out our own device should generate a warning prompt if there are no other devices and no secure backups, basically the same behavior as #5410 implements for the regular "Sign Out" button in the main dropdown menu. It also shouldn't require re-entering our password; rather than using the same session deletion API we use for signing out other devices, we can just sign out our own device directly. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code looks fine to me :D
Someone from the design team will want to take a look as well.
@amshakal does this match what you had in mind during our design conversation about bringing back multi-select? (There's updated screenshots in the description.) I don't think we talked about the "Select/Deselect all" buttons, but those felt like a useful thing to have; there's one for each subsection, and they only appear if that subsection has multiple devices. |
@amshakal this addresses most of the things we talked about. The only things left are
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
otherwise lgtm
Overhaul the device list in the "Security and Privacy" settings tab to include device trust status, provide buttons for verifying unverified devices, and improve overall usability and style. Fixes element-hq/element-web#17767. Fixes element-hq/element-web#19360.
Screenshots
This PR currently has no changelog labels, so will not be included in changelogs.
A reviewer can add one of:
T-Deprecation
,T-Enhancement
,T-Defect
,T-Task
to indicate what type of change this is, or addType: [enhancement/defect/task]
to the description and I'll add them for you.Preview: https://617bfcd8502bee42270f8ad9--matrix-react-sdk.netlify.app
⚠️ Do you trust the author of this PR? Maybe this build will steal your keys or give you malware. Exercise caution. Use test accounts.