J. Nick Koston
c182c0c74f
[socket] Hold lwip lock for entire readv/writev scatter-gather operation
...
Avoid repeated lock acquire/release cycles per iovec element.
The recursive mutex re-entry in inner calls is nearly free (counter
bump), while the outer lock prevents the expensive IRQ disable/enable
on each iteration.
2026-03-10 00:53:01 -10:00
J. Nick Koston
a88e9b8146
[socket] Fix RP2040 TCP race condition between lwip callbacks and main loop
...
On RP2040 (Pico W), arduino-pico sets PICO_CYW43_ARCH_THREADSAFE_BACKGROUND=1,
which means lwip callbacks (recv_fn, accept_fn, err_fn) run from a PendSV
interrupt — not the main loop. This allows them to preempt read(), write(),
close(), and accept() at any point, causing race conditions on shared state
like the rx_buf_ pbuf chain.
The most critical race: recv_fn calls pbuf_cat(rx_buf_, pb) while read() is
freeing nodes in the same chain, leading to use-after-free and lwip's
"Creating an infinite loop" assertion panic. This is the root cause of #10681 .
Fix: implement RP2040's LwIPLock (previously a no-op) to call
cyw43_arch_lwip_begin/end, which acquires the pico-sdk async_context recursive
mutex. Add LWIP_LOCK() guards to all main-loop lwip API call sites in the
socket layer.
On ESP8266, lwip callbacks run cooperatively from the main loop, so
LwIPLock remains a no-op.
Closes #10681
2026-03-10 00:34:20 -10:00
J. Nick Koston
4b50d14496
[serial_proxy] Reduce loop() overhead by disabling when idle and splitting read path ( #14673 )
2026-03-10 02:10:03 -05:00
e82f0f4432
[cpptests] support testing platform components ( #13075 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-03-10 02:41:02 +00:00
00f809f5f0
[sen6x] fix memory leak issue ( #14623 )
...
Co-authored-by: J. Nick Koston <nick@koston.org >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: J. Nick Koston <nick+github@koston.org >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-09 21:45:20 -04:00
c31ac662bd
[multiple] Fix crashes from malformed external input ( #14643 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
2026-03-09 20:39:58 -04:00
J. Nick Koston
d6ce5dda81
[ci] Skip YAML anchor keys in integration fixture component extraction ( #14670 )
2026-03-09 22:54:56 +00:00
J. Nick Koston
dadbdd0f7b
[ci] Make codeowner label update non-fatal for fork PRs ( #14668 )
2026-03-09 12:34:31 -10:00
d96be88ff5
[multiple] Fix reliability issues in 5 components ( #14655 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-03-09 18:32:57 -04:00
Jonathan Swoboda and Claude Opus 4.6
d2686b49be
[canbus] Fix multiple MCP component bugs ( #14461 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 18:15:33 -04:00
Keith Burzinski
468ce74c8e
[api][serial_proxy] Fix dangling pointer ( #14640 )
2026-03-09 17:04:47 -05:00
Jonathan Swoboda and Claude Opus 4.6
b3fc43c13c
[multiple] Fix wrong behavior in sensor calculations and drivers ( #14644 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 18:00:17 -04:00
Jonathan Swoboda and Claude Opus 4.6
308e8e78cd
[ble_scanner] Escape special characters in JSON output ( #14664 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 17:59:36 -04:00
Jonathan Swoboda and Claude Opus 4.6
470d9160a5
[demo] Fix alarm control panel auth bypass when code is omitted ( #14645 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 17:57:02 -04:00
Jonathan Swoboda and Claude Opus 4.6
9902447834
[multiple] Fix minor bugs in 8 components ( #14650 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 17:51:50 -04:00
Jonathan Swoboda and Claude Opus 4.6
7c1b9f0cb4
[multiple] Fix wrong behavior in 5 components ( #14647 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 17:22:06 -04:00
Jonathan Swoboda and Claude Opus 4.6
fecedeb018
[multiple] Fix crashes from malformed external input (batch 2) ( #14651 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 17:20:09 -04:00
Jonathan Swoboda and Claude Opus 4.6
9418f35cc3
[multiple] Remove unnecessary heap allocations in 4 components ( #14656 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 17:18:44 -04:00
Jonathan Swoboda and Claude Opus 4.6
08a0608a48
[wifi][captive_portal][heatpumpir][es8388] Fix wrong behavior in 4 components ( #14657 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 17:18:21 -04:00
Jonathan Swoboda and Claude Opus 4.6
b721cd48e5
[hmc5883l][mmc5603][honeywellabp2][xgzp68xx][max9611] Fix uninitialized members ( #14659 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 17:18:07 -04:00
Jonathan Swoboda and Claude Opus 4.6
75f55adbfa
[api][at581x][vl53l0x] Fix bounds check issues in 3 components ( #14660 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 17:17:31 -04:00
Jonathan Swoboda and Claude Opus 4.6
a379e5a635
[runtime_image][st7701s] Fix BMP decoder and LCD init bugs ( #14663 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 17:16:29 -04:00
dependabot[bot]
019db74582
Bump setuptools from 82.0.0 to 82.0.1 ( #14665 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-09 20:44:27 +00:00
Jonathan Swoboda and Claude Opus 4.6
31f4b4d00d
[multiple] Fix undefined behavior across components ( #14639 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 07:33:08 -04:00
0db9137d91
[multiple] Add division by zero guards ( #14634 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: J. Nick Koston <nick+github@koston.org >
2026-03-09 00:10:48 -04:00
Clyde Stubbs
f3ca86b670
[ci-custom] Directions on constant hoisting ( #14637 )
2026-03-08 23:48:03 -04:00
J. Nick Koston and Claude Opus 4.6
088a8a4338
[ci] Match symbols with changed signatures in memory impact analysis ( #14600 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 17:23:58 -10:00
Jonathan Swoboda and Claude Opus 4.6
5d3893368d
[multiple] Add array bounds checks ( #14635 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 23:16:32 -04:00
Jonathan Swoboda and Claude Opus 4.6
5b9cab02be
[multiple] Add default initializers to uninitialized member variables ( #14636 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 22:37:54 -04:00
cac751e9e8
[nextion] Add configurable HTTP parameters for TFT upload ( #14234 )
...
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-03-09 01:29:41 +00:00
6ba5c9a705
[api] Skip state_action_() call in noise data path ( #14629 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-09 01:22:39 +00:00
J. Nick Koston
c681dc8872
[socket] Add socket wake support for RP2040 ( #14498 )
2026-03-08 15:11:24 -10:00
J. Nick Koston and Claude Opus 4.6
d0285cdc41
[core] Pack entity flags into configure_entity_() and protect setters ( #14564 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 15:11:15 -10:00
J. Nick Koston
9547a54fac
[const] Move CONF_ENABLE_FULL_PRINTF to const.py ( #14633 )
2026-03-08 14:52:40 -10:00
J. Nick Koston
b05dbfccd3
[api] Bump noise-c to 0.1.11 ( #14632 )
2026-03-08 14:52:21 -10:00
J. Nick Koston
aef2d74e41
[ld2450] Add integration tests with mock UART ( #14611 )
2026-03-08 14:32:59 -10:00
J. Nick Koston
e1c849d5d2
[esp8266] Wrap printf/vprintf/fprintf to eliminate _vfiprintf_r (~1.6 KB flash) ( #14621 )
2026-03-08 14:32:47 -10:00
J. Nick Koston
c11ad7f0e6
[rp2040] Wrap printf/vprintf/fprintf to eliminate _vfprintf_r (~9.2 KB flash) ( #14622 )
2026-03-08 14:32:35 -10:00
J. Nick Koston and Clyde Stubbs
88536ff72b
[modbus] Fix timeout for non-hardware UARTs (e.g., USB UART) ( #14614 )
...
Co-authored-by: Clyde Stubbs <2366188+clydebarrow@users.noreply.github.com >
2026-03-08 14:31:42 -10:00
J. Nick Koston
93d7ec4d72
[esp32_ble] Inline ble_addr_to_uint64 to eliminate call overhead ( #14591 )
2026-03-08 14:07:59 -10:00
J. Nick Koston
66a5ad0d75
[core] Skip zero-initialization of StaticVector data array ( #14592 )
2026-03-08 14:06:55 -10:00
J. Nick Koston
771404668d
[api] Inline fast path of try_to_clear_buffer ( #14630 )
2026-03-08 14:01:01 -10:00
J. Nick Koston
76c567a71c
[scheduler] Use std::atomic<uint8_t> instead of std::atomic<bool> for remove flag ( #14626 )
2026-03-08 14:00:04 -10:00
J. Nick Koston
e7730cff00
[esp32_ble] Optimize BLE event hot path performance ( #14627 )
2026-03-08 13:59:40 -10:00
d5dc4a39cb
[i2s_audio] Fix mono sample swap and block 8-bit mono on ESP32 ( #14516 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-03-08 12:10:43 -10:00
Keith Burzinski
50b3f9d25c
[mixer_speaker] Add task debounce ( #14581 )
2026-03-08 18:09:06 -04:00
J. Nick Koston
ad5811280a
[ci] Add medium-pr label for PRs with ≤100 lines changed ( #14628 )
2026-03-08 10:59:43 -10:00
tomaszduda23 and J. Nick Koston
9be1876fae
[ble_nus] make ble_nus timeout shorter than watchdog ( #14619 )
...
Co-authored-by: J. Nick Koston <nick+github@koston.org >
2026-03-08 10:52:16 -10:00
dependabot[bot]
1b3a7f0b6a
Bump aioesphomeapi from 44.5.0 to 44.5.1 ( #14624 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-08 18:18:14 +00:00
Diorcet Yann
3f143d9f19
[ethernet] Fix commit 3f700bac1c ( #14618 )
2026-03-08 09:50:32 -04:00