sidebar: Fix removed projects not immediately disappearing from the UI (#53974)

Danilo Leal created

Release Notes:

- N/A

Change summary

crates/sidebar/src/sidebar.rs           | 3 ++-
crates/workspace/src/multi_workspace.rs | 2 ++
2 files changed, 4 insertions(+), 1 deletion(-)

Detailed changes

crates/sidebar/src/sidebar.rs 🔗

@@ -408,7 +408,8 @@ impl Sidebar {
                     this.subscribe_to_workspace(workspace, window, cx);
                     this.update_entries(cx);
                 }
-                MultiWorkspaceEvent::WorkspaceRemoved(_) => {
+                MultiWorkspaceEvent::WorkspaceRemoved(_)
+                | MultiWorkspaceEvent::ProjectGroupsChanged => {
                     this.update_entries(cx);
                 }
             },

crates/workspace/src/multi_workspace.rs 🔗

@@ -105,6 +105,7 @@ pub enum MultiWorkspaceEvent {
     ActiveWorkspaceChanged,
     WorkspaceAdded(Entity<Workspace>),
     WorkspaceRemoved(EntityId),
+    ProjectGroupsChanged,
 }
 
 pub enum SidebarEvent {
@@ -854,6 +855,7 @@ impl MultiWorkspace {
 
         // Now remove the group.
         self.project_groups.retain(|group| group.key != *group_key);
+        cx.emit(MultiWorkspaceEvent::ProjectGroupsChanged);
 
         let excluded_workspaces = workspaces.clone();
         self.remove(