TCP connections can silently enter half-open states when a client abruptly loses connectivity (such as moving out of cellular range). The engine runs periodic ping/pong sweeps to detect and terminate zombie sockets.
• heartbeatIntervalMs: Periodic ping interval (default 30,000ms / 30s).
• heartbeatTimeoutMs: Maximum window to receive Pong frame before termination (default 5,000ms / 5s).
Ensure your reverse proxy (Nginx / Caddy / AWS ALB) read timeout is configured higher than heartbeatIntervalMs + heartbeatTimeoutMs (e.g., at least 75 seconds) so the proxy does not kill idle connections before the ping sweep occurs.