element-hq / element-hq/element-meta
[Story] When a new key backup is created, push the key to other devices
- Dominant language
- No language data
- Stars
- 112
- Forks
- 25
- Avg merge
- 6h 6m
- Merged PRs (30d)
- 4
Description
Otherwise it is very easy to get https://github.com/element-hq/element-meta/issues/3043. Currently, turning off & on Key Storage in one client breaks key storage on all the other clients.
This needs doing in EW and EX, and is part of the overall response to when a device has a missing or wrong backup key:
1. Each device will check for missing backup key or wrong backup key - this is partially already in place but needs to be revisited and checked.
2. If backup key is missing or wrong: create a new backup, put key of the new backup key to 4S, push the backup key to other devices.
2.1 This is also partially in place, the core piece that is missing is pushing the backup key to other devices.
Note that the above is part of the overall "key storage out of sync" response, and putting backup key to 4S requires user to enter their recovery key.
Rough breakdown of tasks:
- [x] Write an MSC (done at https://github.com/matrix-org/matrix-spec-proposals/pull/4385)
- [x] Implement new event type in Ruma (done in private branch, but it looks like Rust SDK redefines some events, so might not be needed?)
- [x] Implement functionality in Rust Crypto SDK (https://github.com/matrix-org/matrix-rust-sdk/issues/6040)
- [x] push secrets
- [x] handle received secrets
- [x] expose whatever's needed in wasm binding
- [x] write JS SDK bits (https://github.com/matrix-org/matrix-js-sdk/issues/5143)
- [x] Implement functionaity in `matrix-sdk` crate (https://github.com/matrix-org/matrix-rust-sdk/issues/6175)
- [ ] Land the MSC
- [ ] Switch implementations to stable identifiers
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.