diff --git a/crates/client-api/src/routes/subscribe.rs b/crates/client-api/src/routes/subscribe.rs index 84e0830f3c5..eec871e5fa0 100644 --- a/crates/client-api/src/routes/subscribe.rs +++ b/crates/client-api/src/routes/subscribe.rs @@ -11,7 +11,6 @@ use bytestring::ByteString; use futures::future::MaybeDone; use futures::{Future, FutureExt, SinkExt, StreamExt}; use http::{HeaderValue, StatusCode}; -use scopeguard::ScopeGuard; use serde::Deserialize; use spacetimedb::client::messages::{serialize, IdentityTokenMessage, SerializableMessage, SerializeBuffer}; use spacetimedb::client::{ @@ -191,7 +190,10 @@ async fn ws_client_actor(client: ClientConnection, ws: WebSocketStream, sendrx: ws_client_actor_inner(&mut client, ws, sendrx).await; - ScopeGuard::into_inner(client).disconnect().await; + // Commenting this out because this task is not cancel safe after the call to `into_inner`. + // I don't think it matters that this function can return while the disconnect function is + // still running. + // ScopeGuard::into_inner(client).disconnect().await; } async fn make_progress(fut: &mut Pin<&mut MaybeDone>) {