aboutsummaryrefslogtreecommitdiffstats
path: root/actioncable
Commit message (Collapse)AuthorAgeFilesLines
* 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
| |/ /
| * | Merge pull request #23556 from y-yagi/remove_faye-websocket_from_readmeप्रथमेश Sonpatki2016-02-081-1/+1
| |\ \ | | | | | | | | remove `faye-websocket` dependency from README [ci skip]
| | * | remove `faye-websocket` dependency from README [ci skip]yuuji.yaginuma2016-02-081-1/+1
| | |/ | | | | | | | | | `faye-websocket` gem is no longer used from 322dca293b3716ccaa09e7e82046e539b0d2ffda.
| * / config examples for ActionCable now use Rails.application.config.action_cableDaniel Fox2016-02-071-3/+3
| |/ | | | | | | | | | | | | | | | | | | | | Some existing examples used ActionCable.server.config but for configuring allowed_request_origins that is overridden in development mode. The correct place to set that is Rails.application.config.action_cable which the ActionCable initializer loads from. I thought the other two examples should be changed as well just in case a default value that would override a configured value is introduced for either log_tags or disable_request_forgery_protection in the future.
| * Cant run on an out-of-the-box OSX installation without running out of TOO ↵David Heinemeier Hansson2016-02-051-1/+1
| | | | | | | | MANY FILES OPEN
| * don’t explicitly mention EventMachine [ci skip]yuuji.yaginuma2016-02-051-1/+1
| | | | | | | | Follow up to 6accef4e11b0c793e1c085536b5ed27f32b6a0c3
| * Allow for non-standard redis connectorsDavid Heinemeier Hansson2016-02-043-3/+22
| |
| * Document the fact that Action Cable does not require a multi-threaded app serverHongli Lai (Phusion)2016-02-031-2/+11
| | | | | | | | [ci skip]
| * [ci skip] Several ActionCable documentation updates:Nick Quaranto2016-02-024-40/+53
| | | | | | | | | | | | | | | | * Properly indent code sample in ActionCable::Channel::Streams * Add a doc comment for #stop_all_streams * Reformat + add <tt> blocks around code references in ActionCable::Base docs * Clarify and a little better grammar on ActionCable::RemoteConnections * Correct indentation and clean up ActionCable::Server::Broadcasting code sample
| * Add some Action Cable CHANGELOG entriesRafael Mendonça França2016-02-011-1/+10
| | | | | | | | | | | | And improve changelongs. [ci skip]
| * Preparing for Rails 5.0.0.beta2Sean Griffin2016-02-012-1/+6
| |
| * Merge pull request #23381 from matthewd/uneventful-redisMatthew Draper2016-02-024-31/+210
| |\ | | | | | | Redis sans EventMachine
| | * Switch the default redis adapter to a single-stream modelMatthew Draper2016-02-014-31/+210
| | | | | | | | | | | | | | | | | | This new adapter does get a little more intimate with the redis-rb gem's implementation than I would like, but it's the least bad of the approaches I've come up with.
| * | Remove development dependencies from actioncable.gemspecMatthew Draper2016-02-011-9/+0
| | | | | | | | | | | | None of the other components use them, so we should be consistent.
| * | Merge pull request #23370 from maclover7/actioncable-main-travis-buildGuillermo Iguaran2016-01-311-9/+0
| |\ \ | | | | | | | | Move Action Cable back to the main build
| | * | Remove unused methodJon Moss2016-01-311-9/+0
| | |/
| * | Drop the runtime dependency on coffee-railsMatthew Draper2016-02-011-1/+0
| | |
| * | Wrangle the asset build into something that sounds more generalMatthew Draper2016-02-019-16/+24
| | |
| * | Merge pull request #23369 from maclover7/actioncable-assets-reduxMatthew Draper2016-02-0110-7/+48
| |\ \ | | | | | | | | | | | | Action Cable Assets Compilation redux
| | * | Improvements and reorganization of assetsJon Moss2016-01-3010-3/+10
| | | |
| | * | Add task to create precompiled action_cable.js and reorganize to accommodateJavan Makhmali2016-01-3010-7/+41
| | |/
| * / Wait for EventMachine to finish startingMatthew Draper2016-02-011-0/+1
| |/
| * Use a gentler disconnectMatthew Draper2016-01-301-2/+2
| | | | | | | | The detach used by close! seems to be making EM very sad on Travis.
| * Don't bother stopping EM between testsMatthew Draper2016-01-301-38/+3
| | | | | | | | | | It's not strictly necessary, and maybe this will help with the current test failure.
| * remove require loggingKesha Antonov2016-01-291-2/+0
| |
| * Keep the socket reference after closeMatthew Draper2016-01-301-3/+2
| | | | | | | | We may still try to send to it.
| * Reduce the client count, in hope of a more consistent testMatthew Draper2016-01-301-3/+3
| |
| * Be more patient while gathering the expected responsesMatthew Draper2016-01-301-4/+3
| |
| * Handle more IO errors (especially, ECONNRESET)Matthew Draper2016-01-303-21/+78
| | | | | | | | | | | | Also, address the possibility of the listen thread dying and needing to be respawned. As a bonus, we now defer construction of the thread until we are first given something to monitor.
| * Add a couple of tests that connect with a WS clientMatthew Draper2016-01-302-0/+251
| |
| * Synchronize the lazy setters in ServerMatthew Draper2016-01-305-15/+47
| | | | | | | | They're all at risk of races on the first requests.
| * Fix arguments to on_closeMatthew Draper2016-01-302-5/+3
| |
| * Revert "Revert "Eliminate the EventMachine dependency""Matthew Draper2016-01-3025-99/+382
| |
| * Revert "Eliminate the EventMachine dependency"David Heinemeier Hansson2016-01-2725-382/+99
| |
* | Logs successful and invalid connections separatelykp2016-02-101-8/+12
| |
* | adds debug logging to actioncable connectkp2016-01-261-2/+12
|/