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 AgentandProddy 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 AgentandProddy 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