ESPHome changes how it loads JPEG images after album artwork caused an ESP32-S3 voice satellite to freeze or restart. The image decoder could reserve nearly 18 kilobytes of internal memory after the audio system had already taken its buffers, leaving too little room to keep the device running.
The decoder uses external RAM first when the board provides it. If there is still not enough memory, the image is skipped with an error instead of aborting the device. Boards without external RAM keep using internal memory but gain the same failure handling.
JoHoenk makes their first contribution to ESPHome with the correction, reviewed by Clyde Stubbs.