diff --git a/crates/project/src/project.rs b/crates/project/src/project.rs index 97b8b3a525e83934e14d25a1ff1eb826d845ffb5..10485b79e4cae56e2394ee28b3d42ff1969a46fe 100644 --- a/crates/project/src/project.rs +++ b/crates/project/src/project.rs @@ -1332,12 +1332,13 @@ impl Project { let client = self.client.clone(); cx.foreground() .spawn(async move { - share.await?; client.send(proto::RespondToJoinProjectRequest { requester_id, project_id, allow, - }) + })?; + share.await?; + anyhow::Ok(()) }) .detach_and_log_err(cx); } diff --git a/crates/project/src/worktree.rs b/crates/project/src/worktree.rs index 5d105df4464ad63f5d193dda6ecaadbeb7ef1ce8..6e183aa127adc253abc1e3e18f110149e19a935a 100644 --- a/crates/project/src/worktree.rs +++ b/crates/project/src/worktree.rs @@ -2718,10 +2718,11 @@ async fn send_worktree_update( #[cfg(not(any(test, feature = "test-support")))] const MAX_CHUNK_SIZE: usize = 256; - loop { + let mut is_last_update = false; + while !is_last_update { let chunk_size = cmp::min(update.updated_entries.len(), MAX_CHUNK_SIZE); let updated_entries = update.updated_entries.drain(..chunk_size).collect(); - let is_last_update = update.updated_entries.is_empty(); + is_last_update = update.updated_entries.is_empty(); client .request(proto::UpdateWorktree { project_id: update.project_id, @@ -2733,9 +2734,6 @@ async fn send_worktree_update( is_last_update, }) .await?; - if is_last_update { - break; - } } Ok(())