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
Those bindings lack error handling and aren't up-to-date with the latest version of the sdk. On the other hand wasm-bindgen based bindings have been started in #681.
This issue is about adopting the wasm-bindgen based bindings to also expose napi based bindings from the same codebase. The macros and types that are used by wasm-bindgen and napi are sufficiently similar that this should be relatively straightforward.
The Node bindings, at least for now, don't require the whole API surface of the matrix-sdk-crypto crate to be exposed. People are mainly interested in writing bots and bridges, thus basic encryption and decryption will be sufficient.
The methods that are needed for basic encryption/decryption are:
OlmMachine::new()
OlmMachine::receive_sync_changes()
OlmMachine::outgoing_requests()
OlmMachine::mark_request_as_sent()
OlmMachine::decrypt_room_event()
OlmMachine::update_tracked_users()
OlmMachine::get_missing_sessions()
OlmMachine::share_room_key()
OlmMachine::encrypt_raw()
Things that are trivial to add, and nice to have, but not exactly needed:
OlmMachine::user_id()
OlmMachine::device_id()
OlmMachine::identity_keys()
The text was updated successfully, but these errors were encountered:
A bunch of folks would really like to use the
matrix-sdk-crypto
crate for Javascript based projects. An initialnapi
based prototype was written in https://github.com/matrix-org/matrix-rust-sdk-bindings.Those bindings lack error handling and aren't up-to-date with the latest version of the sdk. On the other hand
wasm-bindgen
based bindings have been started in #681.This issue is about adopting the
wasm-bindgen
based bindings to also exposenapi
based bindings from the same codebase. The macros and types that are used bywasm-bindgen
andnapi
are sufficiently similar that this should be relatively straightforward.The Node bindings, at least for now, don't require the whole API surface of the
matrix-sdk-crypto
crate to be exposed. People are mainly interested in writing bots and bridges, thus basic encryption and decryption will be sufficient.The methods that are needed for basic encryption/decryption are:
OlmMachine::new()
OlmMachine::receive_sync_changes()
OlmMachine::outgoing_requests()
OlmMachine::mark_request_as_sent()
OlmMachine::decrypt_room_event()
OlmMachine::update_tracked_users()
OlmMachine::get_missing_sessions()
OlmMachine::share_room_key()
OlmMachine::encrypt_raw()
Things that are trivial to add, and nice to have, but not exactly needed:
OlmMachine::user_id()
OlmMachine::device_id()
OlmMachine::identity_keys()
The text was updated successfully, but these errors were encountered: