that bit where the client logs showed ws.send() completing fine but the server never received the message is such a classic production-only mystery. the intermediate proxy buffering explanation makes complete sense in hindsight — fly.io's networking layer doing its own thing with binary frames. nice debugging writeup, the kind of thing you only learn by suffering through it