Skip to content

Add pre-build status snackbar notifications#877

Open
sefininio wants to merge 1 commit into
esphome:mainfrom
sefininio:main
Open

Add pre-build status snackbar notifications#877
sefininio wants to merge 1 commit into
esphome:mainfrom
sefininio:main

Conversation

@sefininio
Copy link
Copy Markdown

@sefininio sefininio commented Feb 27, 2026

What does this implement/fix?

Support PR for adding automatic firmware pre-building on dashboard startup. When the ESPHome dashboard starts, it checks all configured devices and automatically compiles firmware for any device whose stored build version doesn't match the current ESPHome version (update_available == True). This eliminates the manual step of re-compiling each device after an ESPHome upgrade. This PR is the dashboard UI counterpart.

Related discussion

There is also a esphome PR for the logic
And a Docs PR

Key behaviors:

  • Runs as a background task so dashboard startup is not blocked
  • Fires PRE_BUILD_STATUS events over WebSocket so the frontend can show progress
  • Restores the storage JSON version on failed builds so the next restart retries them
  • Skips pre-build entirely if all devices are already up to date

Types of changes

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected) —
    policy
  • Developer breaking change (an API change that could break external components) — policy
  • Undocumented C++ API change (removal or change of undocumented public methods that lambda users may depend on) —
    policy
  • Code quality improvements to existing code or addition of tests
  • Other

Related issue or feature (if applicable):

  • N/A

Pull request in esphome-docs with documentation (if applicable):

  • N/A

Test Environment

  • ESP32
  • ESP32 IDF
  • ESP8266
  • RP2040
  • BK72xx
  • RTL87xx
  • LN882x
  • nRF52840

Example entry for config.yaml:

# No configuration needed — pre-build runs automatically on dashboard startup
# for any device whose firmware was built with an older ESPHome version.

Checklist:

- The code change is tested and works locally.
- Tests have been added to verify that the new code works (under tests/ folder).

If user exposed functionality or configuration variables are added/changed:
- Documentation added/updated in https://github.com/esphome/esphome-docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants