diff --git a/src/imap/mod.rs b/src/imap/mod.rs index db52fcb60..62f36cf00 100644 --- a/src/imap/mod.rs +++ b/src/imap/mod.rs @@ -7,7 +7,7 @@ use std::sync::atomic::{AtomicBool, Ordering}; use async_imap::{ error::Result as ImapResult, - types::{Fetch, Flag, Mailbox, Name, NameAttribute}, + types::{Capability, Fetch, Flag, Mailbox, Name, NameAttribute}, }; use async_std::sync::{Mutex, RwLock}; use async_std::task; @@ -389,9 +389,14 @@ impl Imap { } else { let can_idle = caps.has_str("IDLE"); let has_xlist = caps.has_str("XLIST"); - let caps_list = caps - .iter() - .fold(String::new(), |s, c| s + &format!(" {:?}", c)); + let caps_list = caps.iter().fold(String::new(), |s, c| { + if let Capability::Atom(x) = c { + s + &format!(" {}", x) + } else { + s + &format!(" {:?}", c) + } + }); + self.config.write().await.can_idle = can_idle; self.config.write().await.has_xlist = has_xlist; *self.connected.lock().await = true;