diff --git a/crates/collab/src/integration_tests.rs b/crates/collab/src/integration_tests.rs index bee8f9a34f..c4fc4980ec 100644 --- a/crates/collab/src/integration_tests.rs +++ b/crates/collab/src/integration_tests.rs @@ -685,7 +685,7 @@ async fn test_server_restarts( ); // The server finishes restarting, cleaning up stale connections. - server.start().await.unwrap(); + server.start(); deterministic.advance_clock(CLEANUP_TIMEOUT); assert_eq!( room_participants(&room_a, cx_a), @@ -805,7 +805,7 @@ async fn test_server_restarts( // The server finishes restarting, cleaning up stale connections and canceling the // call to user D because the room has become empty. - server.start().await.unwrap(); + server.start(); deterministic.advance_clock(CLEANUP_TIMEOUT); assert!(incoming_call_d.next().await.unwrap().is_none()); } @@ -6124,7 +6124,7 @@ async fn test_random_collaboration( log::info!("Simulating server restart"); server.teardown(); deterministic.advance_clock(RECEIVE_TIMEOUT + RECONNECT_TIMEOUT); - server.start().await.unwrap(); + server.start(); deterministic.advance_clock(CLEANUP_TIMEOUT); } _ if !op_start_signals.is_empty() => { @@ -6324,7 +6324,7 @@ impl TestServer { app_state.clone(), Executor::Deterministic(deterministic.build_background()), ); - server.start().await.unwrap(); + server.start(); // Advance clock to ensure the server's cleanup task is finished. deterministic.advance_clock(CLEANUP_TIMEOUT); Self { diff --git a/crates/collab/src/main.rs b/crates/collab/src/main.rs index 1386df7157..90594e2ada 100644 --- a/crates/collab/src/main.rs +++ b/crates/collab/src/main.rs @@ -58,7 +58,7 @@ async fn main() -> Result<()> { .expect("failed to bind TCP listener"); let rpc_server = collab::rpc::Server::new(state.clone(), Executor::Production); - rpc_server.start().await?; + rpc_server.start(); let app = collab::api::routes(rpc_server.clone(), state.clone()) .merge(collab::rpc::routes(rpc_server.clone())) diff --git a/crates/collab/src/rpc.rs b/crates/collab/src/rpc.rs index 69794ab35a..93fc08ca9e 100644 --- a/crates/collab/src/rpc.rs +++ b/crates/collab/src/rpc.rs @@ -238,14 +238,14 @@ impl Server { Arc::new(server) } - pub async fn start(&self) -> Result<()> { - self.app_state.db.delete_stale_projects().await?; + pub fn start(&self) { let db = self.app_state.db.clone(); let peer = self.peer.clone(); - let timeout = self.executor.sleep(CLEANUP_TIMEOUT); let pool = self.connection_pool.clone(); let live_kit_client = self.app_state.live_kit_client.clone(); + let timeout = self.executor.sleep(CLEANUP_TIMEOUT); self.executor.spawn_detached(async move { + db.delete_stale_projects().await.trace_err(); timeout.await; if let Some(room_ids) = db.stale_room_ids().await.trace_err() { for room_id in room_ids { @@ -321,7 +321,6 @@ impl Server { } } }); - Ok(()) } pub fn teardown(&self) {