diff --git a/crates/contacts_panel/src/contacts_panel.rs b/crates/contacts_panel/src/contacts_panel.rs index c058a16e7d..56916d61c3 100644 --- a/crates/contacts_panel/src/contacts_panel.rs +++ b/crates/contacts_panel/src/contacts_panel.rs @@ -23,7 +23,7 @@ use theme::IconButton; use workspace::{ menu::{Confirm, SelectNext, SelectPrev}, sidebar::SidebarItem, - AppState, JoinProject, Workspace, + JoinProject, Workspace, }; impl_actions!( @@ -91,7 +91,7 @@ pub fn init(cx: &mut MutableAppContext) { impl ContactsPanel { pub fn new( - app_state: Arc, + user_store: ModelHandle, workspace: WeakViewHandle, cx: &mut ViewContext, ) -> Self { @@ -151,8 +151,8 @@ impl ContactsPanel { } }); - cx.subscribe(&app_state.user_store, { - let user_store = app_state.user_store.downgrade(); + cx.subscribe(&user_store, { + let user_store = user_store.downgrade(); move |_, _, event, cx| { if let Some((workspace, user_store)) = workspace.upgrade(cx).zip(user_store.upgrade(cx)) @@ -234,9 +234,8 @@ impl ContactsPanel { entries: Default::default(), match_candidates: Default::default(), filter_editor, - _maintain_contacts: cx - .observe(&app_state.user_store, |this, _, cx| this.update_entries(cx)), - user_store: app_state.user_store.clone(), + _maintain_contacts: cx.observe(&user_store, |this, _, cx| this.update_entries(cx)), + user_store, }; this.update_entries(cx); this @@ -914,6 +913,7 @@ mod tests { use language::LanguageRegistry; use project::Project; use theme::ThemeRegistry; + use workspace::AppState; #[gpui::test] async fn test_contact_panel(cx: &mut TestAppContext) { @@ -921,7 +921,7 @@ mod tests { let project = Project::test(app_state.fs.clone(), [], cx).await; let workspace = cx.add_view(0, |cx| Workspace::new(project, cx)); let panel = cx.add_view(0, |cx| { - ContactsPanel::new(app_state.clone(), workspace.downgrade(), cx) + ContactsPanel::new(app_state.user_store.clone(), workspace.downgrade(), cx) }); let get_users_request = server.receive::().await.unwrap(); diff --git a/crates/zed/src/zed.rs b/crates/zed/src/zed.rs index ae321b48c1..0c3727d6b4 100644 --- a/crates/zed/src/zed.rs +++ b/crates/zed/src/zed.rs @@ -162,8 +162,9 @@ pub fn build_workspace( }); let project_panel = ProjectPanel::new(project, cx); - let contact_panel = - cx.add_view(|cx| ContactsPanel::new(app_state.clone(), workspace.weak_handle(), cx)); + let contact_panel = cx.add_view(|cx| { + ContactsPanel::new(app_state.user_store.clone(), workspace.weak_handle(), cx) + }); workspace.left_sidebar().update(cx, |sidebar, cx| { sidebar.add_item("icons/folder-tree-solid-14.svg", project_panel.into(), cx)