diff options
author | Jeremy Daer <jeremydaer@gmail.com> | 2016-04-05 09:12:55 -0700 |
---|---|---|
committer | Jeremy Daer <jeremydaer@gmail.com> | 2016-04-05 09:26:11 -0700 |
commit | fa3537506a12635b51886919589211640ddd3a15 (patch) | |
tree | 2774b5ac7e58d63284a05ea33bfc1a9242a6edc5 /actioncable/CHANGELOG.md | |
parent | fca51a7c031b4f17f7a2f353fcfc8a748f6ada7f (diff) | |
parent | cbd15da0274316bae64caae54880fee87853f480 (diff) | |
download | rails-fa3537506a12635b51886919589211640ddd3a15.tar.gz rails-fa3537506a12635b51886919589211640ddd3a15.tar.bz2 rails-fa3537506a12635b51886919589211640ddd3a15.zip |
Merge pull request #24224 from danielrhodes/actioncable-websocket-protocols
ActionCable protocol negotiation
Diffstat (limited to 'actioncable/CHANGELOG.md')
-rw-r--r-- | actioncable/CHANGELOG.md | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/actioncable/CHANGELOG.md b/actioncable/CHANGELOG.md index d59e48e00c..5162a31cf8 100644 --- a/actioncable/CHANGELOG.md +++ b/actioncable/CHANGELOG.md @@ -1,3 +1,23 @@ +* WebSocket protocol negotiation. + + Introduces an Action Cable protocol version that moves independently + of and, hopefully, more slowly than Action Cable itself. Client sockets + negotiate a protocol with the Cable server using WebSockets' native + subprotocol support: + * https://tools.ietf.org/html/rfc6455#section-1.9 + * https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_servers#Subprotocols + + If they can't negotiate a compatible protocol (usually due to upgrading + the Cable server with a browser still running old JavaScript) then the + client knows to disconnect, cease retrying, and tell the app that it hit + a protocol mismatch. + + This allows us to evolve the Action Cable message format, handshaking, + pings, acknowledgements, and more without breaking older clients' + expectations of server behavior. + + *Daniel Rhodes* + * Pubsub: automatic stream decoding. stream_for @room, coder: ActiveSupport::JSON do |message| |