You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello. We are developing an application with end-to-end encrypted chat functionality in React Native, and intend to use Matrix codebase for that purpose.
We initially planned to simply use matrix-js-sdk, doing basically the same which was started in matrix-rn-sdk, but never quite finished. We reused the CryptoStore implementation from this repository, but as it turned out, Rust Crypto API exposed by matrix-js-sdk never uses the provided CryptoStore implementation for anything except from old data migration to the new storage. The new (actual) storage could only be backed by IndexedDB (https://github.com/matrix-org/matrix-rust-sdk-crypto-wasm), which is unavailable in React Native environment
Currently, I see two possible paths forward for us:
Use matrix-sdk-crypto bindings for Android and iOS as native modules in React Native, and redefine the crypto module in matrix-js-sdk in some sort of way which will be reusing those native modules in the same manner the matrix-sdk-crypto WASM module is used;
Inside matrix-rust-sdk-crypto-wasm, make the crypto storage implementation based on some abstract key-value storage trait, and let JS code provide the storage implementation specific to the platform, and run all that through react-native-webassembly.
I am ready to partake in either endeavour and share the results with the comminity. However, I am not sure what will be easier and what will be more in line with the general direction of Matrix codebase development.
Any help regarding that would be much appreciated.
The text was updated successfully, but these errors were encountered:
It currently supports all features of the matrix-sdk-ffi crate for iOS and Android. The maintainers of both libraries hang out in this chat room https://matrix.to/#/#uniffi-bindgen-js:matrix.org, if you run into any issues.
@zzorba wow, that seemingly simplifies things a lot! Thank you very much for this info, Google was much less helpful in discovering those recent projects.
Hello. We are developing an application with end-to-end encrypted chat functionality in React Native, and intend to use Matrix codebase for that purpose.
We initially planned to simply use
matrix-js-sdk
, doing basically the same which was started in matrix-rn-sdk, but never quite finished. We reused theCryptoStore
implementation from this repository, but as it turned out, Rust Crypto API exposed bymatrix-js-sdk
never uses the providedCryptoStore
implementation for anything except from old data migration to the new storage. The new (actual) storage could only be backed by IndexedDB (https://github.com/matrix-org/matrix-rust-sdk-crypto-wasm), which is unavailable in React Native environmentCurrently, I see two possible paths forward for us:
Use
matrix-sdk-crypto
bindings for Android and iOS as native modules in React Native, and redefine the crypto module inmatrix-js-sdk
in some sort of way which will be reusing those native modules in the same manner thematrix-sdk-crypto
WASM module is used;Inside
matrix-rust-sdk-crypto-wasm
, make the crypto storage implementation based on some abstract key-value storage trait, and let JS code provide the storage implementation specific to the platform, and run all that throughreact-native-webassembly
.I am ready to partake in either endeavour and share the results with the comminity. However, I am not sure what will be easier and what will be more in line with the general direction of Matrix codebase development.
Any help regarding that would be much appreciated.
The text was updated successfully, but these errors were encountered: