10682 Commits

Author SHA1 Message Date
Proddy
9558e1d5ab Merge pull request #3120 from proddy/commands
Commands - fixes
2026-06-13 17:31:22 +02:00
proddy
7f98139deb add missing commands to restore 2026-06-13 17:24:29 +02:00
proddy
ea8e0c1819 Merge branch 'commands' of github.com:proddy/EMS-ESP32 into commands 2026-06-13 17:16:40 +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
6cedc0adc1 package update 2026-06-13 17:14:44 +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
497d7cf7f3 Merge branch 'emsesp:dev' into commands 2026-06-12 16:41:38 +02:00
Proddy
ea5be9508e Merge pull request #3114 from proddy/commands
Commands
2026-06-12 16:41:25 +02: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
31de3ffc82 package update 2026-06-12 16:27:39 +02:00
proddy
7664d50d69 one command function, to save on heap 2026-06-10 22:06:46 +02:00
proddy
5357f633d3 package update 2026-06-10 22:06:30 +02:00
proddy
0406ee0529 Scheduler to sync, Commands to async 2026-06-09 23:04:41 +02:00
proddy
423515ec37 remove EMSESP_SCHEDULER_* 2026-06-09 23:00:49 +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
c4cc6a9386 fix missing translations, and order 2026-06-09 22:50:39 +02:00
proddy
ad48f0010f package update 2026-06-09 22:50:25 +02:00
proddy
d5e3571e17 Scheduler show 'at startup' 2026-06-09 20:30:32 +02:00
proddy
cb6e452864 revert WiFi.disconnect 2026-06-09 20:30:12 +02:00
proddy
c3ff4422c8 ESPAsyncWebServer @ 3.11.1 2026-06-09 20:29:35 +02:00
proddy
1ce691500f package update 2026-06-09 20:29:23 +02:00
proddy
05b1eaf175 add test 2026-06-09 20:29:07 +02:00
proddy
4f2215b126 button formatting 2026-06-08 22:48:46 +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
4bff05a1c6 have to save before executing 2026-06-08 21:22:59 +02:00
proddy
ff90662be1 green execute button 2026-06-08 21:04:19 +02:00
proddy
8fb69826f9 comments 2026-06-08 20:54:43 +02:00
proddy
7d94dc7cf0 update tests 2026-06-08 20:48:22 +02:00
proddy
f93b5290ff add comment 2026-06-08 20:48:09 +02:00
proddy
88d7124874 update 2026-06-08 20:47:54 +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
223700a1a8 update 2026-06-08 20:41:39 +02:00
proddy
643744d8d9 formatting 2026-06-08 20:41:31 +02:00
proddy
4085a96145 formatting 2026-06-08 20:41:21 +02:00