From 6ead411bb0ffa1b46f0fefb63474b7d2398840de Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 19 Aug 2026 21:24:45 -0500 Subject: [PATCH] [web_server_idf] Skip multipart parser sources when OTA upload is disabled --- esphome/components/web_server_idf/__init__.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/esphome/components/web_server_idf/__init__.py b/esphome/components/web_server_idf/__init__.py index 74a9d657a6..c59f7fbc92 100644 --- a/esphome/components/web_server_idf/__init__.py +++ b/esphome/components/web_server_idf/__init__.py @@ -1,5 +1,6 @@ from esphome.components.esp32 import add_idf_sdkconfig_option import esphome.config_validation as cv +from esphome.core import CORE CODEOWNERS = ["@dentra"] @@ -12,3 +13,11 @@ CONFIG_SCHEMA = cv.All( async def to_code(config): # Increase the maximum supported size of headers section in HTTP request packet to be processed by the server add_idf_sdkconfig_option("CONFIG_HTTPD_MAX_REQ_HDR_LEN", 1024) + + +def FILTER_SOURCE_FILES() -> list[str]: + # multipart.cpp is fully #ifdef'd on USE_WEBSERVER_OTA (set by the + # web_server OTA platform); skip it when OTA uploads are not configured. + if not any(define.name == "USE_WEBSERVER_OTA" for define in CORE.defines): + return ["multipart.cpp"] + return []