Wait to see guest's buffer version before converting completion anchor

Antonio Scandurra created

Change summary

crates/project/src/project.rs | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

Detailed changes

crates/project/src/project.rs 🔗

@@ -5550,6 +5550,12 @@ impl Project {
                 .ok_or_else(|| anyhow!("unknown buffer id {}", envelope.payload.buffer_id))
         })?;
 
+        let version = deserialize_version(envelope.payload.version);
+        buffer
+            .update(&mut cx, |buffer, _| buffer.wait_for_version(version))
+            .await;
+        let version = buffer.read_with(&cx, |buffer, _| buffer.version());
+
         let position = envelope
             .payload
             .position
@@ -5561,12 +5567,6 @@ impl Project {
             })
             .ok_or_else(|| anyhow!("invalid position"))?;
 
-        let version = deserialize_version(envelope.payload.version);
-        buffer
-            .update(&mut cx, |buffer, _| buffer.wait_for_version(version))
-            .await;
-        let version = buffer.read_with(&cx, |buffer, _| buffer.version());
-
         let completions = this
             .update(&mut cx, |this, cx| this.completions(&buffer, position, cx))
             .await?;