element-hq / element-hq/element-web
Handle public cross signing keys getting out of sync with private keys in SSSS
- Dominant language
- TypeScript
- Stars
- 13.5k
- Forks
- 2.8k
- PR merge metrics
- PR metrics pending
Description
We're seeing quite a few instances of people's public cross-signing keys getting out of sync with the private copies in SSSS (secure secret storage and sharing), resulting in the error: `Key type master from getCrossSigningKey callback did not match` in the console when entering the passphrase.
matrix.org slowness is probably causing accounts to get into this state (there's no API for publishing public keys & saving private keys atomically so this will inevitably happen sometimes, but the slowness is making it much more commonplace).
The main problem here is that Riot handles this state terribly and just fails whatever operation it was trying to do with no error. It should detect the situation and suggest resetting keys.
https://github.com/vector-im/riot-web/issues/13338#issuecomment-624481088 is a detailed account of this
https://github.com/vector-im/riot-web/issues/13519 is likely to also be the same problem
https://github.com/vector-im/riot-web/issues/13338 is general is related but in that specific case, resetting *also* fails.
Contributor guide
Assessment
This issue has not been assessed yet.