From 07ccff217a16e5418fa31dfddd455bb3bee5d4f7 Mon Sep 17 00:00:00 2001 From: localcc Date: Wed, 15 Oct 2025 16:11:18 +0200 Subject: [PATCH] Fix duplicate WSL entries (#40255) Release Notes: - N/A --- crates/recent_projects/src/remote_servers.rs | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/crates/recent_projects/src/remote_servers.rs b/crates/recent_projects/src/remote_servers.rs index 9eb18bcac158f1ac8b1aa8fda8edb21250fdecd3..871be06684cba0a0cca51b9cd4f890925a8057db 100644 --- a/crates/recent_projects/src/remote_servers.rs +++ b/crates/recent_projects/src/remote_servers.rs @@ -1385,14 +1385,21 @@ impl RemoteServerProjects { cx: &mut Context, ) { self.update_settings_file(cx, move |setting, _| { - setting - .wsl_connections - .get_or_insert(Default::default()) - .push(settings::WslConnection { - distro_name: SharedString::from(connection_options.distro_name), - user: connection_options.user, + let connections = setting.wsl_connections.get_or_insert(Default::default()); + + let distro_name = SharedString::from(connection_options.distro_name); + let user = connection_options.user; + + if !connections + .iter() + .any(|conn| conn.distro_name == distro_name && conn.user == user) + { + connections.push(settings::WslConnection { + distro_name, + user, projects: BTreeSet::new(), }) + } }); }