Commit Graph

5702 Commits

Author SHA1 Message Date
proddy
7f98139deb add missing commands to restore 2026-06-13 17:24:29 +02:00
Proddy
be0737f783 Merge pull request #8 from proddy/cursor/critical-bug-investigation-ac3f
Fix main-loop deadlock that breaks system/message and sendmail commands
2026-06-13 17:16:19 +02:00
proddy
06a81db88a minor heap optimizations 2026-06-13 16:47:14 +02:00
Cursor Agent
5ee08443f9 refactor: drop dead scheduler raw_value deferral, route url messages to worker
The raw_value/computed_value handoff on WebSchedulerService is no longer
used now that command_message()/command_sendmail() compute synchronously,
so remove the members and the dead block in the scheduler loop.

Also drop the system/message special-case in dispatchCommand(): a
system/message whose value embeds a {url} now blocks at execution time
like any other internal command, so it should be offloaded to the
command worker task (large stack, off the main loop) instead of running
inline. Update the now-stale comments.

Co-authored-by: Proddy <proddy@users.noreply.github.com>
2026-06-13 07:02:28 +00:00
Cursor Agent
515eb2a16b fix: run message/sendmail shunting-yard synchronously to avoid main-loop deadlock
command_message() and command_sendmail() handed their value to
WebSchedulerService via raw_value and busy-waited up to 2s for the
scheduler loop (running in a separate task) to compute it. After the
scheduler was moved to run synchronously in the main loop, any caller
running in the main loop (MQTT-triggered commands, scheduler-triggered
commands) deadlocks: the loop that would compute raw_value cannot run
while the caller is blocking inside it. The 2s wait then times out and
system/message fails entirely (sendmail sends the un-computed body).

Compute the value directly with compute() instead, which restores
correct behaviour for all callers.

Co-authored-by: Proddy <proddy@users.noreply.github.com>
2026-06-13 06:59:43 +00:00
proddy
f5c15f83b4 fix bug when comparing dev releases 2026-06-12 16:29:35 +02:00
proddy
e3bec544be version test 2026-06-12 16:29:26 +02:00
proddy
27eadcb875 add tests for version upgrades 2026-06-12 16:29:17 +02:00
proddy
7664d50d69 one command function, to save on heap 2026-06-10 22:06:46 +02:00
proddy
0406ee0529 Scheduler to sync, Commands to async 2026-06-09 23:04:41 +02:00
proddy
9426ae9df6 fix mDNS restart after a reset 2026-06-09 23:00:32 +02:00
proddy
b1944601ef scheduler loop is no longer async 2026-06-09 23:00:13 +02:00
proddy
cb6e452864 revert WiFi.disconnect 2026-06-09 20:30:12 +02:00
proddy
2cb7677098 implement migration to new Commands/Scheduler 2026-06-08 22:35:07 +02:00
proddy
dc096a9856 load Commands first before Scheduler 2026-06-08 22:34:50 +02:00
proddy
8496a911da remove colors 2026-06-08 22:34:27 +02:00
proddy
8fb69826f9 comments 2026-06-08 20:54:43 +02:00
proddy
7ee6dcf0e0 call commands can override value 2026-06-08 20:44:21 +02:00
proddy
9370ae69ec cleanup 2026-06-08 20:44:09 +02:00
proddy
afee7246c6 prevent STA warning 2026-06-08 20:44:00 +02:00
proddy
2102180c46 add commands to system backup 2026-06-08 20:43:42 +02:00
proddy
064548316e dont show unused json elements 2026-06-08 20:43:27 +02:00
proddy
e53aaffd4d add comment 2026-06-08 20:43:11 +02:00
proddy
0d14601385 optimize 2026-06-08 20:43:03 +02:00
proddy
96e3fdc323 use EMSdevice::DeviceType::SYSTEM 2026-06-08 20:42:42 +02:00
proddy
fd359ab9ed optional value when calling commands 2026-06-08 20:42:08 +02:00
proddy
192357f4f3 3.9.0-dev.12 2026-06-08 20:41:47 +02:00
proddy
8a45e79071 updates 2026-06-08 10:03:32 +02:00
proddy
5c4dfcb9ae first try 2026-06-07 18:26:35 +02:00
Proddy
6e9049c82b Merge branch 'emsesp:core3' into core3 2026-06-07 17:09:02 +02:00
MichaelDvP
f6308d61eb fix looping of immediate schedule, fix errormessage nvs 2026-06-07 16:29:08 +02:00
proddy
511f5c1681 camelCase system name 2026-06-07 14:39:56 +02:00
proddy
844b48accb show custom system name as model in HA 2026-06-07 14:39:18 +02:00
proddy
4bba059ed5 formatting 2026-06-07 14:39:03 +02:00
MichaelDvP
cc1808289a Merge branch 'dev' into core3 2026-06-07 14:12:36 +02:00
proddy
cfcc84d0c4 call scheduler immediate from dashboard 2026-06-07 12:37:34 +02:00
proddy
cbfebabfa3 Feature Request: Make the "EMS-ESP" title text in the web interface configurable.
Fixes #3110
2026-06-07 09:56:07 +02:00
proddy
c55b8c5e2e fix showing immediate in dashboard 2026-06-07 09:55:48 +02:00
proddy
a2afc4342e fix lint warning for C++20 volatile 2026-06-06 16:42:32 +02:00
proddy
b85085790a add volatile, as they are ISR-written outside the main loop 2026-06-06 16:40:23 +02:00
proddy
791285e7f4 enable cancel mid-flight in an HTTPS firmware upload 2026-06-06 16:35:40 +02:00
proddy
b1bc8110cc remove debug 2026-06-06 15:07:45 +02:00
proddy
0b5d643863 don't show Scheduler items of type immediate in Dashboard 2026-06-06 15:07:17 +02:00
proddy
1acc71a6b9 3.9.0-dev.11" 2026-06-06 15:06:50 +02:00
proddy
9a225569fd formatting 2026-06-06 15:06:32 +02:00
MichaelDvP
f99ca7f013 seltemp write in cooling mode #1781 2026-06-04 12:21:16 +02:00
MichaelDvP
7349bc9ebf reset system status 2026-06-04 12:20:12 +02:00
proddy
7b6d60691c add missing "\r\n" to GET header 2026-05-29 16:15:54 +01:00
proddy
c7816a644f prevent message command parsing URLs twice 2026-05-29 16:15:29 +01:00
proddy
a0196ff9b2 add comment 2026-05-29 16:14:59 +01:00