Fix setup wizard port prompts showing blank default instead of current value

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Shautvast 2026-02-25 10:54:23 +01:00
parent facb44d561
commit 2c70eb300a

View file

@ -186,7 +186,8 @@ fn setup_imap(existing: Option<&Config>) -> Result<Config, String> {
println!("--- IMAP settings ---"); println!("--- IMAP settings ---");
let imap_host = prompt("IMAP host", ex_imap.map(|i| i.host.as_str())); let imap_host = prompt("IMAP host", ex_imap.map(|i| i.host.as_str()));
let imap_port: u16 = prompt("IMAP port", ex_imap.map(|_| "").or(Some("993"))) let imap_port_default = ex_imap.map(|i| i.port.to_string());
let imap_port: u16 = prompt("IMAP port", imap_port_default.as_deref().or(Some("993")))
.parse() .parse()
.unwrap_or(993); .unwrap_or(993);
let imap_user = prompt("IMAP username (email)", ex_imap.map(|i| i.username.as_str())); let imap_user = prompt("IMAP username (email)", ex_imap.map(|i| i.username.as_str()));
@ -203,7 +204,8 @@ fn setup_imap(existing: Option<&Config>) -> Result<Config, String> {
println!("\n--- SMTP settings ---"); println!("\n--- SMTP settings ---");
let smtp_host = prompt("SMTP host", ex_smtp.map(|s| s.host.as_str())); let smtp_host = prompt("SMTP host", ex_smtp.map(|s| s.host.as_str()));
let smtp_port: u16 = prompt("SMTP port", ex_smtp.map(|_| "").or(Some("465"))) let smtp_port_default = ex_smtp.map(|s| s.port.to_string());
let smtp_port: u16 = prompt("SMTP port", smtp_port_default.as_deref().or(Some("465")))
.parse() .parse()
.unwrap_or(465); .unwrap_or(465);
let smtp_user = prompt("SMTP username (email)", ex_smtp.map(|s| s.username.as_str())); let smtp_user = prompt("SMTP username (email)", ex_smtp.map(|s| s.username.as_str()));
@ -274,15 +276,17 @@ fn setup_proton(existing: Option<&Config>) -> Result<Config, String> {
credentials::delete(credentials::PROTON_MAILBOX_PASSWORD); credentials::delete(credentials::PROTON_MAILBOX_PASSWORD);
} }
let bridge_imap_default = ex_bridge.map(|b| b.imap_port.to_string());
let imap_port: u16 = prompt( let imap_port: u16 = prompt(
"Bridge IMAP port", "Bridge IMAP port",
ex_bridge.map(|_| "").or(Some("1143")), bridge_imap_default.as_deref().or(Some("1143")),
) )
.parse() .parse()
.unwrap_or(1143); .unwrap_or(1143);
let bridge_smtp_default = ex_bridge.map(|b| b.smtp_port.to_string());
let smtp_port: u16 = prompt( let smtp_port: u16 = prompt(
"Bridge SMTP port", "Bridge SMTP port",
ex_bridge.map(|_| "").or(Some("1025")), bridge_smtp_default.as_deref().or(Some("1025")),
) )
.parse() .parse()
.unwrap_or(1025); .unwrap_or(1025);