Skip to content

chore: improve node connection resilience - #6

Merged
jf3tt merged 3 commits into
mainfrom
dev
Apr 8, 2026
Merged

jf3tt merged 3 commits into
mainfrom
dev

Conversation

@jf3tt

@jf3tt jf3tt commented Apr 8, 2026

Copy link
Copy Markdown
Owner
  • Add drainChannels() to clear stale frames from toNode/fromNode before
    reconnect, preventing protocol desync when old heartbeats or client
    frames are sent before want_config_id
  • Send immediate heartbeat after config_complete_id, matching the
    official Python CLI behavior for proper session establishment
  • Enable aggressive TCP keepalive (15s idle, 5s interval) to prevent
    ESP32 lwIP from silently discarding TCP PCBs during inactivity
  • Log connection uptime and local address for easier diagnostics
  • Update TestHeartbeatLoop_DisabledWhenZero to account for post-config
    heartbeat that is always sent regardless of HeartbeatInterval

jf3tt added 3 commits April 8, 2026 15:13
…-config heartbeat, TCP keepalive

- Add drainChannels() to clear stale frames from toNode/fromNode before
  reconnect, preventing protocol desync when old heartbeats or client
  frames are sent before want_config_id
- Send immediate heartbeat after config_complete_id, matching the
  official Python CLI behavior for proper session establishment
- Enable aggressive TCP keepalive (15s idle, 5s interval) to prevent
  ESP32 lwIP from silently discarding TCP PCBs during inactivity
- Log connection uptime and local address for easier diagnostics
- Update TestHeartbeatLoop_DisabledWhenZero to account for post-config
  heartbeat that is always sent regardless of HeartbeatInterval
@jf3tt
jf3tt merged commit 0327e2b into main Apr 8, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant