Skip to content

SetupEncryptionToast and EncryptionSettingsUserTab say the device is unverified when it actually is #31187

@uhoreg

Description

@uhoreg

Steps to reproduce

This happens when a cross-signing key is missing both locally and in Secret Storage. It isn't clear how this situation comes about, but one way to artificially get into this situation is:

  1. log in to a new device and self-verify
  2. Make sure that recovery is set up
  3. open the browser's developer tools, go to the matrix-js-sdk:matrix-sdk-crypto database in IndexedDB, go to the core table, and remove the private_identity record. (This will remove all of the private cross-signing keys from the local cache.)
  4. reload the page (at this point, there should be "Key storage out of sync" toast)
  5. use Element's devtools to set the m.cross_signing.user_signing account data to {}

Outcome

At this point, there should be a "Verify this session" toast. If you go to the "Encryption" settings tab, it should say "Device not verified". However, if you go to the "Sessions" tab, it should show that the session is verified.

What did you expect?

It should probably show a "Key storage out of sync" toast, and the "Encryption" settings tab should show the device as verified.

Operating system

No response

Browser information

No response

URL for webapp

No response

Application version

No response

Homeserver

No response

Will you send logs?

No

Metadata

Metadata

Assignees

Labels

A-E2EEA-E2EE-Cross-SigningO-UncommonMost users are unlikely to come across this or unexpected workflowS-MajorSeverely degrades major functionality or product features, with no satisfactory workaroundT-Defect

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions