Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Gracefully handle disconnected clients | Jeremy Daer | 2016-03-20 | 1 | -0/+2 |
| | | | | | | | | We'll get `Errno::ECONNRESET` if the client forcibly disconnected. Just close the socket rather than raising the exception. Handle other errors in `ClientSocket#write`, too, mirroring the Faye error handling which swallows all `StandardError` on write. | ||||
* | Support faye-websocket + EventMachine as an option | Matthew Draper | 2016-03-02 | 1 | -5/+5 |
| | |||||
* | The async.callback call should live with the hijack | Matthew Draper | 2016-02-26 | 1 | -4/+5 |
| | | | | If we're deferring one, we should defer the other too. | ||||
* | Only hijack Rack socket when first needed | Jon Moss | 2016-02-24 | 1 | -0/+1 |
| | | | | Fixes #23471 | ||||
* | Fix `unsubscribed` server side behavior | Jon Moss | 2016-02-18 | 1 | -5/+2 |
| | | | | | | | | | | | | | Before this commit, the `unsubscribed` callbacks in Action Cable server side channels were never called. This is because when a WebSocket "goodbye" message was sent from the client, the Action Cable server didn't properly clean up after the now closed WebSocket. This means that memory could possibly skyrocket with this behavior, since part of this commit is to properly remove closed subscriptions from the global subscriptions hash. Say you have 10,000 users currently connected, and then all 10,000 disconnect -- before this patch, Action Cable would still hold onto information (and Ruby objects!) for all of these now dead connections. | ||||
* | Fix arguments to on_close | Matthew Draper | 2016-01-30 | 1 | -4/+2 |
| | |||||
* | Revert "Revert "Eliminate the EventMachine dependency"" | Matthew Draper | 2016-01-30 | 1 | -0/+152 |
| | |||||
* | Revert "Eliminate the EventMachine dependency" | David Heinemeier Hansson | 2016-01-27 | 1 | -152/+0 |
| | |||||
* | Import the relevant portions of faye-websocket | Matthew Draper | 2016-01-24 | 1 | -0/+152 |
(as adapted to use concurrent-ruby / nio4r instead of eventmachine) |