Commit Graph
23124 Commits
Author SHA1 Message Date
J. Nick Koston 332b6e61b3 Merge remote-tracking branch 'upstream/fix-ble-client-disconnect-race' into integration 2026-02-22 15:44:10 -06:00
J. Nick Koston 3ae3242362 [esp32_ble_client] Defer IDLE transition from DISCONNECT_EVT to CLOSE_EVT
ESP_GATTC_DISCONNECT_EVT only indicates that the link-layer disconnection
has started, not that the controller has fully freed resources (L2CAP
channels, ATT resources, HCI connection handle). Transitioning to IDLE
immediately allowed reconnection attempts before cleanup was complete,
causing the controller to reject new connections with status=133
(ESP_GATT_CONN_FAIL_ESTABLISH) or crash with ASSERT_PARAM in lld_evt.c.

This applies the same fix that was made for bluetooth_proxy in #10303
to the base BLEClientBase class, which is used by the ble_client
component.

Changes:
- DISCONNECT_EVT now transitions to DISCONNECTING instead of IDLE
- CLOSE_EVT (already existing) handles the final IDLE transition
- connect() now blocks while in DISCONNECTING state
- OPEN_EVT ignores events received during DISCONNECTING state
2026-02-22 15:42:39 -06:00
J. Nick Koston 819143d526 Merge remote-tracking branch 'upstream/dev' into integration 2026-02-22 15:25:01 -06:00
J. Nick Koston 1753074eef [web_server_base] Remove unnecessary Component inheritance and modernize (#14204) 2026-02-23 10:01:07 +13:00
J. Nick Koston 217363464a Merge branch 'conditionally-compile-loop-priority' into integration 2026-02-22 14:30:52 -06:00
J. Nick Koston ac42d5e75e [core] Conditionally compile get_loop_priority with USE_LOOP_PRIORITY 2026-02-22 14:24:31 -06:00
J. Nick Koston fc56165440 Merge remote-tracking branch 'origin/logger-compile-time-tx-buffer' into integration 2026-02-22 13:52:53 -06:00
J. Nick Koston 649aec69d7 [logger] Make tx_buffer_ compile-time sized
Replace the heap-allocated tx_buffer_ (new char[]) with a compile-time
sized inline array using ESPHOME_LOGGER_TX_BUFFER_SIZE define. This
eliminates a heap allocation during Logger construction, saving ~513
bytes of heap on memory-constrained devices like BK72xx.

Changes:
- Add ESPHOME_LOGGER_TX_BUFFER_SIZE define set from Python config
- Change tx_buffer_ from char* to char[ESPHOME_LOGGER_TX_BUFFER_SIZE+1]
- Remove tx_buffer_size_ member field
- Update constructor to no longer take tx_buffer_size parameter
- Update all references to use the compile-time constant
2026-02-22 12:56:28 -06:00
J. Nick Koston 9eb0bac2f3 Merge branch 'logger-compile-time-tx-buffer' into integration 2026-02-22 12:07:07 -06:00
J. Nick Koston 92c1b1d481 Merge branch 'web_server_base_cleanup' into integration 2026-02-22 11:59:29 -06:00
J. Nick Koston 5101250eae [logger] Make tx_buffer_ compile-time sized
Replace the heap-allocated tx_buffer_ (new char[]) with a compile-time
sized inline array using ESPHOME_LOGGER_TX_BUFFER_SIZE define. This
eliminates a heap allocation during Logger construction, saving ~513
bytes of heap on memory-constrained devices like BK72xx.

Changes:
- Add ESPHOME_LOGGER_TX_BUFFER_SIZE define set from Python config
- Change tx_buffer_ from char* to char[ESPHOME_LOGGER_TX_BUFFER_SIZE+1]
- Remove tx_buffer_size_ member field
- Update constructor to no longer take tx_buffer_size parameter
- Update all references to use the compile-time constant
2026-02-22 11:57:36 -06:00
J. Nick Koston 5e7a400dc3 [web_server_base] Remove unnecessary Component inheritance and modernize
WebServerBase was registered as a Component but never used the lifecycle -
no setup(), loop(), or dump_config(). The get_setup_priority() override
was dead code since there was nothing to schedule. It is just a shared
base class that holds the AsyncWebServer and handler list, with init/deinit
called manually by consumers via reference counting.

- Remove Component inheritance and register_component call
- Use C++17 nested namespace syntax
- Replace unique_ptr<AsyncWebServer> with raw pointer (server is never
  deleted in practice - device runs until power loss)
- Remove unused includes (memory, component.h, application.h, helpers.h, log.h)
2026-02-22 11:37:15 -06:00
J. Nick Koston 7d8a103718 Merge branch 'setup_heap_stats' into integration 2026-02-22 10:53:42 -06:00
J. Nick Koston bdaebe48d6 Merge branch 'dev' into setup_heap_stats 2026-02-22 10:53:21 -06:00
J. Nick Koston 1fa340c6a4 Merge remote-tracking branch 'origin/dev' into integration 2026-02-22 10:23:01 -06:00
Edward Firmo e013b48675 [nextion] Add error log for failed HTTP status during TFT upload (#14190) 2026-02-21 23:44:06 -06:00
J. Nick Koston 49e4ae54be [bme68x_bsec2] Fix compilation on ESP32 Arduino (#14194) 2026-02-22 05:22:59 +00:00
J. Nick Koston c98b955881 Merge remote-tracking branch 'origin/pack-entity-strings' into integration 2026-02-21 22:13:39 -06:00
J. Nick Koston 5fd0ee1717 Merge branch 'dev' into pack-entity-strings 2026-02-21 22:12:49 -06:00
J. Nick Koston 50e2f62c89 Merge remote-tracking branch 'origin/integration' into integration 2026-02-21 22:10:16 -06:00
J. Nick Koston 655968af66 Merge remote-tracking branch 'origin/api-stringref-user-services' into integration 2026-02-21 22:10:03 -06:00
J. Nick Koston c636984e3a deferred 2026-02-21 21:53:57 -06:00
J. Nick Koston e1e20422a6 deferred 2026-02-21 21:47:03 -06:00
J. Nick Koston 1183aae319 deferred 2026-02-21 21:38:03 -06:00
J. Nick Koston b6e8e92416 deferred 2026-02-21 21:34:07 -06:00
J. Nick Koston 1003247a41 deferred 2026-02-21 21:32:59 -06:00
J. Nick Koston 83ccdc36cd deferred 2026-02-21 21:26:31 -06:00
J. Nick Koston d21d897766 deferred 2026-02-21 21:12:31 -06:00
J. Nick Koston 38058d0308 deferred 2026-02-21 21:07:21 -06:00
J. Nick Koston 8bf757d989 deferred 2026-02-21 20:59:09 -06:00
J. Nick Koston 23a57b9224 revert format change 2026-02-21 20:53:08 -06:00
J. Nick Koston fa343aa1ba tweaks 2026-02-21 20:49:49 -06:00
J. Nick Koston b85878e1ee tweaks 2026-02-21 20:42:12 -06:00
J. Nick Koston a4d19cdf57 tweaks 2026-02-21 20:39:23 -06:00
J. Nick Koston ec1dbd39ae tests 2026-02-21 20:37:28 -06:00
J. Nick Koston 15a125ca00 overkill 2026-02-21 20:28:07 -06:00
J. Nick Koston 5e7a61ab20 Merge remote-tracking branch 'upstream/dev' into api-stringref-user-services 2026-02-21 20:21:58 -06:00
J. Nick Koston ab7e02d6bf tweak 2026-02-21 20:21:34 -06:00
J. Nick Koston 4f55b993e7 Merge remote-tracking branch 'origin/libretiny-lwip-tune' into integration 2026-02-21 20:04:31 -06:00
J. Nick KostonandClaude Opus 4.6 d5efbfde5c [socket] Return SocketCounts dataclass from get_socket_counts()
Replace the unwieldy 6-tuple with a frozen dataclass for clarity
and named attribute access at call sites.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 20:03:17 -06:00
J. Nick Koston 623bbc0dbe Merge branch 'dev' into libretiny-lwip-tune 2026-02-21 19:44:17 -06:00
J. Nick Koston d5c9c56fdf [platformio] Add exponential backoff and session reset to download retries (#14191) 2026-02-21 19:41:43 -06:00
J. Nick Koston a468261523 [scheduler] De-template and consolidate scheduler helper functions (#14164) 2026-02-21 19:41:26 -06:00
J. Nick KostonandClaude Opus 4.6 30a2af0d54 [socket] Add MIN_TCP_LISTEN_SOCKETS constant for consistency
- Clarify MIN_TCP_SOCKETS comment: covers minimal configs (api-only);
  when web_server is present its 5 sockets push past the minimum.
- Add MIN_TCP_LISTEN_SOCKETS = 2 alongside MIN_TCP/MIN_UDP for
  consistency instead of hardcoding the value in libretiny.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 19:39:14 -06:00
J. Nick KostonandClaude Opus 4.6 360a7ba9c7 [libretiny] Fix TCP_WND to show 3/10×MSS for BK reduced/default plans
BK SDK sets TCP_SND_BUF=10×MSS on both plans but TCP_WND varies:
3×MSS (reduced plan) vs 10×MSS (default plan). Also update stale
minimum counts in docstring (8 TCP / 6 UDP).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 19:29:39 -06:00
J. Nick Koston 57d5151c31 fix shadow 2026-02-21 19:24:48 -06:00
J. Nick Koston 367775dfd9 only during data 2026-02-21 19:24:05 -06:00
J. Nick Koston 66a2a0d62e only during data 2026-02-21 19:20:24 -06:00
J. Nick Koston 46c123ec61 Merge branch 'dev' into api-stringref-user-services 2026-02-21 19:01:36 -06:00
J. Nick Koston 3306fb2d21 Merge remote-tracking branch 'upstream/libretiny-lwip-tune' into integration 2026-02-21 17:50:04 -06:00