diff --git a/src/app.cpp b/src/app.cpp index d767a8f..61ddf34 100644 --- a/src/app.cpp +++ b/src/app.cpp @@ -448,6 +448,13 @@ void App::rebuildLiteWallet(bool force) wallet::liteConnectionSettingsFromAppSettings(*settings_), resolveLiteRolloutDecision(*settings_)); lite_wallet_->setPersistCallback([this]() { settings_->save(); }); + + // The new controller starts closed. Re-arm the one-shot auto-open so the next update() + // tick reopens the existing wallet against the (possibly changed) server — otherwise a + // server switch from the Network tab, or a retry after a failed open, would rebuild the + // controller but never reopen, leaving a permanent "disconnected" state. + lite_autoopen_done_ = false; + lite_open_error_.clear(); } void App::update()