mirror of
https://github.com/matrix-org/matrix-rust-sdk.git
synced 2026-06-19 05:38:31 -04:00
ToDevice events need their own custom filter type. Introducing this new filter type is the main purpose of this commit. The API for the filters was a bit confusing since it had a lot of special cases. This commit also simplifies the filter public api. Rethinking the public api we only need: - to know if events can be sent based on the capabilities - to know if events can be sent to the widget (read) based on the capabilities - if it even makes sense to sent a cs api read request or if all possibly returned events would not match the type. To simplify the code in the machine it also made sense to add `From` implementation to the FilterInputs instead of gathering the relevant data from all kinds of Raw events. The new api is simpler: All possible events we need to check can be converted into filter inputs (using `into()`). `capabilites` has two allow_read/allow_send that consume filter inputs. `capabilites` can be asked if there is any filter for specific event types to allow not send unnecassary requests.
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.