Public Access
At every join the DNS and NTP setup ran twice in the same pass: the "check now and then" timer compared this pass's time with a stamp taken from millis() a moment later, and the unsigned difference underflowed. Starting SNTP is only queued for the network task, so when the second run looked before the first had been carried out, it queued a second start: "Operating mode must not be set while SNTP client is running", a panic nine seconds after boot. Rare (once in the dozen or so boots of this branch's testing), there since v0.7.0. Rollback caught it: the update was on Probation and the device went back to the build before. The service now remembers that it started SNTP instead of asking esp_sntp_enabled(), and the timer compares signed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EhqxQ49eCju4CzKYNjZzwT