Fall back to "." instead of empty path for sandbox project_dir

Richard Feldman created

An empty PathBuf could produce unpredictable sandbox rules. Using
"." ensures canonicalize_paths() can resolve it to a real absolute
path.

Change summary

crates/acp_thread/src/terminal.rs | 2 +-
crates/project/src/terminals.rs   | 4 +++-
2 files changed, 4 insertions(+), 2 deletions(-)

Detailed changes

crates/acp_thread/src/terminal.rs 🔗

@@ -266,7 +266,7 @@ pub async fn create_terminal_entity(
             }
             let project_dir = cwd
                 .clone()
-                .unwrap_or_else(|| std::env::current_dir().unwrap_or_default());
+                .unwrap_or_else(|| std::env::current_dir().unwrap_or_else(|_| ".".into()));
             Some(terminal::terminal_settings::SandboxConfig::from_settings(
                 sandbox,
                 project_dir,

crates/project/src/terminals.rs 🔗

@@ -426,7 +426,9 @@ impl Project {
                         let project_dir = local_path
                             .as_ref()
                             .map(|p| p.to_path_buf())
-                            .unwrap_or_else(|| std::env::current_dir().unwrap_or_default());
+                            .unwrap_or_else(|| {
+                                std::env::current_dir().unwrap_or_else(|_| ".".into())
+                            });
                         Some(terminal::terminal_settings::SandboxConfig::from_settings(
                             sandbox,
                             project_dir,