J. Nick Koston
fe0436166c
[core] Ensure SETUP→LOOP transition before main loop
...
Components after the last blocking component in setup only receive
one call() (CONSTRUCTION→SETUP) and never get the second call()
that would transition them to LOOP state. Explicitly transition all
active looping components to LOOP state at the end of setup() so
the main loop can call loop() directly without the call() state
machine wrapper.
2026-03-03 22:31:04 -10:00
J. Nick Koston
36a598fa40
[core] Call loop() directly in main loop, bypass call() indirection
...
In the main loop, components in looping_components_ active section are
guaranteed to be in LOOP state. The call() method's state machine
dispatch (checking CONSTRUCTION, SETUP, FAILED, LOOP_DONE) is only
needed during Application::setup(). In the main loop it adds two
unnecessary function call frames per component per iteration
(call() -> call_loop_() -> loop()).
This became dead weight when looping_components_ partitioning was
introduced in June 2025 (8a06c4380d ). Before that, Application::loop()
iterated components_[] which contained all states, so the state check
was necessary.
2026-03-03 22:22:51 -10:00
J. Nick Koston
8e53af2a2c
Merge remote-tracking branch 'origin/devirtualize-proto-encode' into integration
2026-03-03 21:58:08 -10:00
J. Nick Koston
765075b1d0
tweaks
2026-03-03 21:35:11 -10:00
J. Nick Koston
982b618265
Merge branch 'devirtualize-proto-encode' into integration
2026-03-03 21:09:45 -10:00
J. Nick Koston
3548911b07
cleanup
2026-03-03 20:45:36 -10:00
J. Nick Koston
46c3a897fe
Add benchmark comparing virtual vs direct dispatch for proto encoding
2026-03-03 20:27:02 -10:00
J. Nick Koston
cdcc5e5932
Rename ProtoSize static methods with calc_ prefix for clang-tidy
2026-03-03 20:22:27 -10:00
J. Nick Koston
3a5f03d0a3
naming
2026-03-03 20:22:02 -10:00
J. Nick Koston
daf2e6ecc8
naming
2026-03-03 20:21:25 -10:00
J. Nick Koston
08c9990b53
simple register
2026-03-03 20:14:34 -10:00
J. Nick Koston
e867712795
tweaks
2026-03-03 19:57:53 -10:00
J. Nick Koston
8407033111
dead
2026-03-03 19:56:31 -10:00
J. Nick Koston
675db740a9
Replace lambda and duplicate encode_msg thunk with shared proto_encode_msg<T>
...
Single named free function in proto.h used by both encode_message<T>
and APIConnection send paths. Eliminates duplicate thunk definitions.
2026-03-03 19:02:18 -10:00
J. Nick Koston
2b80effa20
Move HAS_PROTO_MESSAGE_DUMP code from template wrappers into non-template cores
...
Reduces per-instantiation cost of send_message<T> and
encode_message_to_buffer<T> by moving the DumpBuffer/log code
into send_message_() and encode_to_buffer(). The dump methods
(message_name, dump_to) are still virtual on ProtoMessage, so
they work correctly through the void* → ProtoMessage* cast.
2026-03-03 18:52:00 -10:00
J. Nick Koston
59b39d4388
tidy
2026-03-03 18:35:39 -10:00
J. Nick Koston
1e7eba1e90
tidy
2026-03-03 18:35:00 -10:00
J. Nick Koston
0a816192b2
restore comments to reduce diff churn
2026-03-03 18:32:18 -10:00
J. Nick Koston
a7b61b1061
twea
2026-03-03 18:22:23 -10:00
J. Nick Koston
5d3d983994
fix bug
2026-03-03 17:49:25 -10:00
J. Nick Koston
9ba592cc42
cleanup
2026-03-03 17:40:07 -10:00
J. Nick Koston
cfbe5904cc
non-template cores
2026-03-03 17:31:43 -10:00
J. Nick Koston
6a66ab7406
tweak
2026-03-03 17:23:38 -10:00
J. Nick Koston
b0279752eb
tweak
2026-03-03 17:09:36 -10:00
Tilman Vogel and Jesse Hills
cba34e770e
[core] improve help text for --device option, mention OTA ( #14445 )
...
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com >
2026-03-03 21:18:36 -05:00
Kevin Ahrendt
8911d9d28f
[media_source] Clarify threading contract ( #14433 )
2026-03-03 20:42:36 -05:00
J. Nick Koston
72dd92f10b
Merge remote-tracking branch 'upstream/dev' into integration
2026-03-03 15:24:07 -10:00
J. Nick Koston and Claude Opus 4.6
9371159a7e
[core] Replace custom esphome::optional with std::optional ( #14368 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-04 01:14:05 +00:00
Kevin Ahrendt
43a6fe9b6c
[core] add a StaticTask helper to manage task lifecycles ( #14446 )
2026-03-04 01:06:36 +00:00
J. Nick Koston
395ab306bd
Merge remote-tracking branch 'upstream/dev' into integration
2026-03-03 14:32:48 -10:00
J. Nick Koston
b4892a85b8
Merge remote-tracking branch 'origin/std-optional' into integration
2026-03-03 13:45:12 -10:00
J. Nick Koston
64b44bbe64
expand one more missed in first pass
2026-03-03 13:44:54 -10:00
J. Nick Koston
17c8332d8b
Merge remote-tracking branch 'origin/std-optional' into integration
2026-03-03 13:41:13 -10:00
J. Nick Koston
103653c44f
expand all sites, part 6
2026-03-03 13:32:53 -10:00
J. Nick Koston
e8c8806267
expand all sites, part 5
2026-03-03 13:32:25 -10:00
J. Nick Koston
92e2f80666
expand all sites, part 4
2026-03-03 13:31:51 -10:00
J. Nick Koston
a34e36e22e
expand all sites, part 3
2026-03-03 13:31:08 -10:00
J. Nick Koston
aca73e8438
expand all sites, part 2
2026-03-03 13:30:49 -10:00
J. Nick Koston
d74a8ea385
expand all sites
2026-03-03 13:30:27 -10:00
J. Nick Koston
92cd08aa38
return ON part 2
2026-03-03 13:25:55 -10:00
J. Nick Koston
341123cd40
return ON
2026-03-03 13:24:51 -10:00
Jesse Hills
989330d6bc
[globals] Fix handling of string booleans in yaml ( #14447 )
2026-03-03 22:54:40 +00:00
Jonathan Swoboda and Claude Opus 4.6
ee78d7a0c0
[tests] Fix integration test race condition in PlatformIO cache init ( #14435 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-03 17:42:41 -05:00
J. Nick Koston
f50d7b516e
Merge remote-tracking branch 'upstream/std-optional' into integration
2026-03-03 12:18:40 -10:00
J. Nick Koston
a90f29fc60
Merge branch 'configure_entity' into integration
2026-03-03 12:16:11 -10:00
J. Nick Koston and Claude Opus 4.6
ceee1378db
add bit layout comment to configure_entity unpacking
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-03 12:13:18 -10:00
J. Nick Koston
c52ff5dcbc
Merge branch 'configure_entity' into integration
...
# Conflicts:
# esphome/core/entity_base.h
2026-03-03 12:12:01 -10:00
J. Nick Koston and Claude Opus 4.6
67ba4bd386
inline set_name/set_entity_strings directly into configure_entity
...
No separate functions needed — configure_entity is the only caller.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-03 12:04:39 -10:00
J. Nick Koston
5373412f60
move DEVICE_CLASS_MAX_LENGTH to esphome/core/config.py alongside other max length constants
2026-03-03 12:03:51 -10:00
J. Nick Koston
151f1377a3
merge move_icons_progmem
2026-03-03 12:02:16 -10:00