The iPad was on Tailscale: a WebRTC debugging story
- Infrastructure
- Networking
- Programming
- Developer Tools
The post is a debugging write-up about a WebRTC app that worked everywhere except one iPad showing a blank page. The root cause was not one bug but two independent assumptions colliding. webrtc-rs used a hardcoded initial MTU, did no path MTU discovery, and kept retransmitting at the same size. Tailscale, on the IPv6 path involved here, treated packets with a Fragment header as unknown protocol and the default deny rule dropped them. Small control traffic still got through, so every obvious health check looked fine while the actual payload path was dead.
If you ship real-time or peer-to-peer networking over overlays like Tailscale, add explicit large-packet tests and fragmented-traffic checks to your diagnostics instead of trusting pings, health checks, or small control messages. Also audit any WebRTC stack you depend on for MTU defaults, path MTU discovery, and message-size handling before a rare edge case turns into a silent outage.
- p2claw.com
- Discuss on HN