From 8791d2eae09aaa5a7f4d48a7c2f297740b447fc6 Mon Sep 17 00:00:00 2001 From: Jeffrey Dallatezza Date: Sun, 22 Jun 2025 14:12:37 +0200 Subject: [PATCH] Just let the scope guard clean clients up. --- crates/client-api/src/routes/subscribe.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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>) {