aboutsummaryrefslogtreecommitdiffstats
path: root/actioncable
Commit message (Collapse)AuthorAgeFilesLines
* Make ping into a message typeDaniel Rhodes2016-03-016-15/+10
| | | | | | | | 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.
* Added welcome message type and fix test hacksDaniel Rhodes2016-03-015-5/+14
|
* Merge pull request #23811 from iamvery/string-channelDavid Heinemeier Hansson2016-02-285-1/+37
|\ | | | | Ensure actioncable behaves as expected with non-string queues
| * Update changelogJay Hayes2016-02-241-0/+4
| |
| * Ensure server broadcasts are to string queue namesJay Hayes2016-02-242-1/+16
| | | | | | | | | | | | Similar to the channel streaming side, these values must be strings for ActionCable to behave as expected. The conversion will allow users to send string-convertible values and get the expected behavior.
| * Convert stream broadcasting to a stringJay Hayes2016-02-242-0/+18
| | | | | | | | | | | | | | ActionCable does some things behind the scenes that expects these "broadcasting"s or "channel"s to be strings. However it's not immediately obvious that the value must be a string. So adding this conversion ensures things work as expected.
| * whitespaceJay Hayes2016-02-241-1/+0
| |
* | Add small Action Cable documentation fixesHayley Anderson2016-02-274-13/+13
| | | | | | | | | | * Fix typos/grammar errors * Make capitalization/naming consistent
* | Merge pull request #23916 from ↵Jeremy Daer2016-02-261-2/+6
|\ \ | | | | | | | | | | | | lifo/same-redis-connection-for-subscription-and-broadcast Always use redis_connector to create redis connections
| * | Use redis_connector to create redis connections for both subscriptions and ↵Pratik Naik2016-02-261-2/+6
| | | | | | | | | | | | broadcasts
* | | The async.callback call should live with the hijackMatthew Draper2016-02-261-4/+5
| | | | | | | | | | | | If we're deferring one, we should defer the other too.
* | | Merge pull request #23843 from maclover7/fix-23471Matthew Draper2016-02-253-10/+29
|\ \ \ | | | | | | | | Only hijack Rack socket when first needed
| * | | Only hijack Rack socket when first neededJon Moss2016-02-243-10/+29
| | |/ | |/| | | | | | | Fixes #23471
* | | Only open Action Cable connection if data is being sentJon Moss2016-02-241-1/+3
| | |
* | | Enable Action Cable routes by defaultJon Moss2016-02-244-5/+27
|/ / | | | | | | This also marks Action Cable routes as internal to Rails.
* | Add Ruby formatting to CHANGELOG entryclaudiob2016-02-241-4/+5
| | | | | | | | [ci skip]
* | Preparing for 5.0.0.beta3 releaseeileencodes2016-02-241-0/+2
| | | | | | | | Adds changelog headers for beta3 release
* | Prep release for Rails 5 beta3eileencodes2016-02-241-1/+1
| |
* | Merge pull request #23789 from ↵Rafael França2016-02-231-3/+3
|\ \ | | | | | | | | | | | | wisetara/wisetara/deprecate-args-ActiveSupport__TestCase#assert_nothing_raised-for-pr Wisetara/deprecate args active support test case#assert nothing raised for pr
| * | remove args from assert_nothing_raised in testsTara Scherner de la Fuente2016-02-221-3/+3
| | |
* | | Merge pull request #23813 from lifo/faye-websocketDavid Heinemeier Hansson2016-02-235-7/+51
|\ \ \ | |/ / |/| | Improve Action Cable reconnection reliability
| * | Fix isAlive condition and add more loggingJavan Makhmali2016-02-231-5/+7
| | |
| * | ActionCable.logJavan Makhmali2016-02-233-14/+25
| | |
| * | Uninstall event handlers when replacing WebSocket instanceJavan Makhmali2016-02-231-0/+6
| | | | | | | | | | | | Ensures we don't get "onclose" events from a previous WebSocket that was in the "closing" state
| * | Connection#isAliveJavan Makhmali2016-02-231-3/+3
| | |
| * | Log ConnectionMonitor connectPratik Naik2016-02-231-0/+1
| | |
| * | Confirm connection monitor subscription on openPratik Naik2016-02-232-2/+9
| | |
| * | Treat 'closing' state as closed.Pratik Naik2016-02-231-3/+6
| | | | | | | | | | | | | | | | | | 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.
| * | Add client-side console logging to help debug reconnect issuesJavan Makhmali2016-02-232-1/+15
| |/
* | Action Cable readme fix [ci skip]Mehmet Emin İNAÇ2016-02-231-4/+4
| |
* | Merge pull request #23668 from maclover7/cable-docsRafael França2016-02-2216-70/+67
|\ \ | | | | | | Full Action Cable documentation read through
| * | Full Action Cable documentation read throughJon Moss2016-02-1716-70/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | This PR checks all active Action Cable documentation for typos and other fixes. It aims to make sure that when Rails 5 is released, that the Action Cable docs are up to snuff with the other documentation included with Rails. [ci skip]
* | | Add notes for future selvesJon Moss2016-02-221-0/+1
| | | | | | | | | | | | | | | | | | | | | Once RubyGems 2.5.0 is required, then the duplicated files can be removed, and symlinks can be used instead. [ci skip]
* | | Generate ApplicationCable files if they do not already existJon Moss2016-02-223-0/+26
| |/ |/|
* | Fixed typoChashmeet Singh2016-02-211-1/+1
| |
* | Merge pull request #23709 from jankeesvw/set-action-cable-logging-to-debugDavid Heinemeier Hansson2016-02-191-1/+1
|\ \ | | | | | | Make ActionCable logging less verbose in development
| * | Truncate ActionCable broadcast message to 300 charsJankees van Woezik2016-02-181-1/+1
| |/ | | | | | | | | | | When running the ActionCable server in development I get a lot of output in my logs, this commit sets a maximum length of 300 characters for a broadcast log message.
* | Merge pull request #23715 from maclover7/fix-unsubscribeMatthew Draper2016-02-194-6/+28
|\ \ | | | | | | Fix `unsubscribed` server side behavior
| * | Fix `unsubscribed` server side behaviorJon Moss2016-02-184-6/+28
| |/ | | | | | | | | | | | | | | | | | | | | | | | | 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.
* / Use a semaphore to signal message availabilityMatthew Draper2016-02-191-7/+8
|/ | | | | The Event hack was too much of a hack: on actually thinking about it, there's a rather obvious race.
* Merge pull request #23505 from kaspth/inject-rails-config-through-railtieKasper Timm Hansen2016-02-145-54/+15
|\ | | | | Inject Rails related configuration through Railtie
| * Don't rely on the global server as a receiver.Kasper Timm Hansen2016-02-143-10/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `WorkerTest`'s `Receiver` is imporsonating an `ActionCable::Connection::Base`, but just delegates the logger to `ActionCable.logger`. This creates a mismatch as the connection requires the logger to be a `TaggedLoggerProxy`'ied logger, while the server doesn't. Thus to ensure an exception isn't raised when the worker tries to call `tag` other tests have to assign a proxied logger to their test server. Instead of forcing change on other tests, have Receiver adhere to the connection contract and use a `TaggedLoggerProxy`. As a consequence remove more setup from the tests.
| * Default connection class to ActionCable::Connection::Base.Kasper Timm Hansen2016-02-144-18/+6
| | | | | | | | | | | | | | Instead of depending on ApplicationCable::Connection being defined at initialize we should inject it in the Railtie. Thus we can kill more setup in the tests too.
| * Inject Rails' channel paths in engine.Kasper Timm Hansen2016-02-144-26/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | We were explicitly referencing Rails.root in ActionCable::Server::Configuration.initialize, thereby coupling ourselves to Rails. Instead add `app/channels` to Rails' app paths and assign the existent files to `channel_paths`. Users can still append to those load paths with `<<` and `push` in `config/application.rb`. This means we can remove the custom `Dir` lookup in `channel_paths` and the Rails and root definitions in the tests.
* | Fix grammar `a` to `an` [ci skip]Ryuta Kamizono2016-02-132-2/+2
| |
* | Merge pull request #23546 from maclover7/cable-readme-updateJon Moss2016-02-111-8/+7
|\ \ | | | | | | ActionCable README updates
| * | ActionCable README updatesJon Moss2016-02-081-8/+7
| | | | | | | | | | | | [ci skip]
* | | Merge remote-tracking branch 'origin/master' into actioncable_loggingkp2016-02-1030-129/+693
|\ \ \
| * | | Fix tiny grammar.Mawueli Kofi Adzoe2016-02-091-1/+1
| | | |
| * | | Fix typo [ci skip]Ryuta Kamizono2016-02-091-1/+1
| |/ /