Add "AsJson" forms of the key import/export methods #4057
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Part of element-hq/element-web#26681
When we export keys with Rust encryption, we serialise them into JSON to cross the Rust/JS boundary, then we deserialise them in
RustCrypto
to match theCryptoApi
interface, then serialise them again in matrix-react-sdk's ExportE2eKeysDialog so that we can encrypt the information and save it to disk.By providing an
exportRoomKeysAsJson
method, we can provide the keys as a string immediately, avoiding the need to deserialise and re-serialise them, and similarly in the import case.Here's what your changelog entry will look like:
✨ Features