[client] Detect and recover from a stalled signal receive stream (#6459)

This commit is contained in:
Viktor Liu
2026-06-18 01:48:09 +09:00
committed by GitHub
parent 8ae2cd0a08
commit 5bd7c6c7ea
5 changed files with 233 additions and 44 deletions

View File

@@ -1714,6 +1714,13 @@ func (e *Engine) receiveSignalEvents() {
return e.ctx.Err()
}
// Self-addressed heartbeat: the signal client's receive watchdog
// round-trips this through the server to confirm the receive stream
// is delivering. Liveness is already recorded before this handler.
if msg.GetBody().GetType() == sProto.Body_HEARTBEAT {
return nil
}
conn, ok := e.peerStore.PeerConn(msg.Key)
if !ok {
return fmt.Errorf("wrongly addressed message %s", msg.Key)