Implements comprehensive connection state tracking to prevent "Operation already in progress" errors and connection retry storms. BLE Interface changes: - Record connection attempts before calling driver.connect() - Add 5-second rate limiting between attempts to same peer - Skip connections already in progress via _connecting_peers check - Downgrade expected race conditions to DEBUG level - Auto-blacklist MAC addresses on connection failures - Add diagnostic logging for concurrent connection tracking BLE Driver changes: - Add _connecting_peers set to track in-progress connections - Prevent concurrent connection attempts to same address - Attach cleanup callbacks to connection Futures - Add defense-in-depth cleanup in finally blocks - Detailed logging for connection state debugging Documentation updates: - Add deployment workflow documentation to README.md - Update .github/workflows/README.md with CD workflow details - Document containerized runner SSH configuration - Update reference documentation (CLAUDE.md, BLE_PROTOCOL, etc.) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Interfaces | ||
| __init__.py | ||