Harden dead-peer detection across the connection lifecycle

Found while chasing a KDE Plasma tray icon that never cleared (see !234 (merged) for the actual leak).

  • Dead-peer detection only arms after the handshake completes, so a peer that vanishes earlier hangs the run loop forever. Bound the pre-handshake phase with a 30-second deadline.
  • Dead-peer detection was otherwise missing: arm TCP_USER_TIMEOUT and a keepalive probe so a peer that goes silent mid-session (dropped network, sleep) doesn't hang the same way.

Also moves VideoStream's close call to the main thread in the destructor, matching where its PipeWire loop lives, and logs two previously-silent auth-rejection paths.

Edited by Nick Haghiri

Merge request reports

Loading
Loading