Skip to content

Fix OTA manifest lambda for ESPHome dev - #117

Open
bharvey88 wants to merge 1 commit into
mainfrom
ota-url-const-char
Open

bharvey88 wants to merge 1 commit into
mainfrom
ota-url-const-char

Conversation

@bharvey88

@bharvey88 bharvey88 commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Version: 26.9.29.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.9.29.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. The update behavior is unchanged; only the displayed firmware version information has been updated.

@coderabbitai

coderabbitai Bot commented Sep 29, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

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: 8ff06a3f-9367-437c-b013-ff0bc0cb11ff

📥 Commits

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

📒 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; 0 remain after this review.


Walkthrough

The ESPHome package version changed to 26.9.29.1. In apply_ota_source, the selected Stable or Beta manifest URL is stored as a const char * and logged directly. The URL remains the update request source.

Changes

ESPHome Firmware Updates

Layer / File(s) Summary
Firmware version and OTA source handling
Integrations/ESPHome/Core.yaml
The package version changed to 26.9.29.1. apply_ota_source now logs the selected Stable or Beta manifest URL directly from a const char * and still uses it as the update request source.

Priority: ⬇️ Low

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

Change: Bug fix

Merge Risk: ⚪ Minimal · up to cdf7e

The version update follows the repository’s shared-version flow, and OTA updates retain the selected Stable or Beta manifest. No actionable merge-blocking risk is established.

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 | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the main change: fixing the OTA manifest lambda for ESPHome development builds.
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.
✨ 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 or Beta marks the route.
A const pointer holds the URL,
The OTA log prints it out.
New numbers greet the build,
And carrots wait beside the code.

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

This branch has not been deployed

No deployments
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.

1 participant