J. Nick Koston
3ce95682ca
Merge remote-tracking branch 'origin/cv-sensitive-redact-sentinel' into integration
2026-05-26 23:51:13 -05:00
J. Nick Koston
ceb9d406e1
[core] Enable ruff PIE (flake8-pie) lint family ( #16658 )
2026-05-26 07:46:44 -04:00
J. Nick Koston
ae74920b81
[core] Enable ruff PTH (flake8-use-pathlib) lint family ( #16661 )
2026-05-26 05:14:42 +00:00
J. Nick Koston
ae814cff5c
[core] Enable ruff B (flake8-bugbear) lint family ( #16655 )
2026-05-26 02:28:14 +00:00
J. Nick Koston
8edc9f4cc8
Merge remote-tracking branch 'upstream/dev' into integration
2026-05-12 12:52:15 -05:00
J. Nick Koston
727c74da3f
[script] Fix array-type parameters in script.execute ( #16374 )
2026-05-12 12:17:23 -05:00
J. Nick Koston
a52ca4f80a
[ota] Implement host platform OTA backend with re-exec for integration testing ( #16304 )
2026-05-11 10:51:08 -05:00
Jonathan Swoboda
e4d9786f00
[core] Move platformio files to subfolder ( #16347 )
2026-05-11 21:34:47 +12:00
Jonathan Swoboda
696a654733
[clang-tidy] Concatenate nested namespaces (7/7: tests, platform-gated, enable check) ( #16307 )
2026-05-07 23:05:17 -04:00
J. Nick Koston
f295d6b056
Merge remote-tracking branch 'upstream/dev' into integration
...
# Conflicts:
# esphome/__main__.py
# esphome/components/api/client.py
# esphome/components/bl0942/bl0942.cpp
# esphome/components/cover/__init__.py
# esphome/components/cover/automation.h
# esphome/components/esphome/ota/ota_esphome.cpp
# esphome/components/ota/ota_backend_esp_idf.cpp
# esphome/components/ota/ota_partitions_esp_idf.cpp
# esphome/espota2.py
# tests/components/template/common-base.yaml
# tests/unit_tests/components/api/test_client.py
# tests/unit_tests/test_main.py
2026-05-06 16:47:31 -05:00
90693fb39a
[core] Fix WiFi connection in safe mode ( #16269 )
...
Co-authored-by: J. Nick Koston <nick@home-assistant.io >
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org >
2026-05-06 09:56:33 -05:00
J. Nick Koston
39b2b901f7
[core] Replace scheduler pool vector with unbounded intrusive freelist ( #16172 )
2026-05-05 18:26:19 -05:00
J. Nick Koston
53c4e6f386
[tests] Drop duplicate on_boot_restore_from in host_mode_climate_basic_state ( #16228 )
2026-05-03 20:12:51 -05:00
J. Nick Koston
013dee44eb
[binary_sensor] Drop Component from AutorepeatFilter, use self-keyed scheduler ( #16191 )
2026-05-03 20:05:27 -05:00
J. Nick Koston
120d1e51fb
[tests] Fix flaky host_mode_climate_basic_state integration test ( #16192 )
2026-05-03 20:04:34 -05:00
J. Nick Koston
72a75f2d3f
[cover] Fold ControlAction/CoverPublishAction fields into stateless lambdas ( #16046 )
2026-05-03 20:02:07 -05:00
J. Nick Koston
df1200629f
[tests] Fix flaky host_mode_climate_basic_state ( #16225 )
2026-05-03 19:44:11 -05:00
J. Nick Koston
5c015ede77
Merge remote-tracking branch 'upstream/fix-flaky-host-mode-climate-basic-state' into integration
2026-05-03 18:20:34 -05:00
J. Nick Koston
37a44a8a6f
[tests] Fix flaky host_mode_climate_basic_state by ignoring prior MEMORY state
...
The fixture shares the `host-climate-test` build dir with
host_mode_climate_control.yaml. When the control test runs first and
leaves the thermostat in HEAT mode, MEMORY restore on the next basic_state
boot picked up HEAT and the initial-state assertion failed
(`assert ClimateMode.HEAT == ClimateMode.OFF`).
2026-05-03 17:39:39 -05:00
J. Nick Koston
3d69169141
[climate] Fold ControlAction fields into a single stateless lambda ( #16044 )
2026-04-30 19:16:16 -05:00
J. Nick Koston
20743e3e9a
Merge branch 'scheduler-pool-unbounded-freelist' into integration
2026-04-30 11:06:46 -05:00
J. Nick Koston
2a451cb870
[core] Strengthen scheduler-pool integration test with lower-bound check
...
Adds an assertion that the observed peak pool size exceeds the old
MAX_POOL_SIZE=5 cap. Without this, a silent regression that re-introduced a
small cap could pass the existing pool_full_count == 0 invariant. Phase 5 + 6
of the fixture schedule 8 + 10 same-component timeouts, so the peak should
comfortably exceed 5.
Address Copilot review feedback on PR.
2026-04-30 10:57:11 -05:00
J. Nick Koston
f9b87d0ede
[core] Replace scheduler pool vector with unbounded intrusive freelist
...
The fixed MAX_POOL_SIZE=5 cap was the source of the heap churn the pool was
meant to prevent: any device with more than 5 concurrent timers (e.g. a board
with 30+ LD2450 sensors) hit a steady-state oscillation of recycle->delete and
acquire->new on every loop iteration.
Replace std::vector<SchedulerItem*> with a singly-linked freelist threaded
through SchedulerItem::next_free, which shares storage with `component` via an
anonymous union (zero per-item overhead -- the component pointer is dead while
pooled). Drop the cap entirely: the freelist quiesces at the application's
natural concurrent-timer high-water mark, which is the working set the device
already needs while those timers are active.
No std::vector means no growth-doubling slack and no realloc copies during
warm-up. Caller of get_item_from_pool_locked_() must overwrite item->component
before unlocking (already true at the sole call site); nullptr remains a valid
live `component` value for SELF_POINTER items, so we cannot pre-clear it.
2026-04-30 10:42:46 -05:00
J. Nick Koston
8246b09445
Merge branch 'ota-watchdogmanager' into integration
2026-04-29 14:34:36 -05:00
J. Nick Koston
c41f38e16d
[scheduler] Add self-keyed timer API for callers without a Component ( #16127 )
2026-04-29 13:24:37 -05:00
J. Nick Koston
e5b1991cf7
[fan] Add tests for fan.turn_on action field combinations ( #16125 )
2026-04-29 12:46:06 -05:00
J. Nick Koston
7fba57ce51
[valve] Add tests for valve.control action field combinations ( #16126 )
2026-04-29 12:45:30 -05:00
J. Nick Koston
e6f86b343c
Merge remote-tracking branch 'upstream/binary-sensor-filters-drop-component' into integration
2026-04-29 11:08:17 -05:00
J. Nick Koston
e3fdea8ce1
[scheduler] Address Copilot feedback: %p type, NameType doc, test docstring
...
- Strip const for the %p varargs call (the format spec takes void*, not
const void*; same representation everywhere but pedantically correct).
- Mention SELF_POINTER in the NameType discriminator comment.
- Update test docstring to match the actual const void * signatures.
2026-04-29 11:06:04 -05:00
J. Nick Koston
ba34021e8e
Merge remote-tracking branch 'upstream/sensor-filters-drop-component' into integration
2026-04-29 10:21:49 -05:00
J. Nick Koston
9745a3299e
[scheduler] Address review feedback (const void *, %p cast, buffer size)
2026-04-29 09:34:45 -05:00
J. Nick Koston
241d7797e3
[scheduler] Add self-keyed timer API for callers without a Component
2026-04-29 09:18:09 -05:00
J. Nick Koston
dc48f2df13
Merge remote-tracking branch 'origin/cover-action-bitmask' into integration
2026-04-29 07:41:16 -05:00
J. Nick Koston
01a4769a5d
Merge remote-tracking branch 'origin/climate-control-action-bitmask' into integration
2026-04-29 07:41:08 -05:00
J. Nick Koston
f7c8df8234
[cover] Address review feedback (const ref args, drop mask numbering)
2026-04-29 06:56:18 -05:00
J. Nick Koston
a7a45a556b
[climate] Address review feedback (const ref args, utf-8 byte length, comments)
2026-04-29 06:54:23 -05:00
J. Nick Koston
6f79312fa7
Merge branch 'dev' into cover-action-bitmask
2026-04-29 05:42:09 -05:00
J. Nick Koston
1ea7d20d98
Merge branch 'dev' into climate-control-action-bitmask
2026-04-29 05:42:01 -05:00
J. Nick Koston
5a33c50015
[light] Use constexpr template for DimRelativeAction transition_length ( #16038 )
2026-04-29 14:26:38 +12:00
J. Nick Koston
0d150dc57e
[light] Use constexpr template for ToggleAction transition_length ( #16037 )
2026-04-29 14:25:18 +12:00
J. Nick Koston
f72173550d
Merge remote-tracking branch 'origin/webserver-list-entities-xmacro' into integration
2026-04-28 10:39:10 -05:00
Bonne Eggleston and J. Nick Koston
52e8c50f45
[modbus] Split modbus_server from modbus_controller ( #15509 )
...
Co-authored-by: J. Nick Koston <nick+github@koston.org >
2026-04-28 10:21:25 -05:00
J. Nick Koston
d26e29d89c
Merge remote-tracking branch 'origin/light-toggle-action-constexpr-template' into integration
2026-04-27 06:46:06 -05:00
J. Nick Koston
4ed7956094
Merge remote-tracking branch 'origin/light-dim-relative-constexpr-template' into integration
2026-04-27 06:46:00 -05:00
J. Nick Koston
1135eeaf99
Merge remote-tracking branch 'origin/cover-action-bitmask' into integration
2026-04-27 06:45:48 -05:00
J. Nick Koston
9089cc968e
[climate] Use heat_cool_mode (not auto_mode) to enable HEAT_COOL in test fixture
2026-04-27 05:42:18 -05:00
J. Nick Koston
6770a6b87f
[cover] Address Copilot review on integration test fixture and macro comments
2026-04-27 05:39:21 -05:00
J. Nick Koston
fdb183f772
[climate] Add auto_mode to thermostat fixture so HEAT_COOL is supported
2026-04-27 05:21:27 -05:00
J. Nick Koston
65b5615a31
[light] Use InitialStateHelper in DimRelativeAction integration test
2026-04-27 05:10:02 -05:00
J. Nick Koston
83f83c96a8
[light] Use InitialStateHelper in ToggleAction integration test
2026-04-27 05:09:27 -05:00