Commit Graph
28957 Commits
Author SHA1 Message Date
J. Nick Koston eee355eec5 Merge branch 'fix-ble-disconnecting-timeout-loop-disabled' into integration 2026-05-22 22:22:52 -05:00
J. Nick Koston 72751210fb [bluetooth_proxy] Don't disable loop while DISCONNECTING so safety timeout can fire 2026-05-22 22:22:05 -05:00
J. Nick Koston 5ca6aaf9a9 Merge branch 'fix-ble-disconnecting-timeout-loop-disabled' into integration 2026-05-22 22:18:16 -05:00
J. Nick Koston 7d2698dd0a [esp32_ble_client] Re-enable loop in set_disconnecting_ so safety timeout fires 2026-05-22 22:16:08 -05:00
Jonathan Swoboda b0dc688c14 [esp32] Demote IDF #warning deprecations from error under ESP-IDF toolchain (#16584) 2026-05-22 20:30:25 -04:00
J. Nick KostonandClyde Stubbs 2b422cbd99 [lvgl] Build widget update action schemas lazily (#16569)
Co-authored-by: Clyde Stubbs <2366188+clydebarrow@users.noreply.github.com>
2026-05-23 00:20:39 +00:00
dependabot[bot] 9930b3c216 Bump github/codeql-action from 4.35.5 to 4.36.0 (#16579)
Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 19:18:31 -05:00
dependabot[bot] 55f4e5cb75 Bump the docker-actions group across 1 directory with 2 updates (#16578)
Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 19:18:20 -05:00
J. Nick Koston 71550bb3be [lvgl] Memoize and lazily build container_schema (#16567) 2026-05-22 18:39:25 -05:00
J. Nick Koston a58b4edb6a [ci] Gate unconditional CI jobs on a single determine-jobs output instead of a path filter (#16580) 2026-05-22 18:39:06 -05:00
Clyde Stubbs f85fdb475a [homeassistant] Reduce log spam for sensors (#16555) 2026-05-23 08:07:51 +10:00
dependabot[bot] 4a78c8d45a Bump pytest-codspeed from 5.0.2 to 5.0.3 (#16575)
Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 15:55:49 -05:00
Kevin Ahrendt c3bef24389 [i2s_audio] Reset dout GPIO when stopping speaker driver (#16573) 2026-05-22 14:43:50 -05:00
J. Nick Koston 7182b1a8ae [uart] Wake main loop on ESP8266 software serial RX (#16562) 2026-05-22 14:30:43 -05:00
J. Nick Koston 64e32ebe04 [esp8266] Use os_timer-based esp_delay() in delay() (#16563) 2026-05-22 14:30:28 -05:00
J. Nick Koston 7b8ad7a2e0 Merge remote-tracking branch 'upstream/uart-esp8266-wake-on-rx' into integration 2026-05-22 14:27:02 -05:00
J. Nick Koston 8c37e78e70 Merge remote-tracking branch 'upstream/esp8266-delay-os-suspend' into integration 2026-05-22 14:26:46 -05:00
Edvard Filistovič 94b10981e1 [libretiny] Fix LN882H IRAM_ATTR injection point in patch_linker.py (#16570) 2026-05-22 14:09:32 -05:00
J. Nick Koston 680c9fc9c0 [dashboard] Fix flaky test_websocket_refresh_command on Windows CI (#16565) 2026-05-22 08:49:03 -05:00
dependabot[bot] 99de741f99 Bump docker/build-push-action from 7.1.0 to 7.2.0 in /.github/actions/build-image (#16545)
Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 08:08:29 -05:00
dependabot[bot] ac530c33b0 Bump actions/stale from 10.2.0 to 10.3.0 (#16544)
Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 08:08:14 -05:00
J. Nick Koston 6cb131ce54 [esp8266] Use os_timer-based esp_delay() in delay()
Replace the poll-based busy-wait introduced in #15662 with a call to
Arduino's 1-arg esp_delay(), which uses os_timer + esp_suspend to
properly suspend the cont task for the requested duration.

The busy-wait only yielded via optimistic_yield(1000) once 1 ms had
elapsed since the last task switch, so short waits like delay(1) often
finished without ever yielding. That starved the SDK and extended
interrupt latency, breaking timing sensitive interrupt-driven code such
as the ESP8266 software-serial RX path used by fingerprint_grow.

esp_delay()'s 1-arg form does not itself call millis(), so the slow
Arduino millis() body is not pulled into IRAM by this path; the
--wrap=millis goal of #15662 is preserved.

Fixes #16558
2026-05-22 07:51:49 -05:00
J. Nick Koston 9eee8ebb64 [uart] Wake main loop on ESP8266 software serial RX
The ESP8266 software serial GPIO ISR decodes a full byte into the
RX buffer, then returns. With the 2026.5.0 loop cadence change the
byte may sit unread for up to one loop_interval_ tick (~16 ms),
which breaks timing-sensitive components (e.g. fingerprint_grow)
that poll read() in a tight setup() loop and time out before bytes
appear.

Call wake_loop_isrsafe() from the ISR after the byte is buffered,
mirroring the ESP-IDF UART path (and the same pattern ratgdo uses
via SoftwareSerial::onReceive). The wake call is a single inline
flag set plus esp_schedule(); IRAM-safe and essentially free.

Gated on USE_UART_WAKE_LOOP_ON_RX, now enabled by default for
ESP8266 (in addition to ESP32) when networking is configured.
2026-05-22 07:49:40 -05:00
Kevin Ahrendt 0b5e7ae8fa [sendspin] Bump sendspin-cpp to v0.6.1 (#16553) 2026-05-22 06:43:08 -04:00
Jesse Hills 0b2eb6481f [light] Add light.effect.next / light.effect.previous actions (#16491) 2026-05-22 13:42:50 +12:00
Jesse Hills 1d3eea098e [core] Support YAML frontmatter for arbitrary user metadata (#16552) 2026-05-22 13:00:22 +12:00
J. Nick Koston 383248e53c Merge remote-tracking branch 'upstream/dev' into integration 2026-05-21 17:48:27 -05:00
J. Nick Koston b07934d726 Merge remote-tracking branch 'upstream/dev' into integration 2026-05-21 17:48:19 -05:00
dependabot[bot]andJ. Nick Koston 4ff8eb4b15 Bump ruff from 0.15.13 to 0.15.14 (#16543)
Co-authored-by: J. Nick Koston <nick@home-assistant.io>
Signed-off-by: dependabot[bot] <support@github.com>
2026-05-21 22:08:56 +00:00
J. Nick Koston aea1e4d136 [core] Refresh compiled config cache after upload/logs fallback (#16548) 2026-05-21 17:05:17 -05:00
Jonathan Swoboda 38b8b41ccc [sx126x] Assert NSS before wait_busy so commands wake the chip from sleep (#16546) 2026-05-21 18:03:07 -04:00
J. Nick Koston 96eced0378 [api] Break api_connection/api_server include cycle to drop custom unique_ptr deleter (#16542) 2026-05-21 15:42:57 -05:00
J. Nick Koston 21fc8158e7 Merge remote-tracking branch 'upstream/api-break-circular-include' into integration 2026-05-21 14:48:58 -05:00
J. Nick Koston 22ae85a2ed [bluetooth_proxy] Add direct api_server.h include lost via api_connection.h refactor 2026-05-21 14:17:14 -05:00
J. Nick Koston 7443a65541 [api] Trim verbose comments in include refactor 2026-05-21 14:06:18 -05:00
J. Nick Koston 419fb99fdb [api] Move APIConnection inlines into api_connection_buffer.h
Pull encode_to_buffer and get_batch_delay_ms_ out of the tail of
api_server.h into a dedicated api_connection_buffer.h so api_server.h no
longer carries APIConnection method bodies. api_connection.cpp includes
api_connection_buffer.h instead of api_server.h; the new header pulls
api_server.h in to keep APIServer complete at the inline-definition site.

No behavioral change; just file organisation on top of the previous
include-cycle break.
2026-05-21 14:03:26 -05:00
J. Nick Koston 8dd594afa2 [api] Break api_connection/api_server include cycle to drop custom unique_ptr deleter
api_connection.h now forward-declares APIServer instead of including
api_server.h, and api_server.h includes api_connection.h before clients_
is declared. With APIConnection complete at that point, libc++ no longer
trips the incomplete-type assert in default_delete<APIConnection> when
parsing std::array<unique_ptr<APIConnection>, MAX_API_CONNECTIONS>, so
the custom APIConnectionDeleter introduced in #16050 is no longer needed.

The two APIConnection inline methods that touched APIServer
(encode_to_buffer, get_batch_delay_ms_) are now defined at the bottom of
api_server.h, where APIServer is complete; api_connection.cpp gains a
direct include of api_server.h so those definitions are visible there.

Verified locally on macOS host platform with python3.14 -m esphome
compile (the path that reproduces the libc++ error). Noise and plaintext
integration tests pass.
2026-05-21 13:55:17 -05:00
Jonathan Swoboda 1ea95264bd [tuya] Restore null guard on status_pin lost in #16353 (#16539) 2026-05-21 18:08:09 +00:00
Jonathan Swoboda d2bda0a402 [esp32] Defer esp_panic_handler wrap so arduino-esp32 IDF component skips it (#16538) 2026-05-21 14:03:55 -04:00
Jonathan Swoboda 56fd77e4c8 [espidf] Honor the dict shorthand for library.json dependencies (#16537) 2026-05-21 13:01:54 -05:00
Jonathan Swoboda 3719ea740a [espidf] Default to remote HEAD when cg.add_library URL has no #ref (#16535) 2026-05-21 13:01:19 -05:00
Jonathan Swoboda 750ae56778 [espidf] Backport ninja linux-arm64 entry into tools.json on aarch64 hosts (#16527) 2026-05-21 12:05:27 -04:00
Kevin Ahrendt 01494f7431 [audio] Bump esp-audio-libs to v3.1.0 (#16519) 2026-05-21 11:57:32 -04:00
J. Nick Koston 233a60f106 [ci] Pin uv version in setup-uv to fix Windows manifest fetch flake (#16534) 2026-05-21 10:53:34 -05:00
Jonathan Swoboda e0076cb1a8 [core] Persist & restore CORE.toolchain through StorageJSON (#16531) 2026-05-21 10:37:46 -05:00
Jonathan Swoboda b619e3e8c7 [espidf] Write version.txt after extract so bootloader shows the real version (#16532) 2026-05-21 10:37:10 -05:00
Jonathan Swoboda f2bfe5cd17 [espidf] Fix tarfile extract crashing on Python 3.11 with None mode (#16530) 2026-05-21 10:36:27 -05:00
Jonathan Swoboda 90715373f2 [espidf] Filter noisy 'git rev-parse' errors when .git is stripped (#16521) 2026-05-21 10:35:51 -05:00
Jonathan Swoboda 52e7d3ccfb [esp32] Use new sdkconfig key names that replaced deprecated ones (#16522) 2026-05-21 10:35:25 -05:00
dependabot[bot] a70e358cea Bump zeroconf from 0.149.13 to 0.149.16 (#16533)
Signed-off-by: dependabot[bot] <support@github.com>
2026-05-21 09:55:28 -05:00