aboutsummaryrefslogtreecommitdiffstats
path: root/actioncable
Commit message (Collapse)AuthorAgeFilesLines
* Rails 6 requires Ruby 2.4.1+Jeremy Daer2018-02-172-1/+6
| | | | | | Skipping over 2.4.0 to sidestep the `"symbol_from_string".to_sym.dup` bug. References #32028
* Clean up and consolidate .gitignoresbogdanvlviv2018-02-171-2/+2
| | | | | | | | | | | | | | | | * Global ignores at toplevel .gitignore * Component-specific ignores in each toplevel directory * Remove `actionview/test/tmp/.keep` for JRuby ``` rm actionview/test/tmp/ -fr cd actionview/ bundle exec jruby -Itest test/template/digestor_test.rb ``` Related to #11743, #30392. Closes #29978.
* Rails 6 requires Ruby 2.3+Jeremy Daer2018-02-174-16/+4
|
* Remove support to Ruby 2.2Rafael Mendonça França2018-02-161-1/+1
| | | | Rails 6 will only support Ruby >= 2.3.
* Start Rails 6.0 development!!!Rafael Mendonça França2018-01-303-36/+5
| | | | :tada::tada::tada:
* Use assert_empty and assert_not_emptyDaniel Colson2018-01-251-3/+3
|
* Use assert_predicate and assert_not_predicateDaniel Colson2018-01-256-13/+13
|
* Change refute to assert_notDaniel Colson2018-01-251-1/+1
|
* Merge pull request #31732 from ↵Matthew Draper2018-01-191-1/+1
|\ | | | | | | | | koic/enable_autocorrect_for_lint_end_alignment_cop Enable autocorrect for `Lint/EndAlignment` cop
| * Enable autocorrect for `Lint/EndAlignment` copKoichi ITO2018-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ### Summary This PR changes .rubocop.yml. Regarding the code using `if ... else ... end`, I think the coding style that Rails expects is as follows. ```ruby var = if cond a else b end ``` However, the current .rubocop.yml setting does not offense for the following code. ```ruby var = if cond a else b end ``` I think that the above code expects offense to be warned. Moreover, the layout by autocorrect is unnatural. ```ruby var = if cond a else b end ``` This PR adds a setting to .rubocop.yml to make an offense warning and autocorrect as expected by the coding style. And this change also fixes `case ... when ... end` together. Also this PR itself is an example that arranges the layout using `rubocop -a`. ### Other Information Autocorrect of `Lint/EndAlignment` cop is `false` by default. https://github.com/bbatsov/rubocop/blob/v0.51.0/config/default.yml#L1443 This PR changes this value to `true`. Also this PR has changed it together as it is necessary to enable `Layout/ElseAlignment` cop to make this behavior.
* | Testing actioncable against websocket-driver 0.7.0 (#30711)Jared Beck2018-01-181-1/+1
|/ | | | * Depend on websocket-driver >= 0.6.1
* PostgreSQL: Allow pg-1.0 gem to be used with ActiveRecordLars Kanis2018-01-101-1/+1
| | | | | | | | | | | | | | pg-1.0.0 is just released and most Gemfiles don't restrict it's version. But the version is checked when connecting to the database, which leads to the following error: Gem::LoadError: can't activate pg (~> 0.18), already activated pg-1.0.0 See also this pg issue: https://bitbucket.org/ged/ruby-pg/issues/270/pg-100-x64-mingw32-rails-server-not-start Preparation for pg-1.0 was done in commit f28a331023fab, but the pg version constraint was not yet relaxed.
* Bump license years for 2018Yoshiyuki Hirano2017-12-312-2/+2
|
* Preparing for 5.2.0.beta2 releaseRafael Mendonça França2017-11-283-2/+7
|
* Fix typos and add a few suggestionsFatos Morina2017-11-281-1/+1
|
* Preparing for 5.2.0.beta1 releaseRafael Mendonça França2017-11-273-2/+4
|
* Fix unstable test test_delegate_socket_errors_to_on_error_handlerFumiaki MATSUSHIMA2017-11-231-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I often face the following error when running test/connection/client_socket_test.rb: ``` $ bin/test test/connection/client_socket_test.rb:38 Run options: --seed 44035 # Running: F Failure: ActionCable::Connection::ClientSocketTest#test_delegate_socket_errors_to_on_error_handler [/app/actioncable/test/connection/client_socket_test.rb:47]: --- expected +++ actual @@ -1 +1 @@ -["foo"] +["Broken pipe", "Broken pipe", "Broken pipe", "foo"] ``` It can be reproduced easily by applying the following patch: ``` diff --git a/actioncable/test/connection/client_socket_test.rb b/actioncable/test/connection/client_socket_test.rb index 2051216010..6bb9f13ea7 100644 --- a/actioncable/test/connection/client_socket_test.rb +++ b/actioncable/test/connection/client_socket_test.rb @@ -34,7 +34,8 @@ def on_error(message) @server.config.allowed_request_origins = %w( http://rubyonrails.com ) end - test "delegate socket errors to on_error handler" do + 1000.times do |i| + test "delegate socket errors to on_error handler #{i}" do run_in_eventmachine do connection = open_connection @@ -47,6 +48,7 @@ def on_error(message) assert_equal %w[ foo ], connection.errors end end + end test "closes hijacked i/o socket at shutdown" do run_in_eventmachine do ``` The cause is writing io from different thread at the same time. `connection.process` sends handshake message from [StreamEventLoop's thread][] whereas `connection.handle_open` sends welcome message from current thread. [StreamEventLoop's thread]: https://github.com/rails/rails/blob/067fc779c4560fff4812614a2f78f9248f3e55f8/actioncable/lib/action_cable/connection/stream_event_loop.rb#L75
* Use .tt extension to all the template filesRafael Mendonça França2017-11-136-0/+0
| | | | | | | | Make clear that the files are not to be run for interpreters. Fixes #23847. Fixes #30690. Closes #23878.
* Action Cable: run Redis tests against a default config without a passwordJeremy Daer2017-11-131-2/+21
| | | | | | | | Simplify our dev testing and CI story since we're also testing against Redis for the Active Support cache store. Directly test whether db, host, password, etc are passed through as config instead of spinning up a Redis server with a password set on it.
* Enable `Style/RedundantReturn` rubocop rule, and fixed a couple moreRyuta Kamizono2017-11-011-1/+1
| | | | Follow up of #31004.
* Remove CHANGELOG entry that was backported to Rails 5.1.3. [ci skip] (#30986)प्रथमेश Sonpatki2017-10-251-7/+0
| | | - Backport commit: https://github.com/rails/rails/commit/7122a2cdc3634e170129f8b6cabd1e8fbed13c3d
* Removed deprected evented redis adapterRafael Mendonça França2017-10-234-151/+5
|
* [Action Cable] require_relative => requireAkira Matsuda2017-10-213-3/+3
| | | | This basically reverts f851e1f705f26d8f92f0fc1b265b20bc389d23cb
* Merge pull request #30748 from jeremy/redis-rb-4.0.1Jeremy Daer2017-10-083-3/+7
|\ | | | | redis-rb 4.0 support
| * redis-rb 4.0 supportJeremy Daer2017-10-083-3/+7
| | | | | | | | | | | | | | | | * Use `gem 'redis', '~> 4.0'` for new app Gemfiles * Loosen Action Cable redis-rb dep to `>= 3.3, < 5` * Bump redis-namespace for looser Redis version dep * Avoid using the underlying `redis.client` directly * Use `Redis.new` instead of `Redis.connect`
* | Distinguish missing adapter gems from load errors within the adapterJeremy Daer2017-10-081-3/+16
|/ | | | | | | | * When the adapter is missing, raise an exception that points out config typos and missing Gemfile entries. (We can assume that a non-builtin adapter was used since these are always available.) * When loading an adapter raises a LoadError, prefix its error message to indicate that the adapter is likely missing an optional dependency.
* ActionCable: use find method when unsubscribingRichard Machielse2017-09-261-1/+1
| | | | | | | | | | If a frontend for some reason tries to unsubscribe from a non existing subscription, the following error is logged: Could not execute command from ({"command"=>"unsubscribe", "identifier"=>"{\"channel\":\"SomeChannel\"}"}) [NoMethodError - undefined method `unsubscribe_from_channel' for nil:NilClass] Instead, it will now properly log: Could not execute command from ({"command"=>"unsubscribe", "identifier"=>"{\"channel\":\"SomeChannel\"}"}) [RuntimeError - Unable to find subscription with identifier: {"channel":"SomeChannel"}]
* Fix quotes [ci skip]Yauheni Dakuka2017-09-181-2/+2
|
* Clarify intentions around method redefinitionsMatthew Draper2017-09-011-0/+2
| | | | | | | | | Don't use remove_method or remove_possible_method just before a new definition: at best the purpose is unclear, and at worst it creates a race condition. Instead, prefer redefine_method when practical, and silence_redefinition_of_method otherwise.
* Use typewriter in doc for Action Cable [ci skip]Yoshiyuki Hirano2017-08-261-1/+1
|
* Update MIT licenses link [ci skip]Yoshiyuki Hirano2017-08-221-1/+1
|
* Attributes are protected, not private, to avoid the warningMatthew Draper2017-08-201-1/+2
|
* Capitalize RedisJon Moss2017-08-171-1/+1
| | | | [ci skip]
* Fix RuboCop offensesKoichi ITO2017-08-161-1/+1
| | | | And enable `context_dependent` of Style/BracesAroundHashParameters cop.
* Remove unused `close_connection` in Action Cable tests (#30195)Ryuta Kamizono2017-08-112-8/+0
|
* [ci skip] Prefer cookies.encrypted over signed (#30129)Claudio B2017-08-072-2/+2
| | | | | | | | | | | | | | | | In some examples and guides we are recommending to use code like: ```ruby verified_user = User.find_by(id: cookies.signed[:user_id]) ``` My suggestion is to use instead: ```ruby verified_user = User.find_by(id: cookies.encrypted[:user_id]) ``` which invites users to prefer the "newer" encrypted cookies over the "legacy" signed cookies.
* Lint actioncable/CHANGELOG.mdJon Moss2017-08-061-3/+3
| | | | | | | Postgres --> PostgreSQL ActionCable --> Action Cable [ci skip]
* Use frozen string literal in actioncable/Kir Shatrov2017-07-2380-1/+158
|
* Make actioncable ready for frozen stringsKir Shatrov2017-07-231-1/+5
|
* Fix postgresql adapter setup for ActionCable testspalkan2017-07-111-1/+1
| | | | | (cherry picked from commit e2093c1f678175bde7c37c848686d979427346e1) (cherry picked from commit d7dbe48273bd9e0adb1de5b52e3cdaeb4a65630b)
* [Fix #28751] Hash stream long stream identifiers when using Postgres adapterpalkan2017-07-063-3/+31
|
* Merge branch 'master' into require_relative_2017Xavier Noria2017-07-021-13/+3
|\
| * Remove redundant `assert_respond_to`Ryuta Kamizono2017-07-031-13/+3
| | | | | | | | It is covered by following assertion.
| * Revert "Merge pull request #29540 from kirs/rubocop-frozen-string"Matthew Draper2017-07-0280-80/+0
| | | | | | | | | | This reverts commit 3420a14590c0e6915d8b6c242887f74adb4120f9, reversing changes made to afb66a5a598ce4ac74ad84b125a5abf046dcf5aa.
| * Enforce frozen string in RubocopKir Shatrov2017-07-0180-0/+80
| |
* | [Action Cable] require => require_relativeAkira Matsuda2017-07-013-3/+3
|/
* Merge pull request #29588 from greysteil/add-gemspec-linksRafael França2017-06-281-0/+5
|\ | | | | Add source code and changelog links to gemspecs
| * Add source code and changelog links to gemspecsGrey Baker2017-06-281-0/+5
| |
* | Adds CHANGELOG for f55ecc6 [ci skip]Marc Rendl Ignacio2017-06-271-0/+9
| |
* | Allows for other common redis options to be in cable.yml, by defaultMarc Ignacio2017-06-223-3/+13
|/ | | | | | | | | | | | | | | | | | - Adds RedisAdapterTest::AlternateConfiguration to account for a relatively common alternative setup, as it’s used as the first example in the [Redis rubygem](https://github.com/redis/redis-rb#getting-started) - Supplies original RedisAdapterTest with more complete redis:// url format by adding a ‘userinfo’ (blank user), so that it resembles the alternate configuration - Supplies original EventedRedisAdapterTest with more complete redis:// url as well - Adds before_script to start redis-server with password as a daemon and with explicit defaults copied from the default redis.conf (Instead of using Travis' default init/upstart scripts for `redis` service)