Don't consider scan as being complete until its state is Idle

Antonio Scandurra and Nathan Sobo created

Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Change summary

zed/src/worktree.rs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Detailed changes

zed/src/worktree.rs 🔗

@@ -118,8 +118,8 @@ impl Worktree {
         let scan_id = self.snapshot.scan_id;
         ctx.spawn_stream(
             self.scan_state.1.clone(),
-            move |this, _, ctx| {
-                if this.snapshot.scan_id > scan_id {
+            move |this, scan_state, ctx| {
+                if matches!(scan_state, ScanState::Idle) && this.snapshot.scan_id > scan_id {
                     ctx.halt_stream();
                 }
             },