matrix-rust-sdk
matrix-rust-sdk copied to clipboard
[meta] Element Web's requirements for `crypto-js`
This is not a secret that Element Web will use matrix-sdk-crypto-js in a near future. This meta issue provides a list of additional features we want to see in matrix-sdk-crypto-js that are required for Element Web. This list is inspired by Element Web R: Internal Plan, and by various wishes I've heard here and there.
Each new feature respects the Rust team' standards: It is highly tested, well-documented, reviewed, and will improve the underlying layers if needed.
Foundational
- [x] Build pipeline for producing a NPM-compatible Wasm package:
- [x] #966
- [x] #981
Basic encryption/decryption
- [x] Storage implementation
- [x] #971
- [x] Bindings for the minimal interface to support basic encryption/decryption
- [x] #955
- [x] #958
- [x] #1040
- [ ] Fix bugs from community testing session
Table-stakes Functionality
- [x] Cross-signing bindings (Key Verification with Emojis, QR code, or manually, identity and bootstrapping)
- [x] #788
- [x] Cross-signing shields/verification status
- [x]
OlmMachine.cross_signing_statusis implemented, not sure if it validates this item - [x] #1039
- [x]
- [x] Key backup bindings
- [x] #1058
- [x] #1059
- [x] Room key forwarding/key sharing
- [x] #675
- [x] #723
- [ ] Historical room key sharing
- Not implemented in
matrix_sdk_cryptoyet.
- Not implemented in
- [ ] Custom to-device message bindings (for MSC3401 VoIP)
- [ ] Bindings to reset/replace key backup & cross-signing (and/or SSSS)
- Not implemented in
matrix_sdk_cryptoyet.
- Not implemented in
- [ ] Fix bugs from community testing session
Ship It
- [ ] Test and address performance concerns if any
- [ ] Fix bugs from community testing session