actioncable 8.1.3.1 → 8.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -0
- data/lib/action_cable/channel/base.rb +1 -0
- data/lib/action_cable/connection/test_case.rb +1 -1
- data/lib/action_cable/gem_version.rb +2 -2
- data/lib/action_cable/server/base.rb +1 -0
- data/lib/action_cable/subscription_adapter/postgresql.rb +7 -1
- data/lib/action_cable/subscription_adapter/redis.rb +1 -1
- data/lib/action_cable.rb +4 -1
- metadata +9 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9e479761f7cd2d502b516e38bf0a3472e455adee7ab677bddd132b7fa3baebd7
|
|
4
|
+
data.tar.gz: 1eed2457c040797436ccd9142ff19142d88bf618d795c2f3f89783534567bc41
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 27e3d0ba173e32b6b73fa614b7c5914af51dd7dbd61db770834c223b2f0d2d080c4e7d2022c8deccbd967db03a69d7a15ff7c2039ff283c8a3f8e1cbe9c0c6c5
|
|
7
|
+
data.tar.gz: 0e4652232b9947953f7afc56ca79d6c56eb830362d41dc824371b91c05b3ff39962f421d9844b9708667b696be3a68dd9460ed3ae7ec645662e0877edc3e84cd
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
## Rails 8.1.4 (September 24, 2026) ##
|
|
2
|
+
|
|
3
|
+
* Allow `redis-rb` 6 in the Action Cable Redis subscription adapter.
|
|
4
|
+
|
|
5
|
+
*Shuta Mugikura*
|
|
6
|
+
|
|
7
|
+
* Fix the PostgreSQL subscription adapter dropping broadcasts to long multibyte stream names.
|
|
8
|
+
|
|
9
|
+
PostgreSQL identifiers are limited to 63 *bytes*, and the adapter hashes any
|
|
10
|
+
name over that limit to avoid silent truncation. The length check was done on
|
|
11
|
+
character count rather than byte size, so a multibyte stream name with 63 or
|
|
12
|
+
fewer characters but more than 63 bytes was silently truncated by PostgreSQL.
|
|
13
|
+
|
|
14
|
+
*Kenta Ishizaki*
|
|
15
|
+
|
|
16
|
+
|
|
1
17
|
## Rails 8.1.3.1 (July 29, 2026) ##
|
|
2
18
|
|
|
3
19
|
* No changes.
|
|
@@ -128,7 +128,7 @@ module ActionCable
|
|
|
128
128
|
# ## Connection is automatically inferred
|
|
129
129
|
#
|
|
130
130
|
# ActionCable::Connection::TestCase will automatically infer the connection
|
|
131
|
-
# under test from the test class name. If the
|
|
131
|
+
# under test from the test class name. If the connection cannot be inferred from
|
|
132
132
|
# the test class name, you can explicitly set it with `tests`.
|
|
133
133
|
#
|
|
134
134
|
# class ConnectionTest < ActionCable::Connection::TestCase
|
|
@@ -58,7 +58,13 @@ module ActionCable
|
|
|
58
58
|
|
|
59
59
|
private
|
|
60
60
|
def channel_identifier(channel)
|
|
61
|
-
|
|
61
|
+
# PostgreSQL identifiers are limited to NAMEDATALEN-1 (63) *bytes*, not
|
|
62
|
+
# characters, and are silently truncated past that. Truncation makes the
|
|
63
|
+
# name we LISTEN/subscribe under differ from the one wait_for_notify hands
|
|
64
|
+
# back, so notifications would miss their subscribers. Hash on byte length
|
|
65
|
+
# so multibyte channel names that exceed the limit stay within it.
|
|
66
|
+
# See https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS
|
|
67
|
+
channel.bytesize > 63 ? OpenSSL::Digest::SHA1.hexdigest(channel) : channel
|
|
62
68
|
end
|
|
63
69
|
|
|
64
70
|
def listener
|
data/lib/action_cable.rb
CHANGED
|
@@ -41,7 +41,10 @@ Zeitwerk::Loader.for_gem.tap do |loader|
|
|
|
41
41
|
)
|
|
42
42
|
|
|
43
43
|
loader.do_not_eager_load(
|
|
44
|
-
|
|
44
|
+
# These adapters trigger optional dependencies so they are required and loaded on demand.
|
|
45
|
+
"#{lib}/action_cable/subscription_adapter/redis.rb",
|
|
46
|
+
"#{lib}/action_cable/subscription_adapter/postgresql.rb",
|
|
47
|
+
|
|
45
48
|
"#{lib}/action_cable/test_helper.rb",
|
|
46
49
|
Dir["#{lib}/action_cable/**/test_case.rb"]
|
|
47
50
|
)
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: actioncable
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 8.1.
|
|
4
|
+
version: 8.1.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Pratik Naik
|
|
@@ -16,28 +16,28 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - '='
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 8.1.
|
|
19
|
+
version: 8.1.4
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - '='
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: 8.1.
|
|
26
|
+
version: 8.1.4
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: actionpack
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - '='
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 8.1.
|
|
33
|
+
version: 8.1.4
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - '='
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: 8.1.
|
|
40
|
+
version: 8.1.4
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: nio4r
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -153,10 +153,10 @@ licenses:
|
|
|
153
153
|
- MIT
|
|
154
154
|
metadata:
|
|
155
155
|
bug_tracker_uri: https://github.com/rails/rails/issues
|
|
156
|
-
changelog_uri: https://github.com/rails/rails/blob/v8.1.
|
|
157
|
-
documentation_uri: https://api.rubyonrails.org/v8.1.
|
|
156
|
+
changelog_uri: https://github.com/rails/rails/blob/v8.1.4/actioncable/CHANGELOG.md
|
|
157
|
+
documentation_uri: https://api.rubyonrails.org/v8.1.4/
|
|
158
158
|
mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
|
|
159
|
-
source_code_uri: https://github.com/rails/rails/tree/v8.1.
|
|
159
|
+
source_code_uri: https://github.com/rails/rails/tree/v8.1.4/actioncable
|
|
160
160
|
rubygems_mfa_required: 'true'
|
|
161
161
|
rdoc_options: []
|
|
162
162
|
require_paths:
|
|
@@ -172,7 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
172
172
|
- !ruby/object:Gem::Version
|
|
173
173
|
version: '0'
|
|
174
174
|
requirements: []
|
|
175
|
-
rubygems_version: 4.0.
|
|
175
|
+
rubygems_version: 4.0.20
|
|
176
176
|
specification_version: 4
|
|
177
177
|
summary: WebSocket framework for Rails.
|
|
178
178
|
test_files: []
|