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) =