From d48ec524461535abbb048b9de1cea6084034aed4 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 1 Apr 2026 11:10:12 -1000 Subject: [PATCH] reduce --- esphome/components/api/api_connection.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/esphome/components/api/api_connection.cpp b/esphome/components/api/api_connection.cpp index 220a254a88..18aa88fc1c 100644 --- a/esphome/components/api/api_connection.cpp +++ b/esphome/components/api/api_connection.cpp @@ -2023,17 +2023,18 @@ uint16_t APIConnection::encode_to_buffer(uint32_t calculated_size, MessageEncode auto &shared_buf = conn->parent_->get_shared_buffer_ref(); - size_t write_start; + size_t to_add; if (conn->flags_.batch_first_message) { // First message - buffer already prepared by caller, just clear flag conn->flags_.batch_first_message = false; - shared_buf.resize(shared_buf.size() + calculated_size); + to_add = calculated_size; } else { // Batch message second or later // Reserve for full message, resize to include footer gap + header padding + payload - shared_buf.resize(shared_buf.size() + total_calculated_size); + to_add = total_calculated_size; } + shared_buf.resize(shared_buf.size() + to_add); ProtoWriteBuffer buffer{&shared_buf, shared_buf.size() - calculated_size}; encode_fn(msg, buffer);