Skip to content

Fix OTA manifest lambda for ESPHome dev - #117

Merged
TrevorSchirmer merged 4 commits into
betafrom
ota-url-const-char
Oct 12, 2026
Merged

TrevorSchirmer merged 4 commits into
betafrom
ota-url-const-char

Conversation

@bharvey88

@bharvey88 bharvey88 commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Version: 26.10.12.1

What does this implement/fix?

Fixes the build against ESPHome dev. esphome#19211 changed the http_request update entity's set_source_url() to take a const char * and keep the pointer, so passing a std::string fails with cannot convert 'std::string' to 'const char*'.

apply_ota_source now picks between the two manifest URLs as string literals, which stay valid for the life of the firmware. Current stable still accepts this, since its const std::string & parameter converts from const char *. No change in behavior.

Types of changes

  • Bugfix (fixed change that fixes an issue)
  • New feature (thanks!)
  • Breaking change (repair/feature that breaks existing functionality)
  • Dependency Update - Does not publish
  • Other - Does not publish
  • Website of github readme file update - Does not publish
  • Github workflows - Does not publish

Checklist / Checklijst:

  • The code change has been tested and works locally
  • The code change has not yet been tested

If user-visible functionality or configuration variables are added/modified:

  • Added/updated documentation for the web page

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Updates
    • Firmware version information is now 26.10.12.1. Stable and Beta OTA update sources remain available, and update requests continue to use the source selected for the configured channel. No other end-user-facing changes are included in this release; OTA update behavior is unchanged.

Release 26.8.19.1: merge beta into main
@coderabbitai

coderabbitai Bot commented Sep 29, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 34714389-9165-47b5-8eed-0b24d88a8416

📥 Commits

Reviewing files that changed from the base of the PR and between cdf7e24 and e9e8e0b.


📒 Files selected for processing (1)
  • Integrations/ESPHome/Core.yaml

Included review availability: This review used your included allowance. Your plan provides up to 2 included reviews per hour; 1 remain after this review.



Walkthrough

The default ESPHome firmware version changed to 26.10.12.1. In apply_ota_source, the selected Stable or Beta manifest URL is stored as a const char * and logged directly. URL selection and the request-source update remain unchanged.

Changes

ESPHome Firmware Updates

Layer / File(s) Summary
Firmware version and OTA source handling
Integrations/ESPHome/Core.yaml
The default firmware version changed to 26.10.12.1. apply_ota_source now stores and logs the selected Stable or Beta manifest URL as a const char *. The URL selection and request-source update are unchanged.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~5 minutes

Change: Bug fix

Suggested reviewers: bunton33

Merge Risk: ⚪ Minimal · up to e9e8e

The OTA source update remains compatible with stable and dev ESPHome APIs, and no other material behavior change is present. No actionable merge risk is evident.

Architecture Summary

Architecture risk: 🔵 Low · up to 5c3f9

The change affects 1 system.

Changed systems: Integrations

Architecture concerns
No architecture-level concerns identified.

Review details

Systems and components

  • observed — Integrations (service) was modified; 1 changed file maps to changed impact.

Before / after behavior

  • observed — Modified behavior in Integrations/ESPHome/Core.yaml: The default firmware version changed from 26.8.27.1 to 26.9.29.1.
  • observed — Modified behavior in Integrations/ESPHome/Core.yaml: apply_ota_source now stores the selected Stable/Beta manifest URL as a const char * and logs it directly, replacing the std::string temporary and .c_str() call. The selected URL is still used to set the update request source.

Pre-merge checks | Passed 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly identifies the main change: fixing OTA manifest handling for ESPHome development. It is concise and specific.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

A rabbit checks the firmware trail,
Stable and Beta keep their choice,
A const pointer holds the URL,
Direct logs carry its voice,
New version hops into place,
Soft paws approve this tidy change.

Comment @coderabbitai help to get the list of available commands.

@bharvey88
bharvey88 changed the base branch from beta to main September 29, 2026 22:04
@bharvey88 bharvey88 closed this Oct 2, 2026
@TrevorSchirmer
TrevorSchirmer changed the base branch from main to beta October 12, 2026 14:45
@TrevorSchirmer
TrevorSchirmer merged commit f10edb1 into beta Oct 12, 2026
14 checks passed
@TrevorSchirmer
TrevorSchirmer deleted the ota-url-const-char branch October 12, 2026 14:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugfix Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants