Await toggle of mute

Piotr Osiewicz created

Change summary

crates/call2/src/call2.rs | 7 +++++--
crates/call2/src/room.rs  | 1 -
2 files changed, 5 insertions(+), 3 deletions(-)

Detailed changes

crates/call2/src/call2.rs 🔗

@@ -660,9 +660,12 @@ impl CallHandler for Call {
         self.active_call.as_ref().map(|call| {
             call.0.update(cx, |this, cx| {
                 this.room().map(|room| {
-                    room.update(cx, |this, cx| {
-                        this.toggle_mute(cx).log_err();
+                    let room = room.clone();
+                    cx.spawn(|_, mut cx| async move {
+                        room.update(&mut cx, |this, cx| this.toggle_mute(cx))??
+                            .await
                     })
+                    .detach_and_log_err(cx);
                 })
             })
         });

crates/call2/src/room.rs 🔗

@@ -1268,7 +1268,6 @@ impl Room {
                     .ok_or_else(|| anyhow!("live-kit was not initialized"))?
                     .await
             };
-
             let publication = publish_track.await;
             this.upgrade()
                 .ok_or_else(|| anyhow!("room was dropped"))?