ストリーミングはFree Dynoで動いていて30分で止められることがわかった。Firefoxは再接続に行ってDynoが起動してWebSocketは再接続された。トゥートが流れてこないのはタイムラインが静かだからかな?
Heroku側からは接続が切れたように見えてる気がする。ルータが405msでレスポンスを返し終わったって言ってる。FirefoxのNetworkタブではWebSocketが2本つながったまま何もやりとりをしていないように見える。
ブラウザリロードしたら接続が1本切れてつなぎなおしてやりとりも始まった。リロード無しの再接続では、
{"type":"subscribe","stream":"user"}
がサーバに送られず、サーバ側でもWebSocketだけつないでおいて、Subscribeはしないようだ。
app/javascript/mastodon/stream.jsあたりのコールバックの登録が足りないのかもだけどナンモワカラン