HeadlinesBriefing favicon HeadlinesBriefing.com

WebRTC stall on iPad traced to Tailscale and webrtc‑rs bug

Hacker News •
×

A developer testing a p2claw app on an iPad saw a blank page while the same URL worked on Mac, Linux and phone. The page loaded a loading screen, opened a WebRTC data channel, sent a GET request, then hung with no console errors. Initial suspects included the iPad hardware, WebKit and the VPN client.

Instrumentation revealed the box sent three chunks—header, body, tail—but the iPad received only the 220‑byte header. The outbound buffer on the server stopped at roughly 8 KB, indicating the large body never reached the device. Because WebRTC guarantees in‑order delivery, the missing chunk blocked all subsequent traffic.

Further digging showed Tailscale’s VPN limited packet size to 1 280 bytes, while webrtc‑rs hard‑coded an initial MTU of 1 228 bytes, producing packets that fragmented. On the iPad, fragments never reassembled, causing the stall. Reducing the message size to under 800 bytes fixed the issue, confirming the bug lay in the interaction between Tailscale and webrtc‑rs rather than Safari.