diff --git a/src/app/mod.rs b/src/app/mod.rs index cc6193a..52db608 100644 --- a/src/app/mod.rs +++ b/src/app/mod.rs @@ -131,6 +131,12 @@ impl App<'_> { tokio::task::spawn(event::poll_matrix_events(self.channel_tx.clone(), self.matrix_listener_killer.clone(), client)); + let account = self.account()?; + let name = account.name().clone(); + let user_id = account.user_id().clone(); + self.status.set_account_name(name); + self.status.set_account_user_id(user_id); + info!("Initializing client for the current account"); Ok(()) @@ -151,10 +157,10 @@ impl App<'_> { None } - pub fn account(&self) -> Result<&Account, ()> { + pub fn account(&self) -> Result<&Account> { let account = self.accounts_manager.current(); match account { - None => Err(()), + None => Err(Error::msg("failed to resolve current account")), Some(a) => Ok(a) } } diff --git a/src/app/status.rs b/src/app/status.rs index 13d3251..44c6c96 100644 --- a/src/app/status.rs +++ b/src/app/status.rs @@ -28,10 +28,18 @@ impl Status { &self.account_name } + pub fn set_account_name(&mut self, name: String) { + self.account_name = name; + } + pub fn account_user_id(&self) -> &String { &self.account_user_id } + pub fn set_account_user_id(&mut self, user_id: String) { + self.account_user_id = user_id; + } + pub fn room(&self) -> Option<()> { None }