From 428c491542b32061910013b8d9576991ce4c92ba Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Tue, 14 Sep 2021 19:21:03 +0200 Subject: [PATCH] WIP: Start on rendering avatars Co-Authored-By: Max Brunsfeld Co-Authored-By: Nathan Sobo --- zed/src/channel.rs | 2 +- zed/src/lib.rs | 1 + zed/src/main.rs | 3 ++- zed/src/test.rs | 3 ++- zed/src/user.rs | 2 +- zed/src/workspace.rs | 3 +++ 6 files changed, 10 insertions(+), 4 deletions(-) diff --git a/zed/src/channel.rs b/zed/src/channel.rs index aa182c0540997e55ed8b8165b752ebaf7f30ac1a..8e8b2964ff6e7dad478f9dcf109fac049f153649 100644 --- a/zed/src/channel.rs +++ b/zed/src/channel.rs @@ -443,7 +443,7 @@ impl ChannelMessage { message: proto::ChannelMessage, user_store: &UserStore, ) -> Result { - let sender = user_store.get_user(message.sender_id).await?; + let sender = user_store.fetch_user(message.sender_id).await?; Ok(ChannelMessage { id: message.id, body: message.body, diff --git a/zed/src/lib.rs b/zed/src/lib.rs index 162c69c1db9e7085107d4f252cb7f3b1c6825992..d672d234bfbcce21a64714f13ba46cd23926fe91 100644 --- a/zed/src/lib.rs +++ b/zed/src/lib.rs @@ -42,6 +42,7 @@ pub struct AppState { pub languages: Arc, pub themes: Arc, pub rpc: Arc, + pub user_store: Arc, pub fs: Arc, pub channel_list: ModelHandle, } diff --git a/zed/src/main.rs b/zed/src/main.rs index a7dc346e367ec96641e6a005a4f2d0244f3a8e6a..852bfaec2340d0dbb4635617b4e0b76d4d475080 100644 --- a/zed/src/main.rs +++ b/zed/src/main.rs @@ -43,8 +43,9 @@ fn main() { settings_tx: Arc::new(Mutex::new(settings_tx)), settings, themes, - channel_list: cx.add_model(|cx| ChannelList::new(user_store, rpc.clone(), cx)), + channel_list: cx.add_model(|cx| ChannelList::new(user_store.clone(), rpc.clone(), cx)), rpc, + user_store, fs: Arc::new(RealFs), }); diff --git a/zed/src/test.rs b/zed/src/test.rs index ce865bbfe58d64c267267cbfbe85321a87a7ca37..3557c0e3c4a6d65f0e85d2a77846a7fa494c41e5 100644 --- a/zed/src/test.rs +++ b/zed/src/test.rs @@ -170,8 +170,9 @@ pub fn test_app_state(cx: &mut MutableAppContext) -> Arc { settings, themes, languages: languages.clone(), - channel_list: cx.add_model(|cx| ChannelList::new(user_store, rpc.clone(), cx)), + channel_list: cx.add_model(|cx| ChannelList::new(user_store.clone(), rpc.clone(), cx)), rpc, + user_store, fs: Arc::new(RealFs), }) } diff --git a/zed/src/user.rs b/zed/src/user.rs index df98707a8ec907373613d2d6db266934a406149e..9f821f048c57832e3f1e5f371e3bd881f2edce47 100644 --- a/zed/src/user.rs +++ b/zed/src/user.rs @@ -36,7 +36,7 @@ impl UserStore { Ok(()) } - pub async fn get_user(&self, user_id: u64) -> Result> { + pub async fn fetch_user(&self, user_id: u64) -> Result> { if let Some(user) = self.users.lock().get(&user_id).cloned() { return Ok(user); } diff --git a/zed/src/workspace.rs b/zed/src/workspace.rs index 1dc672f728c3055ce046e3798836b1fd7f97ddb2..c603ec5bd474071336845afe46e5ae3ad6ac1c81 100644 --- a/zed/src/workspace.rs +++ b/zed/src/workspace.rs @@ -10,6 +10,7 @@ use crate::{ project_browser::ProjectBrowser, rpc, settings::Settings, + user, worktree::{File, Worktree}, AppState, }; @@ -341,6 +342,7 @@ pub struct Workspace { pub settings: watch::Receiver, languages: Arc, rpc: Arc, + user_store: Arc, fs: Arc, modal: Option, center: PaneGroup, @@ -395,6 +397,7 @@ impl Workspace { settings: app_state.settings.clone(), languages: app_state.languages.clone(), rpc: app_state.rpc.clone(), + user_store: app_state.user_store.clone(), fs: app_state.fs.clone(), left_sidebar, right_sidebar,