diff --git a/zed/src/rpc.rs b/zed/src/rpc.rs index aa212a8042..a5679f7747 100644 --- a/zed/src/rpc.rs +++ b/zed/src/rpc.rs @@ -113,7 +113,13 @@ impl Client { async_tungstenite::client_async(format!("wss://{}/rpc", host), stream).await?; log::info!("connected to rpc address {}", &*ZED_SERVER_URL); let (connection_id, handler) = self.peer.add_connection(stream).await; - executor.spawn(handler.run()).detach(); + executor + .spawn(async move { + if let Err(error) = handler.run().await { + log::error!("connection error: {:?}", error); + } + }) + .detach(); connection_id } else if let Some(host) = server_url.strip_prefix("http://") { let stream = smol::net::TcpStream::connect(host).await?; @@ -121,7 +127,13 @@ impl Client { async_tungstenite::client_async(format!("ws://{}/rpc", host), stream).await?; log::info!("connected to rpc address {}", &*ZED_SERVER_URL); let (connection_id, handler) = self.peer.add_connection(stream).await; - executor.spawn(handler.run()).detach(); + executor + .spawn(async move { + if let Err(error) = handler.run().await { + log::error!("connection error: {:?}", error); + } + }) + .detach(); connection_id } else { return Err(anyhow!("invalid server url: {}", server_url))?; diff --git a/zed/src/workspace.rs b/zed/src/workspace.rs index 6be96dc49c..53990fe95e 100644 --- a/zed/src/workspace.rs +++ b/zed/src/workspace.rs @@ -705,7 +705,7 @@ impl Workspace { cx.spawn(|_, _| async move { if let Err(e) = task.await { - log::error!("sharing failed: {}", e); + log::error!("sharing failed: {:?}", e); } }) .detach();