Avoid panic when opening thread as markdown in non-local project (cherry-pick #30061) (#30063)

gcp-cherry-pick-bot[bot] and Cole Miller created

Cherry-picked Avoid panic when opening thread as markdown in non-local
project (#30061)

Right now `agent: open active thread as markdown` will always panic when
you try to use it over collab or when SSH remoting. This PR makes it log
an error instead (we should follow up by restoring full remote support).

Release Notes:

- Prevented `agent: open active thread as markdown` from panicking when
used in a non-local project.

Co-authored-by: Cole Miller <cole@zed.dev>

Change summary

crates/agent/src/active_thread.rs | 5 +++++
1 file changed, 5 insertions(+)

Detailed changes

crates/agent/src/active_thread.rs 🔗

@@ -3448,6 +3448,11 @@ pub(crate) fn open_active_thread_as_markdown(
                 .unwrap_or_else(|| "Thread".to_string());
 
             let project = workspace.project().clone();
+
+            if !project.read(cx).is_local() {
+                anyhow::bail!("failed to open active thread as markdown in remote project");
+            }
+
             let buffer = project.update(cx, |project, cx| {
                 project.create_local_buffer(&markdown, Some(markdown_language), cx)
             });