@@ -16,7 +16,7 @@ pub(crate) mod server_params;
16
16
use anyhow:: { bail, ensure, format_err, Context as _, Result } ;
17
17
use auto_mozilla:: moz_autoconfigure;
18
18
use auto_outlook:: outlk_autodiscover;
19
- use deltachat_contact_tools:: EmailAddress ;
19
+ use deltachat_contact_tools:: { addr_normalize , EmailAddress } ;
20
20
use futures:: FutureExt ;
21
21
use futures_lite:: FutureExt as _;
22
22
use percent_encoding:: utf8_percent_encode;
@@ -71,9 +71,9 @@ impl Context {
71
71
/// Deprecated since 2025-02; use `add_transport_from_qr()`
72
72
/// or `add_transport()` instead.
73
73
pub async fn configure ( & self ) -> Result < ( ) > {
74
- let param = EnteredLoginParam :: load ( self ) . await ?;
74
+ let mut param = EnteredLoginParam :: load ( self ) . await ?;
75
75
76
- self . add_transport_inner ( & param) . await
76
+ self . add_transport_inner ( & mut param) . await
77
77
}
78
78
79
79
/// Configures a new email account using the provided parameters
@@ -105,7 +105,7 @@ impl Context {
105
105
/// from a server encoded in a QR code.
106
106
/// - [Self::list_transports()] to get a list of all configured transports.
107
107
/// - [Self::delete_transport()] to remove a transport.
108
- pub async fn add_transport ( & self , param : & EnteredLoginParam ) -> Result < ( ) > {
108
+ pub async fn add_transport ( & self , param : & mut EnteredLoginParam ) -> Result < ( ) > {
109
109
self . stop_io ( ) . await ;
110
110
let result = self . add_transport_inner ( param) . await ;
111
111
if result. is_err ( ) {
@@ -118,7 +118,7 @@ impl Context {
118
118
Ok ( ( ) )
119
119
}
120
120
121
- async fn add_transport_inner ( & self , param : & EnteredLoginParam ) -> Result < ( ) > {
121
+ async fn add_transport_inner ( & self , param : & mut EnteredLoginParam ) -> Result < ( ) > {
122
122
ensure ! (
123
123
!self . scheduler. is_running( ) . await ,
124
124
"cannot configure, already running"
@@ -127,6 +127,7 @@ impl Context {
127
127
self . sql. is_open( ) . await ,
128
128
"cannot configure, database not opened."
129
129
) ;
130
+ param. addr = addr_normalize ( & param. addr ) ;
130
131
let old_addr = self . get_config ( Config :: ConfiguredAddr ) . await ?;
131
132
if self . is_configured ( ) . await ? && !addr_cmp ( & old_addr. unwrap_or_default ( ) , & param. addr ) {
132
133
bail ! ( "Changing your email address is not supported right now. Check back in a few months!" ) ;
@@ -465,6 +466,7 @@ async fn configure(ctx: &Context, param: &EnteredLoginParam) -> Result<Option<&'
465
466
let update_device_chats_handle = task:: spawn ( async move { ctx2. update_device_chats ( ) . await } ) ;
466
467
467
468
let configured_param = get_configured_param ( ctx, param) . await ?;
469
+
468
470
let proxy_config = ProxyConfig :: load ( ctx) . await ?;
469
471
let strict_tls = configured_param. strict_tls ( proxy_config. is_some ( ) ) ;
470
472
0 commit comments