From c888101e4b9b430a6ed71efee80345ef3e41bb69 Mon Sep 17 00:00:00 2001 From: Conrad Irwin Date: Wed, 16 Oct 2024 17:17:20 -0600 Subject: [PATCH] SSH remoting: Don't panic when opening root, open ~ instead (#19322) Release Notes: - Fixed a panic when doing `zed ssh://server/` --- crates/project/src/worktree_store.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/crates/project/src/worktree_store.rs b/crates/project/src/worktree_store.rs index c49d3b062e..df63415b18 100644 --- a/crates/project/src/worktree_store.rs +++ b/crates/project/src/worktree_store.rs @@ -247,14 +247,9 @@ impl WorktreeStore { if abs_path.starts_with("/~") { abs_path = abs_path[1..].to_string(); } - if abs_path.is_empty() { + if abs_path.is_empty() || abs_path == "/" { abs_path = "~/".to_string(); } - let root_name = PathBuf::from(abs_path.clone()) - .file_name() - .unwrap() - .to_string_lossy() - .to_string(); cx.spawn(|this, mut cx| async move { let this = this.upgrade().context("Dropped worktree store")?; @@ -272,6 +267,11 @@ impl WorktreeStore { return Ok(existing_worktree); } + let root_name = PathBuf::from(&response.canonicalized_path) + .file_name() + .map(|n| n.to_string_lossy().to_string()) + .unwrap_or(response.canonicalized_path.to_string()); + let worktree = cx.update(|cx| { Worktree::remote( SSH_PROJECT_ID,