mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2026-10-28 11:14:58 +00:00
fix: restart from WebUI no longer needs the browser tab to stay open
A restart requested from the WebUI (Restart button, firmware upload, firmware update from URL, settings or customization upload) is set to PENDING_RESTART and was only escalated to RESTART_REQUESTED when the WebUI's SystemMonitor polled /rest/systemStatus. If the tab was closed, nothing ever escalated it and the generic 5 minute status timeout reset it back to NORMAL, so the restart was dropped and an uploaded firmware was never booted. - System::loop() now escalates a pending restart itself if it hasn't been picked up within 10 seconds (the SystemMonitor polls every second) - the generic status reset timeout skips PENDING_RESTART, and its timer is cleared whenever the status is back to normal, so a start time left over from an earlier status can't reset a later one (e.g. a pending restart right after a firmware download) immediately
This commit is contained in:
@@ -32,6 +32,7 @@ This release is based on the latest Espressif/Arduino core version 3. It brings
|
||||
|
||||
## Fixed
|
||||
|
||||
- restart from the WebUI (Restart button, firmware/settings upload) only happened while the browser tab stayed open. If the tab was closed the restart was silently dropped after 5 minutes, leaving a new firmware uninstalled. EMS-ESP now restarts on its own if the WebUI hasn't picked up the pending restart within 10 seconds
|
||||
- shunting yard show json
|
||||
- `system/sendmail` called from a Command or the Scheduler computed its value twice, which stripped the quotes from literal text and then failed on characters like `!`. Also shunting yard treated a `?` inside a quoted string as a ternary, so text like `"too hot?"` returned nothing
|
||||
- memory leak when using different timezones for ems-esp and thermostat[#3184](https://github.com/emsesp/EMS-ESP32/issues/3184)
|
||||
|
||||
Reference in New Issue
Block a user