diff --git a/src/wifi_setup_page.cpp b/src/wifi_setup_page.cpp index a5a8aaf..a06d496 100644 --- a/src/wifi_setup_page.cpp +++ b/src/wifi_setup_page.cpp @@ -220,6 +220,15 @@ void WiFiSetupPage::update(float dt) { refreshTimer_ += dt; if (refreshTimer_ >= 3.0f) { refreshTimer_ = 0.0f; + + // Re-issue a scan on every tick rather than only re-reading results: + // NetworkManager only reports access points from completed scans, so a + // slow or failed first scan would otherwise leave the list empty + // forever. Skipped while a connection attempt is running to avoid + // churning the radio mid-connect. + if (state_ && !connectInProgress_) { + state_->network.requestScan(); + } refreshNetworkState(); // During the First-Run walkthrough, leave the WiFi page automatically