mirror of
https://github.com/matrix-org/matrix-rust-sdk.git
synced 2026-05-05 06:28:20 -04:00
This patch introduces the new `EncryptionState` to represent the 3 possible states: `Encrypted`, `NotEncrypted` or `Unknown`. All the `is_encrypted` methods have been replaced by `encryption_state`. The most noticable change is in `matrix_sdk::Room` where `async fn is_encrypted(&self) -> Result<bool>` has been replaced by `fn fn encryption_state(&self) -> EncryptionState`. However, a new `async fn latest_encryption_state(&self) -> Result<EncryptionState>` method “restores” the previous behaviour by calling `request_encryption_state` if necessary. The idea is that the caller is now responsible to call `request_encryption_state` if desired, or use `latest_encryption_state` to automate the call if necessary. `encryption_state` is now non-async and infallible everywhere. `matrix-sdk-ffi` has been updated but no methods have been added for the moment.
Matrix Rust SDK bindings
In this directory, one can find bindings to the Rust SDK that are maintained by the owners of the Matrix Rust SDK project.
appleormatrix-rust-components-swift, Swift bindings of thematrix-sdkcrate viamatrix-sdk-ffi,matrix-sdk-crypto-ffi, UniFFI (Kotlin, Swift, Python, Ruby) bindings of thematrix-sdk-cryptocrate,matrix-sdk-ffi, UniFFI bindings of thematrix-sdkcrate.
There are also external bindings in other repositories:
matrix-sdk-crypto-wasm, JavaScript / WebAssembly bindings of thematrix-sdk-cryptocrate,matrix-sdk-crypto-nodejs, Node.js bindings of thematrix-sdk-cryptocrate
Contributing
To contribute read this guide.