ESPHome refuses a second wireless firmware upload while another is running. A command-line update and a web upload could previously write over each other; on ESP8266, that could leave a damaged image that needed a cable to reinstall.

Frédéric Metrich adds a shared lock across the update paths. It lasts until the successful update restarts the device, while an interrupted web upload releases it. The correction also prevents overlapping uploads from cancelling or disrupting updates on ESP32, LibreTiny and RP2040. The protection covers ESPHome’s own firmware updates; components that install firmware on a separate attached chip still need to adopt it.