From 056f34883f665cb77a58fcfc2a6c0347734a0eaf Mon Sep 17 00:00:00 2001 From: Ivan Enderlin Date: Mon, 16 May 2022 15:23:58 +0200 Subject: [PATCH] feat(crypto): Implement `OlmMachine.trackedUsers`. --- crates/matrix-sdk-crypto/src/js/machine.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/crates/matrix-sdk-crypto/src/js/machine.rs b/crates/matrix-sdk-crypto/src/js/machine.rs index e5d3d2fcb..6677ec4ad 100644 --- a/crates/matrix-sdk-crypto/src/js/machine.rs +++ b/crates/matrix-sdk-crypto/src/js/machine.rs @@ -52,6 +52,22 @@ impl OlmMachine { future_to_promise(async move { Ok(me.display_name().await?) }) } + /// Get all the tracked users of our own device. + #[wasm_bindgen(js_name = "trackedUsers")] + pub fn tracked_users(&self) -> Set { + let set = Set::new(&JsValue::UNDEFINED); + + self.inner + .tracked_users() + .into_iter() + .map(|user| identifiers::UserId { inner: user }) + .for_each(|user| { + set.add(&user.into()); + }); + + set + } + #[wasm_bindgen(js_name = "receiveSyncChanges")] pub fn receive_sync_changes( &self,