fix: post-review issues + close M2/M3/M4 from internal backlog (v1.9.9)
From Sonnet pre-release code review (3 real issues): - F1 (high): factory reset atomicity — save cleared creds BEFORE zeroing reset counter, so a power loss between commits still results in WiFiManager AP boot instead of inconsistent "counter=0 + stale creds" state - F2: isValidSSID now allows single-char SSIDs (per 802.11 spec) - F3: ntp_interval changes now trigger needsRestart (NTPClient constructed once in setup() with this value, doesn't pick up runtime changes) From internal backlog: - M2: setupWiFi Try-2 now supports open networks (no password) — fixed the &&-condition that required both ssid and password - M3: removed dead NTP_WAITING/NTP_SUCCESS/NTP_FAILED enum values - M4: randomSeed() with ESP.getChipId() ^ micros() — dissolve pattern varies Tested on hardware: 72/73 tests pass (single failure is expected — ntp_interval fuzz cases now trigger restart due to F3, second case lands in reboot window). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
f42ede5fa4
commit
259eda6663
@@ -105,10 +105,14 @@ void ICACHE_FLASH_ATTR setupWiFi() {
|
||||
}
|
||||
}
|
||||
|
||||
// Try 2: If we have EEPROM credentials, try those
|
||||
if (strlen(config.ssid) > 0 && strlen(config.password) > 0) {
|
||||
// Try 2: If we have EEPROM credentials, try those (M2: support open networks)
|
||||
if (strlen(config.ssid) > 0) {
|
||||
Serial.println("\nTrying EEPROM credentials...");
|
||||
WiFi.begin(config.ssid, config.password);
|
||||
if (strlen(config.password) > 0) {
|
||||
WiFi.begin(config.ssid, config.password);
|
||||
} else {
|
||||
WiFi.begin(config.ssid); // open network — no password
|
||||
}
|
||||
|
||||
int attempts = 0;
|
||||
while (WiFi.status() != WL_CONNECTED && attempts < 20) {
|
||||
|
||||
Reference in New Issue
Block a user