actioncable 6.1.7.8 → 7.0.8.6

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.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +86 -67
  3. data/README.md +1 -1
  4. data/app/assets/javascripts/action_cable.js +211 -295
  5. data/app/assets/javascripts/actioncable.esm.js +491 -0
  6. data/app/assets/javascripts/actioncable.js +489 -0
  7. data/lib/action_cable/channel/base.rb +1 -1
  8. data/lib/action_cable/channel/broadcasting.rb +1 -1
  9. data/lib/action_cable/channel/naming.rb +1 -1
  10. data/lib/action_cable/channel/streams.rb +5 -7
  11. data/lib/action_cable/channel/test_case.rb +16 -1
  12. data/lib/action_cable/connection/base.rb +5 -5
  13. data/lib/action_cable/connection/identification.rb +1 -1
  14. data/lib/action_cable/connection/subscriptions.rb +1 -1
  15. data/lib/action_cable/connection/tagged_logger_proxy.rb +3 -3
  16. data/lib/action_cable/connection/test_case.rb +1 -1
  17. data/lib/action_cable/engine.rb +10 -1
  18. data/lib/action_cable/gem_version.rb +5 -5
  19. data/lib/action_cable/helpers/action_cable_helper.rb +3 -2
  20. data/lib/action_cable/server/configuration.rb +1 -0
  21. data/lib/action_cable/server/worker/active_record_connection_management.rb +2 -2
  22. data/lib/action_cable/server/worker.rb +3 -4
  23. data/lib/action_cable/subscription_adapter/postgresql.rb +2 -2
  24. data/lib/action_cable/subscription_adapter/redis.rb +98 -22
  25. data/lib/action_cable/subscription_adapter/test.rb +1 -1
  26. data/lib/action_cable/test_helper.rb +2 -2
  27. data/lib/action_cable/version.rb +1 -1
  28. data/lib/rails/generators/channel/USAGE +1 -1
  29. data/lib/rails/generators/channel/channel_generator.rb +79 -20
  30. data/lib/rails/generators/channel/templates/javascript/index.js.tt +1 -5
  31. metadata +18 -16
  32. /data/lib/rails/generators/channel/templates/application_cable/{channel.rb.tt → channel.rb} +0 -0
  33. /data/lib/rails/generators/channel/templates/application_cable/{connection.rb.tt → connection.rb} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '085910e6c5f03fb55de7ea0e38f6c9a792aa4f661b67657212bd80223c2361df'
4
- data.tar.gz: 4d08e4bcffe120ad744f106253aead54a0591bdec24fab8b0e5383ccf9e99d56
3
+ metadata.gz: a13038733b51f6687ee76e037bdbe9563c04facd3ab8d245b7770a4d3fe593b6
4
+ data.tar.gz: a83a614bf1d839ab6206a0fc639956b1e9f124e0274f5e10e90b1d588f923f90
5
5
  SHA512:
6
- metadata.gz: b128db1abb3d261ac6d828b9d5c4f632d9b5283638d349cdb11a153f05bb031c61ef4c78a29598eba42b27a19a5bdaa07f72fc0859056c539266c6d5f82064eb
7
- data.tar.gz: 253d067d131128ac208dd437d77825f1592600db036519440dbab340f59ab473e60d93369ed313bb6248334f970933fd6a4194eb862d34edac8487d4ebe5b1ac
6
+ metadata.gz: a5a7dfc3e3d01560f8c0fe8c9b068cf82465521edb8bb8058ec2c64e7249665f02893850bb73fc769a8d23892bc90050fad64d612e055a6329254edb5803d1a3
7
+ data.tar.gz: 81940860ad410356f4cbc930ec0c25454c2b21ba471b2a5c4df5294627a72dbb4d365fc3e63a5ce53b13b4712c3e68e9fbbc4164b9a694f13a9e5267c19da579
data/CHANGELOG.md CHANGED
@@ -1,190 +1,209 @@
1
- ## Rails 6.1.7.8 (June 04, 2024) ##
1
+ ## Rails 7.0.8.6 (October 23, 2024) ##
2
2
 
3
3
  * No changes.
4
4
 
5
5
 
6
- ## Rails 6.1.7.7 (February 21, 2024) ##
6
+ ## Rails 7.0.8.5 (October 15, 2024) ##
7
7
 
8
8
  * No changes.
9
9
 
10
10
 
11
- ## Rails 6.1.7.6 (August 22, 2023) ##
11
+ ## Rails 7.0.8.4 (June 04, 2024) ##
12
12
 
13
13
  * No changes.
14
14
 
15
15
 
16
- ## Rails 6.1.7.5 (August 22, 2023) ##
16
+ ## Rails 7.0.8.3 (May 17, 2024) ##
17
17
 
18
18
  * No changes.
19
19
 
20
20
 
21
- ## Rails 6.1.7.4 (June 26, 2023) ##
21
+ ## Rails 7.0.8.2 (May 16, 2024) ##
22
22
 
23
23
  * No changes.
24
24
 
25
25
 
26
- ## Rails 6.1.7.3 (March 13, 2023) ##
26
+ ## Rails 7.0.8.1 (February 21, 2024) ##
27
27
 
28
28
  * No changes.
29
29
 
30
30
 
31
- ## Rails 6.1.7.2 (January 24, 2023) ##
31
+ ## Rails 7.0.8 (September 09, 2023) ##
32
32
 
33
33
  * No changes.
34
34
 
35
35
 
36
- ## Rails 6.1.7.1 (January 17, 2023) ##
36
+ ## Rails 7.0.7.2 (August 22, 2023) ##
37
37
 
38
38
  * No changes.
39
39
 
40
40
 
41
- ## Rails 6.1.7 (September 09, 2022) ##
41
+ ## Rails 7.0.7.1 (August 22, 2023) ##
42
42
 
43
43
  * No changes.
44
44
 
45
45
 
46
- ## Rails 6.1.6.1 (July 12, 2022) ##
46
+ ## Rails 7.0.7 (August 09, 2023) ##
47
47
 
48
48
  * No changes.
49
49
 
50
50
 
51
- ## Rails 6.1.6 (May 09, 2022) ##
51
+ ## Rails 7.0.6 (June 29, 2023) ##
52
52
 
53
- * No changes.
53
+ * Fix Action Cable Redis configuration with sentinels.
54
+
55
+ *Dmitriy Ivliev*
54
56
 
55
57
 
56
- ## Rails 6.1.5.1 (April 26, 2022) ##
58
+ ## Rails 7.0.5.1 (June 26, 2023) ##
57
59
 
58
60
  * No changes.
59
61
 
60
62
 
61
- ## Rails 6.1.5 (March 09, 2022) ##
63
+ ## Rails 7.0.5 (May 24, 2023) ##
62
64
 
63
- * The Action Cable client now ensures successful channel subscriptions:
65
+ * Restore Action Cable Redis pub/sub listener on connection failure.
64
66
 
65
- * The client maintains a set of pending subscriptions until either
66
- the server confirms the subscription or the channel is torn down.
67
- * Rectifies the race condition where an unsubscribe is rapidly followed
68
- by a subscribe (on the same channel identifier) and the requests are
69
- handled out of order by the ActionCable server, thereby ignoring the
70
- subscribe command.
67
+ *Vladimir Dementyev*
71
68
 
72
- *Daniel Spinosa*
73
69
 
74
- * Truncate broadcast logging messages.
70
+ ## Rails 7.0.4.3 (March 13, 2023) ##
75
71
 
76
- *J Smith*
72
+ * No changes.
77
73
 
78
74
 
79
- ## Rails 6.1.4.7 (March 08, 2022) ##
75
+ ## Rails 7.0.4.2 (January 24, 2023) ##
80
76
 
81
77
  * No changes.
82
78
 
83
79
 
84
- ## Rails 6.1.4.6 (February 11, 2022) ##
80
+ ## Rails 7.0.4.1 (January 17, 2023) ##
85
81
 
86
82
  * No changes.
87
83
 
88
84
 
89
- ## Rails 6.1.4.5 (February 11, 2022) ##
85
+ ## Rails 7.0.4 (September 09, 2022) ##
90
86
 
91
- * No changes.
87
+ * The Redis adapter is now compatible with redis-rb 5.0
92
88
 
89
+ Compatibility with redis-rb 3.x was dropped.
93
90
 
94
- ## Rails 6.1.4.4 (December 15, 2021) ##
91
+ *Jean Boussier*
95
92
 
96
- * No changes.
93
+ * The Action Cable server is now mounted with `anchor: true`.
94
+
95
+ This means that routes that also start with `/cable` will no longer clash with Action Cable.
97
96
 
97
+ *Alex Ghiculescu*
98
98
 
99
- ## Rails 6.1.4.3 (December 14, 2021) ##
99
+
100
+ ## Rails 7.0.3.1 (July 12, 2022) ##
100
101
 
101
102
  * No changes.
102
103
 
103
104
 
104
- ## Rails 6.1.4.2 (December 14, 2021) ##
105
+ ## Rails 7.0.3 (May 09, 2022) ##
105
106
 
106
107
  * No changes.
107
108
 
108
109
 
109
- ## Rails 6.1.4.1 (August 19, 2021) ##
110
+ ## Rails 7.0.2.4 (April 26, 2022) ##
110
111
 
111
112
  * No changes.
112
113
 
113
114
 
114
- ## Rails 6.1.4 (June 24, 2021) ##
115
+ ## Rails 7.0.2.3 (March 08, 2022) ##
116
+
117
+ * No changes.
115
118
 
116
- * Fix `ArgumentError` with ruby 3.0 on `RemoteConnection#disconnect`.
117
119
 
118
- *Vladislav*
120
+ ## Rails 7.0.2.2 (February 11, 2022) ##
121
+
122
+ * No changes.
119
123
 
120
124
 
121
- ## Rails 6.1.3.2 (May 05, 2021) ##
125
+ ## Rails 7.0.2.1 (February 11, 2022) ##
122
126
 
123
127
  * No changes.
124
128
 
125
129
 
126
- ## Rails 6.1.3.1 (March 26, 2021) ##
130
+ ## Rails 7.0.2 (February 08, 2022) ##
127
131
 
128
132
  * No changes.
129
133
 
130
134
 
131
- ## Rails 6.1.3 (February 17, 2021) ##
135
+ ## Rails 7.0.1 (January 06, 2022) ##
132
136
 
133
137
  * No changes.
134
138
 
135
139
 
136
- ## Rails 6.1.2.1 (February 10, 2021) ##
140
+ ## Rails 7.0.0 (December 15, 2021) ##
137
141
 
138
142
  * No changes.
139
143
 
140
144
 
141
- ## Rails 6.1.2 (February 09, 2021) ##
145
+ ## Rails 7.0.0.rc3 (December 14, 2021) ##
142
146
 
143
147
  * No changes.
144
148
 
145
149
 
146
- ## Rails 6.1.1 (January 07, 2021) ##
150
+ ## Rails 7.0.0.rc2 (December 14, 2021) ##
147
151
 
148
152
  * No changes.
149
153
 
154
+ ## Rails 7.0.0.rc1 (December 06, 2021) ##
150
155
 
151
- ## Rails 6.1.0 (December 09, 2020) ##
156
+ * The Action Cable client now ensures successful channel subscriptions:
152
157
 
153
- * `ActionCable::Connection::Base` now allows intercepting unhandled exceptions
154
- with `rescue_from` before they are logged, which is useful for error reporting
155
- tools and other integrations.
158
+ * The client maintains a set of pending subscriptions until either
159
+ the server confirms the subscription or the channel is torn down.
160
+ * Rectifies the race condition where an unsubscribe is rapidly followed
161
+ by a subscribe (on the same channel identifier) and the requests are
162
+ handled out of order by the ActionCable server, thereby ignoring the
163
+ subscribe command.
156
164
 
157
- *Justin Talbott*
165
+ *Daniel Spinosa*
158
166
 
159
- * Add `ActionCable::Channel#stream_or_reject_for` to stream if record is present, otherwise reject the connection
160
167
 
161
- *Atul Bhosale*
168
+ ## Rails 7.0.0.alpha2 (September 15, 2021) ##
162
169
 
163
- * Add `ActionCable::Channel#stop_stream_from` and `#stop_stream_for` to unsubscribe from a specific stream.
170
+ * No changes.
164
171
 
165
- *Zhang Kang*
166
172
 
167
- * Add PostgreSQL subscription connection identificator.
173
+ ## Rails 7.0.0.alpha1 (September 15, 2021) ##
168
174
 
169
- Now you can distinguish Action Cable PostgreSQL subscription connections among others.
170
- Also, you can set custom `id` in `cable.yml` configuration.
175
+ * Compile ESM package that can be used directly in the browser as actioncable.esm.js.
171
176
 
172
- ```sql
173
- SELECT application_name FROM pg_stat_activity;
174
- /*
175
- application_name
176
- ------------------------
177
- psql
178
- ActionCable-PID-42
179
- (2 rows)
180
- */
181
- ```
177
+ *DHH*
182
178
 
183
- *Sergey Ponomarev*
179
+ * Move action_cable.js to actioncable.js to match naming convention used for other Rails frameworks, and use JS console to communicate the deprecation.
184
180
 
185
- * Subscription confirmations and rejections are now logged at the `DEBUG` level instead of `INFO`.
181
+ *DHH*
182
+
183
+ * Stop transpiling the UMD package generated as actioncable.js and drop the IE11 testing that relied on that.
186
184
 
187
185
  *DHH*
188
186
 
187
+ * Truncate broadcast logging messages.
188
+
189
+ *J Smith*
190
+
191
+ * OpenSSL constants are now used for Digest computations.
192
+
193
+ *Dirkjan Bussink*
194
+
195
+ * The Action Cable client now includes safeguards to prevent a "thundering
196
+ herd" of client reconnects after server connectivity loss:
197
+
198
+ * The client will wait a random amount between 1x and 3x of the stale
199
+ threshold after the server's last ping before making the first
200
+ reconnection attempt.
201
+ * Subsequent reconnection attempts now use exponential backoff instead of
202
+ logarithmic backoff. To allow the delay between reconnection attempts to
203
+ increase slowly at first, the default exponentiation base is < 2.
204
+ * Random jitter is applied to each delay between reconnection attempts.
205
+
206
+ *Jonathan Hefner*
207
+
189
208
 
190
- Please check [6-0-stable](https://github.com/rails/rails/blob/6-0-stable/actioncable/CHANGELOG.md) for previous changes.
209
+ Please check [6-1-stable](https://github.com/rails/rails/blob/6-1-stable/actioncable/CHANGELOG.md) for previous changes.
data/README.md CHANGED
@@ -15,7 +15,7 @@ API documentation is at:
15
15
 
16
16
  * https://api.rubyonrails.org
17
17
 
18
- Bug reports for the Ruby on Rails project can be filed here:
18
+ Bug reports for the Ruby on \Rails project can be filed here:
19
19
 
20
20
  * https://github.com/rails/rails/issues
21
21