show better error message for a simple 'bad credentials' error and give some more hints for other errors

This commit is contained in:
B. Petersen
2019-10-09 01:27:13 +02:00
committed by holger krekel
parent 469f8ac31d
commit 27627b4f74
2 changed files with 14 additions and 10 deletions

View File

@@ -16,6 +16,7 @@ use crate::login_param::{dc_build_tls, CertificateChecks, LoginParam};
use crate::message::{self, update_msg_move_state, update_server_uid}; use crate::message::{self, update_msg_move_state, update_server_uid};
use crate::oauth2::dc_get_oauth2_access_token; use crate::oauth2::dc_get_oauth2_access_token;
use crate::param::Params; use crate::param::Params;
use crate::stock::StockMessage;
use crate::wrapmime; use crate::wrapmime;
const DC_IMAP_SEEN: usize = 0x0001; const DC_IMAP_SEEN: usize = 0x0001;
@@ -445,15 +446,14 @@ impl Imap {
let config = self.config.read().unwrap(); let config = self.config.read().unwrap();
let imap_server: &str = config.imap_server.as_ref(); let imap_server: &str = config.imap_server.as_ref();
let imap_port = config.imap_port; let imap_port = config.imap_port;
let message = context.stock_string_repl_str2(
emit_event!( StockMessage::ServerResponse,
context, format!("{}:{}", imap_server, imap_port),
Event::ErrorNetwork(format!( format!("{}", err),
"Could not connect to IMAP-server {}:{}. ({})",
imap_server, imap_port, err
))
); );
emit_event!(context, Event::ErrorNetwork(message));
return false; return false;
} }
}; };
@@ -467,9 +467,13 @@ impl Imap {
true true
} }
Err((err, _)) => { Err((err, _)) => {
let config = self.config.read().unwrap();
let imap_user: &str = config.imap_user.as_ref();
let message = context.stock_string_repl_str(StockMessage::CannotLogin, imap_user);
emit_event!( emit_event!(
context, context,
Event::ErrorNetwork(format!("Cannot login ({})", err)) Event::ErrorNetwork(format!("{} ({})", message, err))
); );
self.unsetup_handle(context); self.unsetup_handle(context);

View File

@@ -96,7 +96,7 @@ pub enum StockMessage {
SelfTalkSubTitle = 50, SelfTalkSubTitle = 50,
#[strum(props(fallback = "Cannot login as %1$s."))] #[strum(props(fallback = "Cannot login as %1$s."))]
CannotLogin = 60, CannotLogin = 60,
#[strum(props(fallback = "Response from %1$s: %2$s"))] #[strum(props(fallback = "Could not connect to %1$s: %2$s"))]
ServerResponse = 61, ServerResponse = 61,
#[strum(props(fallback = "%1$s by %2$s."))] #[strum(props(fallback = "%1$s by %2$s."))]
MsgActionByUser = 62, MsgActionByUser = 62,
@@ -334,7 +334,7 @@ mod tests {
assert_eq!( assert_eq!(
t.ctx t.ctx
.stock_string_repl_str2(StockMessage::ServerResponse, "foo", "bar"), .stock_string_repl_str2(StockMessage::ServerResponse, "foo", "bar"),
"Response from foo: bar" "Could not connect to foo: bar"
); );
} }