diff --git a/crates/workspace/src/workspace.rs b/crates/workspace/src/workspace.rs index c809ad234d08344ca90d93f077ffcbe9cd19f543..4341d61fbe6b6c317b16430b7f5d6ca36140561b 100644 --- a/crates/workspace/src/workspace.rs +++ b/crates/workspace/src/workspace.rs @@ -1306,12 +1306,18 @@ impl Workspace { this.collaborator_left(*peer_id, window, cx); } - project::Event::WorktreeRemoved(_) | project::Event::WorktreeAdded(..) => { + &project::Event::WorktreeRemoved(id) | &project::Event::WorktreeAdded(id) => { this.update_window_title(window, cx); - this.serialize_workspace(window, cx); - this.update_history(cx); + if this + .project() + .read(cx) + .worktree_for_id(id, cx) + .is_some_and(|wt| wt.read(cx).is_visible()) + { + this.serialize_workspace(window, cx); + this.update_history(cx); + } } - project::Event::WorktreeUpdatedEntries(..) => { this.update_window_title(window, cx); this.serialize_workspace(window, cx);