From c0e85481b09da81c852a7fc3f793a82fe125fe97 Mon Sep 17 00:00:00 2001 From: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Date: Tue, 25 Nov 2025 10:11:43 +0100 Subject: [PATCH] lsp: Fix potential double didClose notification when renaming a file (#43448) Closes #42709 Release Notes: - N/A --- crates/project/src/lsp_store.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/crates/project/src/lsp_store.rs b/crates/project/src/lsp_store.rs index 349bfa9ed00223ea71d4d77dd32bdf433c39c784..f5d931737dff9a873fc5d63e5445b2b5d49bab56 100644 --- a/crates/project/src/lsp_store.rs +++ b/crates/project/src/lsp_store.rs @@ -2684,10 +2684,15 @@ impl LocalLspStore { cx: &mut App, ) { buffer.update(cx, |buffer, cx| { - let _ = self.buffer_snapshots.remove(&buffer.remote_id()); + let mut snapshots = self.buffer_snapshots.remove(&buffer.remote_id()); for (_, language_server) in self.language_servers_for_buffer(buffer, cx) { - language_server.unregister_buffer(file_url.clone()); + if snapshots + .as_mut() + .is_some_and(|map| map.remove(&language_server.server_id()).is_some()) + { + language_server.unregister_buffer(file_url.clone()); + } } }); }