Skip to content

Commit ad9d8bc

Browse files
committed
refactor!(crypto): Make the methods related to tracked users async
1 parent e72feff commit ad9d8bc

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

src/machine.rs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -168,14 +168,16 @@ impl OlmMachine {
168168
///
169169
/// Returns a `Set<UserId>`.
170170
#[wasm_bindgen(js_name = "trackedUsers")]
171-
pub fn tracked_users(&self) -> Set {
171+
pub fn tracked_users(&self) -> Result<Promise, JsError> {
172172
let set = Set::new(&JsValue::UNDEFINED);
173+
let me = self.inner.clone();
173174

174-
for user in self.inner.tracked_users() {
175-
set.add(&identifiers::UserId::from(user).into());
176-
}
177-
178-
set
175+
Ok(future_to_promise(async move {
176+
for user in me.tracked_users().await? {
177+
set.add(&identifiers::UserId::from(user).into());
178+
}
179+
Ok(set)
180+
}))
179181
}
180182

181183
/// Update the list of tracked users.
@@ -205,7 +207,7 @@ impl OlmMachine {
205207
let me = self.inner.clone();
206208

207209
Ok(future_to_promise(async move {
208-
me.update_tracked_users(users.iter().map(AsRef::as_ref)).await;
210+
me.update_tracked_users(users.iter().map(AsRef::as_ref)).await?;
209211
Ok(JsValue::UNDEFINED)
210212
}))
211213
}

tests/machine.test.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,8 @@ describe(OlmMachine.name, () => {
158158
});
159159

160160
test('can read tracked users', async () => {
161-
const trackedUsers = (await machine()).trackedUsers();
161+
const m = await machine();
162+
const trackedUsers = await m.trackedUsers();
162163

163164
expect(trackedUsers).toBeInstanceOf(Set);
164165
expect(trackedUsers.size).toStrictEqual(0);

0 commit comments

Comments
 (0)