Thanks @outlog. More data points: I just tried using a few command line apps like wscat and ws. I also tried from my dev machine and also a machine on Google Compute Engine. I’m still getting 1006 (abnormal closures).
Here is wscat on GCE
$ time ws ws://phoenixchat.herokuapp.com/ws
> {"topic":"rooms:lobby","event":"phx_join","payload":{},"ref":"2679"}
< {"topic":"rooms:lobby","ref":"2679","payload":{"status":"ok","response":{}},"event":"phx_reply"}
< {"topic":"rooms:lobby","ref":null,"payload":{"status":"connected"},"event":"join"}
< {"topic":"rooms:lobby","ref":null,"payload":{"user":null},"event":"user:entered"}
< {"topic":"rooms:lobby","ref":null,"payload":{"user":"SYSTEM","body":"ping"},"event":"new:msg"}
> {"topic":"rooms:lobby","event":"new:msg","payload":{"user":"js","body":"hi"},"ref":"3997"}
< {"topic":"rooms:lobby","ref":"3997","payload":{"status":"ok","response":{"msg":"hi"}},"event":"phx_reply"}
< {"topic":"rooms:lobby","ref":null,"payload":{"user":"js","body":"hi"},"event":"new:msg"}
< {"topic":"rooms:lobby","ref":null,"payload":{"user":"SYSTEM","body":"ping"},"event":"new:msg"}
< {"topic":"rooms:lobby","ref":null,"payload":{"user":"SYSTEM","body":"ping"},"event":"new:msg"}
...
< {"topic":"rooms:lobby","ref":null,"payload":{"user":"SYSTEM","body":"ping"},"event":"new:msg"}
websocket: close 1006 (abnormal closure): unexpected EOF
real 98m58.921s
user 0m0.286s
sys 0m0.203s
And then with wscat on my local machine
$ time wscat -c ws://phoenixchat.herokuapp.com/ws
connected (press CTRL+C to quit)
> {"topic":"rooms:lobby","event":"phx_join","payload":{},"ref":"3707"}
< {"topic":"rooms:lobby","ref":"3707","payload":{"status":"ok","response":{}},"event":"phx_reply"}
< {"topic":"rooms:lobby","ref":null,"payload":{"status":"connected"},"event":"join"}
< {"topic":"rooms:lobby","ref":null,"payload":{"user":null},"event":"user:entered"}
< {"topic":"rooms:lobby","ref":null,"payload":{"user":"js","body":"hi"},"event":"new:msg"}
< {"topic":"rooms:lobby","ref":null,"payload":{"user":"SYSTEM","body":"ping"},"event":"new:msg"}
< {"topic":"rooms:lobby","ref":null,"payload":{"user":"SYSTEM","body":"ping"},"event":"new:msg"}
disconnected (code: 1006)
real 110m0.246s
user 0m0.540s
sys 0m0.089s