actioncable 7.2.0 → 8.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 13c843acbcc96b9b20aebff5488a803a20d223f403f33a214c8afa4380788793
4
- data.tar.gz: e01839c8f7f0e2101fe66eb0446b467cc848a3595c5ac880c2acdad1d55e851c
3
+ metadata.gz: 8fbb636a677c963849f247b80e4b42f86c89925d34e326ddb0ec53745433e7ea
4
+ data.tar.gz: 7dc0e29e27c83651f099d3f3c2f2561ca2e01c37f9d543c9dbf258425576eb5f
5
5
  SHA512:
6
- metadata.gz: cb139234f65e1ac26422410fae3c80eb9407aa3772485b86e2c7039cab0b3c4f82696eb309da585aa345529a74c204ad482739e6b41896fe7233bc4c9461b177
7
- data.tar.gz: fa3399e7f8cb497f86d2b5597a8732d9682e37a140f4c497fefa1b129eec19adf6fd874642f36ef65ff79a60465ba981803cc85b1f7471dce6766e9a05d54061
6
+ metadata.gz: 2f771d4a87f7f3a599e36ce5f4f2648d6f312e4898b34d6709fd215fd64b65fa71b3ca768ef530069926c3aee88d32b15dffc323dff1fef13c2488ef1cbca83d
7
+ data.tar.gz: 7778ccb1dc1f864ec5b15d138f040e687d5d6efde6acbef35e45031338b83efcafbe33eed6ae8dcc17664825c42bda692e646c1ef4036f2f14bc040acc7f9b0c
data/CHANGELOG.md CHANGED
@@ -1,43 +1,7 @@
1
- ## Rails 7.2.0 (August 09, 2024) ##
1
+ ## Rails 8.0.0.beta1 (September 26, 2024) ##
2
2
 
3
- * Bring `ActionCable::Connection::TestCookieJar` in alignment with `ActionDispatch::Cookies::CookieJar` in regards to setting the cookie value.
3
+ * Add an `identifier` to the event payload for the ActiveSupport::Notification `transmit_subscription_confirmation.action_cable` and `transmit_subscription_rejection.action_cable`.
4
4
 
5
- Before:
5
+ *Keith Schacht*
6
6
 
7
- ```ruby
8
- cookies[:foo] = { value: "bar" }
9
- puts cookies[:foo] # => { value: "bar" }
10
- ```
11
-
12
- After:
13
-
14
- ```ruby
15
- cookies[:foo] = { value: "bar" }
16
- puts cookies[:foo] # => "bar"
17
- ```
18
-
19
- *Justin Ko*
20
-
21
- * Record ping on every Action Cable message.
22
-
23
- Previously only `ping` and `welcome` message types were keeping the connection active.
24
- Now every Action Cable message updates the `pingedAt` value, preventing the connection
25
- from being marked as stale.
26
-
27
- *yauhenininjia*
28
-
29
- * Add two new assertion methods for Action Cable test cases: `assert_has_no_stream`
30
- and `assert_has_no_stream_for`.
31
-
32
- These methods can be used to assert that a stream has been stopped, e.g. via
33
- `stop_stream` or `stop_stream_for`. They complement the already existing
34
- `assert_has_stream` and `assert_has_stream_for` methods.
35
-
36
- ```ruby
37
- assert_has_no_stream "messages"
38
- assert_has_no_stream_for User.find(42)
39
- ```
40
-
41
- *Sebastian Pöll*, *Junichi Sato*
42
-
43
- Please check [7-1-stable](https://github.com/rails/rails/blob/7-1-stable/actioncable/CHANGELOG.md) for previous changes.
7
+ Please check [7-2-stable](https://github.com/rails/rails/blob/7-2-stable/actioncable/CHANGELOG.md) for previous changes.
@@ -309,7 +309,7 @@ module ActionCable
309
309
  unless subscription_confirmation_sent?
310
310
  logger.debug "#{self.class.name} is transmitting the subscription confirmation"
311
311
 
312
- ActiveSupport::Notifications.instrument("transmit_subscription_confirmation.action_cable", channel_class: self.class.name) do
312
+ ActiveSupport::Notifications.instrument("transmit_subscription_confirmation.action_cable", channel_class: self.class.name, identifier: @identifier) do
313
313
  connection.transmit identifier: @identifier, type: ActionCable::INTERNAL[:message_types][:confirmation]
314
314
  @subscription_confirmation_sent = true
315
315
  end
@@ -324,7 +324,7 @@ module ActionCable
324
324
  def transmit_subscription_rejection
325
325
  logger.debug "#{self.class.name} is transmitting the subscription rejection"
326
326
 
327
- ActiveSupport::Notifications.instrument("transmit_subscription_rejection.action_cable", channel_class: self.class.name) do
327
+ ActiveSupport::Notifications.instrument("transmit_subscription_rejection.action_cable", channel_class: self.class.name, identifier: @identifier) do
328
328
  connection.transmit identifier: @identifier, type: ActionCable::INTERNAL[:message_types][:rejection]
329
329
  end
330
330
  end
@@ -9,10 +9,10 @@ module ActionCable
9
9
  end
10
10
 
11
11
  module VERSION
12
- MAJOR = 7
13
- MINOR = 2
12
+ MAJOR = 8
13
+ MINOR = 0
14
14
  TINY = 0
15
- PRE = nil
15
+ PRE = "beta1"
16
16
 
17
17
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
18
18
  end
@@ -39,45 +39,44 @@ module ActionCable
39
39
  RemoteConnection.new(server, identifier)
40
40
  end
41
41
 
42
- private
43
- # # Action Cable Remote Connection
44
- #
45
- # Represents a single remote connection found via
46
- # `ActionCable.server.remote_connections.where(*)`. Exists solely for the
47
- # purpose of calling #disconnect on that connection.
48
- class RemoteConnection
49
- class InvalidIdentifiersError < StandardError; end
42
+ # # Action Cable Remote Connection
43
+ #
44
+ # Represents a single remote connection found via
45
+ # `ActionCable.server.remote_connections.where(*)`. Exists solely for the
46
+ # purpose of calling #disconnect on that connection.
47
+ class RemoteConnection
48
+ class InvalidIdentifiersError < StandardError; end
50
49
 
51
- include Connection::Identification, Connection::InternalChannel
50
+ include Connection::Identification, Connection::InternalChannel
52
51
 
53
- def initialize(server, ids)
54
- @server = server
55
- set_identifier_instance_vars(ids)
56
- end
52
+ def initialize(server, ids)
53
+ @server = server
54
+ set_identifier_instance_vars(ids)
55
+ end
57
56
 
58
- # Uses the internal channel to disconnect the connection.
59
- def disconnect(reconnect: true)
60
- server.broadcast internal_channel, { type: "disconnect", reconnect: reconnect }
61
- end
57
+ # Uses the internal channel to disconnect the connection.
58
+ def disconnect(reconnect: true)
59
+ server.broadcast internal_channel, { type: "disconnect", reconnect: reconnect }
60
+ end
62
61
 
63
- # Returns all the identifiers that were applied to this connection.
64
- redefine_method :identifiers do
65
- server.connection_identifiers
66
- end
62
+ # Returns all the identifiers that were applied to this connection.
63
+ redefine_method :identifiers do
64
+ server.connection_identifiers
65
+ end
67
66
 
68
- protected
69
- attr_reader :server
67
+ protected
68
+ attr_reader :server
70
69
 
71
- private
72
- def set_identifier_instance_vars(ids)
73
- raise InvalidIdentifiersError unless valid_identifiers?(ids)
74
- ids.each { |k, v| instance_variable_set("@#{k}", v) }
75
- end
70
+ private
71
+ def set_identifier_instance_vars(ids)
72
+ raise InvalidIdentifiersError unless valid_identifiers?(ids)
73
+ ids.each { |k, v| instance_variable_set("@#{k}", v) }
74
+ end
76
75
 
77
- def valid_identifiers?(ids)
78
- keys = ids.keys
79
- identifiers.all? { |id| keys.include?(id) }
80
- end
81
- end
76
+ def valid_identifiers?(ids)
77
+ keys = ids.keys
78
+ identifiers.all? { |id| keys.include?(id) }
79
+ end
80
+ end
82
81
  end
83
82
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: actioncable
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.2.0
4
+ version: 8.0.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pratik Naik
8
8
  - David Heinemeier Hansson
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-08-09 00:00:00.000000000 Z
12
+ date: 2024-09-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -17,28 +17,28 @@ dependencies:
17
17
  requirements:
18
18
  - - '='
19
19
  - !ruby/object:Gem::Version
20
- version: 7.2.0
20
+ version: 8.0.0.beta1
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - '='
26
26
  - !ruby/object:Gem::Version
27
- version: 7.2.0
27
+ version: 8.0.0.beta1
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: actionpack
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - '='
33
33
  - !ruby/object:Gem::Version
34
- version: 7.2.0
34
+ version: 8.0.0.beta1
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - '='
40
40
  - !ruby/object:Gem::Version
41
- version: 7.2.0
41
+ version: 8.0.0.beta1
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: nio4r
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -154,12 +154,12 @@ licenses:
154
154
  - MIT
155
155
  metadata:
156
156
  bug_tracker_uri: https://github.com/rails/rails/issues
157
- changelog_uri: https://github.com/rails/rails/blob/v7.2.0/actioncable/CHANGELOG.md
158
- documentation_uri: https://api.rubyonrails.org/v7.2.0/
157
+ changelog_uri: https://github.com/rails/rails/blob/v8.0.0.beta1/actioncable/CHANGELOG.md
158
+ documentation_uri: https://api.rubyonrails.org/v8.0.0.beta1/
159
159
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
160
- source_code_uri: https://github.com/rails/rails/tree/v7.2.0/actioncable
160
+ source_code_uri: https://github.com/rails/rails/tree/v8.0.0.beta1/actioncable
161
161
  rubygems_mfa_required: 'true'
162
- post_install_message:
162
+ post_install_message:
163
163
  rdoc_options: []
164
164
  require_paths:
165
165
  - lib
@@ -167,15 +167,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
167
167
  requirements:
168
168
  - - ">="
169
169
  - !ruby/object:Gem::Version
170
- version: 3.1.0
170
+ version: 3.2.0
171
171
  required_rubygems_version: !ruby/object:Gem::Requirement
172
172
  requirements:
173
173
  - - ">="
174
174
  - !ruby/object:Gem::Version
175
175
  version: '0'
176
176
  requirements: []
177
- rubygems_version: 3.5.11
178
- signing_key:
177
+ rubygems_version: 3.5.16
178
+ signing_key:
179
179
  specification_version: 4
180
180
  summary: WebSocket framework for Rails.
181
181
  test_files: []