Steps to reproduce
STR are a bit convoluted, but empirically people have devices/accounts in this state, so:
- Via Element dev tools, set
m.megolm_backup.v1 account data to {}
- Via browser dev tools, in
matrix-js-sdk::matrix-sdk-crypto indexed db, in backup_keys store, delete recover_key_v1, then refresh.
Alternatively, log in a new session, and verify with recovery key. (Either way, we end up with a device without the backup key.)
- Observe:

- Click "Enter recovery key"
- Enter recovery key
Outcome
What did you expect?
Some sort of error report
What happened instead?
Nil, back to step 3
The logs contain:
W DeviceListener: check_<...>: 4S is missing secrets {"crossSigningReady":true,"secretStorageReady":false,"allCrossSigningSecretsCached":true,"isCurrentDeviceTrusted":true,"defaultKeyId":"<...>"}
I Opening toast with key 'setupencryption': title 'Your key storage is out of sync.'
...
# After entering recovery key:
D SecurityManager: accessSecretStorage: bootstrapSecretStorage
I Not saving backup key to secret storage: no backup key
Steps to reproduce
STR are a bit convoluted, but empirically people have devices/accounts in this state, so:
m.megolm_backup.v1account data to{}matrix-js-sdk::matrix-sdk-cryptoindexed db, inbackup_keysstore, deleterecover_key_v1, then refresh.Alternatively, log in a new session, and verify with recovery key. (Either way, we end up with a device without the backup key.)
Outcome
What did you expect?
Some sort of error report
What happened instead?
Nil, back to step 3
The logs contain: