From de81d610992e25918b07aebb2a49500107c76b64 Mon Sep 17 00:00:00 2001 From: Danilo Leal <67129314+danilo-leal@users.noreply.github.com> Date: Wed, 8 Apr 2026 14:33:54 -0300 Subject: [PATCH] Fix empty path being shown as an item in the recent projects picker (#53400) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A couple of restore project group/workspaces functions weren't filtering out project groups with empty paths, leading to an empty being shown in the recent projects picker. This is the problem this PR solves: Screenshot 2026-04-08 at 11  06@2x Release Notes: - N/A --- crates/workspace/src/multi_workspace.rs | 3 +++ crates/workspace/src/workspace.rs | 3 +++ 2 files changed, 6 insertions(+) diff --git a/crates/workspace/src/multi_workspace.rs b/crates/workspace/src/multi_workspace.rs index aad5207e8b8d119ed6381a59665782c2b1e540d1..fa4f29ecad1ef37852b779837c58e4925840bf23 100644 --- a/crates/workspace/src/multi_workspace.rs +++ b/crates/workspace/src/multi_workspace.rs @@ -586,6 +586,9 @@ impl MultiWorkspace { pub fn restore_project_group_keys(&mut self, keys: Vec) { let mut restored: Vec = Vec::with_capacity(keys.len()); for key in keys { + if key.path_list().paths().is_empty() { + continue; + } if !restored.contains(&key) { restored.push(key); } diff --git a/crates/workspace/src/workspace.rs b/crates/workspace/src/workspace.rs index 3d1f67bf69fb818e6155782fdb4779365098cb20..e6244f63b8b45e39b61b2a1c3f4cf2ff27c8609a 100644 --- a/crates/workspace/src/workspace.rs +++ b/crates/workspace/src/workspace.rs @@ -8778,6 +8778,9 @@ pub async fn restore_multiworkspace( // stale keys from previous sessions get normalized and deduped. let mut resolved_keys: Vec = Vec::new(); for key in project_group_keys.into_iter().map(ProjectGroupKey::from) { + if key.path_list().paths().is_empty() { + continue; + } let mut resolved_paths = Vec::new(); for path in key.path_list().paths() { if let Some(common_dir) =