Merge pull request #2273 from zed-industries/fix-dock-opening-in-collaboration

Max Brunsfeld created

Fix dock opening on collaboration

Change summary

crates/recent_projects/src/recent_projects.rs | 13 +++++++------
crates/workspace/src/workspace.rs             |  2 +-
2 files changed, 8 insertions(+), 7 deletions(-)

Detailed changes

crates/recent_projects/src/recent_projects.rs 🔗

@@ -165,12 +165,13 @@ impl PickerDelegate for RecentProjectsView {
     }
 
     fn confirm(&mut self, cx: &mut ViewContext<Self>) {
-        let selected_match = &self.matches[self.selected_index()];
-        let workspace_location = &self.workspace_locations[selected_match.candidate_id];
-        cx.dispatch_global_action(OpenPaths {
-            paths: workspace_location.paths().as_ref().clone(),
-        });
-        cx.emit(Event::Dismissed);
+        if let Some(selected_match) = &self.matches.get(self.selected_index()) {
+            let workspace_location = &self.workspace_locations[selected_match.candidate_id];
+            cx.dispatch_global_action(OpenPaths {
+                paths: workspace_location.paths().as_ref().clone(),
+            });
+            cx.emit(Event::Dismissed);
+        }
     }
 
     fn dismiss(&mut self, cx: &mut ViewContext<Self>) {

crates/workspace/src/workspace.rs 🔗

@@ -750,7 +750,7 @@ impl Workspace {
             cx.defer(move |_, cx| {
                 Self::load_from_serialized_workspace(weak_handle, serialized_workspace, cx)
             });
-        } else {
+        } else if project.read(cx).is_local() {
             if cx.global::<Settings>().default_dock_anchor != DockAnchor::Expanded {
                 Dock::show(&mut this, false, cx);
             }