| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Rename action_cable/*.coffee -> *.js
- Move app/assets/javascripts/* -> app/javascript/*
- Rename action_cable.js.erb -> action_cable/index.js.erb
Renaming the extension to .js is in preparation for converting these
files from coffeescript to ES2015.
Moving the files to app/javascript and putting the entry point in
index.js.erb changes the structure of ActionCable's javascript to match
the structure of ActiveStorage's javascript.
(We are doing the file moving and renaming in a separate commit to
ensure that the git history of the files will be preserved - i.e. git
will track these as file renames rather than unrelated file
additions/deletions. In particular, git blame will still trace back to
the original authorship.)
|
|
|
|
|
|
|
|
|
|
|
| |
ActionCable was throwing a "Existing connection must be closed before
opening" exception which was being picked up as a production issue in
our error monitoring software. Since this happens pretty often on any
device that allows the browser to sleep (mobile) this error was getting
triggered often.
This change removes the exception, but keeps logging the occurrence. We
now return `false` to let the caller now that `open` failed.
|
|
|
|
| |
[Javan Makhmali, Jon Moss]
|
| |
|
|\
| |
| |
| | |
ActionCable protocol negotiation
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is primarily for backwards compatibility for when
or if the protocol is changed in future versions.
If the server fails to respond with an acceptable
protocol, the client disconnects and disables
the monitor.
|
|/ |
|
| |
|
|
|
|
| |
subscription object
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* More intention revealing than connecting on the first call to Connection#send
* Fixes that calls to Connection#send would attempt to open a connection when the WebSocket's state is CONNECTING
|
| |
|
|
|
|
|
|
|
|
| |
This change makes ping into a message type, which
makes the whole protocol a lot more consistent.
Also fixes hacks on the client side to make this all
work.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Ensures we don't get "onclose" events from a previous WebSocket that was in the "closing" state
|
| |
|
| |
|
|
|
|
|
|
| |
We are seeing cases where the websockets get stuck in the 'closing' state
after a tab has been in background for a while. So lets treat those websockets
as closed.
|
| |
|
| |
|
|
|