mirror of
https://github.com/MarekWo/mc-webui.git
synced 2026-03-28 17:42:45 +01:00
Root cause: Multiple concurrent meshcli calls were fighting for USB access, causing "Protocol error" and 504 Gateway Timeouts. Changes to meshcore-bridge: - Add threading.Lock to serialize meshcli subprocess calls - Prevent concurrent USB access that causes OSError [Errno 71] - Reduce DEFAULT_TIMEOUT from 30s to 10s - Add detailed logging for lock acquisition and release Changes to main API: - Implement 30s cache for get_channels() to reduce USB calls - Cache invalidation after channel create/join/delete operations - Use cached channels in /api/channels and /api/messages/updates - Reduce HTTP timeout from 30s to 12s (10s bridge + 2s buffer) Impact: - Eliminates race conditions when page loads (multiple API calls) - Prevents USB port conflicts and protocol errors - Faster response times due to caching - No need for manual USB resets after container restarts 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>