write_status() calls get_current_state() which re-acquires events_lock. Calling it inside the `with events_lock:` block caused the same thread to block forever (threading.Lock is not reentrant). Any /clear request would hang the aggregator indefinitely, breaking detector recovery flow. Bump to v2.3.2. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
13 KiB
13 KiB