Surface esp32 framework.advanced.flash_chip on the framework form - #2870
Conversation
|
@esphbot review |
Merging this PR will not alter performance
Comparing Footnotes
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2870 +/- ##
=======================================
Coverage 99.75% 99.75%
=======================================
Files 296 296
Lines 25677 25677
=======================================
Hits 25615 25615
Misses 62 62
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
PR Review — Surface esp32 framework.advanced.flash_chip on the framework formSmall, correct allowlist addition with version-aware tests. Ready to merge. What works well:
Non-blocking:
Checklist
Automated review by Kōan (Claude) |
esphbot
left a comment
There was a problem hiding this comment.
Tip
No blocking issues found — ready to merge.
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
The focused catalog change is correct, backward-compatible, and adequately tested.
Review effort: Balanced
Findings: None
What changed in this PR
Surfaces ESP32 framework.advanced.flash_chip in the generated framework form once supported by ESPHome.
Changes:
- Adds
flash_chipto the curated ESP32 advanced-field allowlist. - Adds version-aware visibility, option, and variant-gating tests.
| File | Description |
|---|---|
script/sync_components.py |
Enables flash_chip using the universally valid generic probe. |
tests/test_sync_components_esp32_visibility.py |
Verifies generated and synthetic field visibility across schema versions. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
What does this implement/fix?
esphome 2026.10.0 adds
framework.advanced.flash_chipon esp32. Upstream marks the wholeadvancedgroup yaml only, so the sync hides every child unless it is on the curated_ESP32_ADVANCED_VISIBLElist; without this change the field would land hidden on the next catalog sync and a YAML that setsflash_chip: genericshows nothing in the framework form.This adds
flash_chipto the allowlist withgenericas the probe value.genericvalidates on every variant, so the derived variant gate isNoneand the select shows on all variants; esphome keeps owning themxic_opiandflash_mode: opipairing. The field only appears once the catalog syncs against a 2026.10.0 schema (the latest published schema is still 2026.9.0, so the committed catalog is unchanged here). Verified against esphome dev in a scratch venv: the visibility tests pass unguarded and the gate derives toNone. No browser check was possible yet, the served catalog predates the field.Related issue or feature (if applicable):
Types of changes
bugfixnew-featureenhancementbreaking-changerefactordocsmaintenancecidependenciesFrontend coordination
Checklist
ruff,codespell, yaml/json/python checks).tests/where applicable.components.index.json/definitions/components/*.jsonhave not been hand-edited (regenerate viascript/sync_components.pyif a sync is needed).docs/ARCHITECTURE.mdand/ordocs/API.md.