Files
meshcore-bot/modules/web_viewer
agessaman dc4b7ac8fc fix: close the scheduled-message update check/write race
PUT verified original_schedule outside the lock, so a concurrent delete
between the check and the write resurrected the entry as a new one, and
two concurrent renames of the same original left both results present.
The existence check now runs inside _save_scheduled_message_locked
against the same snapshot the duplicate check uses, so create, update and
delete are each a single critical section.

Added a concurrency test: two simultaneous creates of one schedule now
produce exactly one 200 and one 409 with a single entry on disk.
2026-08-22 01:11:42 -07:00
..