mirror of
https://github.com/chatmail/core.git
synced 2026-05-25 01:36:31 +03:00
show better error message for a simple 'bad credentials' error and give some more hints for other errors
This commit is contained in:
committed by
holger krekel
parent
469f8ac31d
commit
27627b4f74
20
src/imap.rs
20
src/imap.rs
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user