mirror of
https://github.com/matrix-org/matrix-rust-sdk.git
synced 2026-06-13 02:44:22 -04:00
While https://github.com/matrix-org/matrix-rust-sdk/pull/6017 is mostly functional, there are two issues: - I did not process `changes.room_key_bundles_fully_downloaded` in `matrix-sdk-sqlite`, meaning any updates made via `Changes` would not be persisted; - I used a non-encrypting `JsValue` serialisation for the same field in `matrix-sdk-indexeddb`, which causes errors when passed to the decryption-enabled deserializer. Solutions: - Process the aforementioned changes such that keys are added to SQLite; - Use a non-encrypting deserialiser, since this is effectively a hash-set, and the contents aren't sensitive. Signed-off-by: Skye Elliot <actuallyori@gmail.com>
matrix-sdk-indexedddb
This crate implements a storage backend on IndexedDB for web environments using the matrix-sdk-base primitives.
Usage
The most common usage pattern would be to have this included via matrix-sdk in your Cargo.toml and leave
instantiation to it.
[target.'cfg(target_family = "wasm")'.dependencies]
matrix-sdk = { version = "0.5, default-features = false, features = ["indexeddb", "e2e-encryption"] }
Crate Feature Flags
The following crate feature flags are available:
e2e-encryption: (on by default) Enables the store for end-to-end encrypted data (IndexeddbCryptoStore).state-store: (on by default) Enables theStateStoreimplementation (IndexeddbStateStore).