Gossip relay now reacts to rad push instantly when watchdog is installed. A threading.Event replaces the interruptible sleep loop: watchdog fires the event on any filesystem change in the seed's storage directory, waking the poll loop immediately. Without watchdog the relay falls back to the configured poll interval with a clear log message. New command 'radicle-rns setup' checks all prerequisites and prints exact fix instructions for anything missing: rad/radicle-node binaries, seed identity, watchdog, and whether the seed is registered in the user's radicle node. Other changes: - gossip: _poll_loop_once() extracted so tests can drive one iteration - gossip: stop() sets poll_event so the thread exits without waiting out the full poll interval - gossip: _start_watcher() creates storage dir if absent (watchdog requires the watched path to exist) - pyproject.toml: watchdog>=3.0 added as [watch] optional dep and dev dep - 5 new tests for watchdog/event/auto-discover behaviour Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| adapter.py | ||
| bridge.py | ||
| cli.py | ||
| gossip.py | ||
| identity.py | ||
| link.py | ||
| messages.py | ||
| seed.py | ||