Render is snappier, less locking, and errors feel nicely modeled

Mikayla Maki created

Change summary

crates/terminal/src/modal.rs    | 1 +
crates/terminal/src/terminal.rs | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)

Detailed changes

crates/terminal/src/modal.rs 🔗

@@ -32,6 +32,7 @@ pub fn deploy_modal(workspace: &mut Workspace, _: &DeployModal, cx: &mut ViewCon
         if let Some(closed_terminal_handle) = workspace.toggle_modal(cx, |workspace, cx| {
             let wd = get_wd_for_workspace(workspace, cx);
 
+            //TODO fix this crash
             let this = cx.add_view(|cx| TerminalView::new(wd, true, cx).unwrap());
 
             let connection_handle = this.read(cx).connection.0.as_ref().unwrap().clone();

crates/terminal/src/terminal.rs 🔗

@@ -16,7 +16,7 @@ use settings::{Settings, WorkingDirectory};
 use smallvec::SmallVec;
 use std::path::{Path, PathBuf};
 use terminal_element::{terminal_layout_context::TerminalLayoutData, TerminalDimensions};
-
+use util::ResultExt;
 use workspace::{Item, Workspace};
 
 use crate::terminal_element::TerminalEl;
@@ -114,6 +114,7 @@ impl TerminalView {
                 cx,
             ))
         } else {
+            connection.log_err();
             None
         }
     }