actioncable 7.2.2 → 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: 7744f981d8c158901b28dc05c45bc68aa55fbfdacad10ad1415a876b68ec3e37
4
- data.tar.gz: faaf7ab8036f3d055d7c8e2585f7488294fd5d178d4f9874f3b8137ba01e3112
3
+ metadata.gz: 8fbb636a677c963849f247b80e4b42f86c89925d34e326ddb0ec53745433e7ea
4
+ data.tar.gz: 7dc0e29e27c83651f099d3f3c2f2561ca2e01c37f9d543c9dbf258425576eb5f
5
5
  SHA512:
6
- metadata.gz: b3dd811a71bf20ebbe7898b0ef56ba86427c37b34a9828b3a5f3f799ef1fe02dcedd758d7d0de8dadd86595b0b6fab35ddac8a307fbc17c7c890319536f2acb8
7
- data.tar.gz: 067e26b319010be7d03033fe3a7ebbeddd81555511868d9f21793cf5d0eaa8b664d77bb52b4a2321241cc546f444701e0dff259319da0bbc15d06b1d364f6ff2
6
+ metadata.gz: 2f771d4a87f7f3a599e36ce5f4f2648d6f312e4898b34d6709fd215fd64b65fa71b3ca768ef530069926c3aee88d32b15dffc323dff1fef13c2488ef1cbca83d
7
+ data.tar.gz: 7778ccb1dc1f864ec5b15d138f040e687d5d6efde6acbef35e45031338b83efcafbe33eed6ae8dcc17664825c42bda692e646c1ef4036f2f14bc040acc7f9b0c
data/CHANGELOG.md CHANGED
@@ -1,63 +1,7 @@
1
- ## Rails 7.2.2 (October 30, 2024) ##
1
+ ## Rails 8.0.0.beta1 (September 26, 2024) ##
2
2
 
3
- * No changes.
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
+ *Keith Schacht*
5
6
 
6
- ## Rails 7.2.1.2 (October 23, 2024) ##
7
-
8
- * No changes.
9
-
10
-
11
- ## Rails 7.2.1.1 (October 15, 2024) ##
12
-
13
- * No changes.
14
-
15
-
16
- ## Rails 7.2.1 (August 22, 2024) ##
17
-
18
- * No changes.
19
-
20
-
21
- ## Rails 7.2.0 (August 09, 2024) ##
22
-
23
- * Bring `ActionCable::Connection::TestCookieJar` in alignment with `ActionDispatch::Cookies::CookieJar` in regards to setting the cookie value.
24
-
25
- Before:
26
-
27
- ```ruby
28
- cookies[:foo] = { value: "bar" }
29
- puts cookies[:foo] # => { value: "bar" }
30
- ```
31
-
32
- After:
33
-
34
- ```ruby
35
- cookies[:foo] = { value: "bar" }
36
- puts cookies[:foo] # => "bar"
37
- ```
38
-
39
- *Justin Ko*
40
-
41
- * Record ping on every Action Cable message.
42
-
43
- Previously only `ping` and `welcome` message types were keeping the connection active.
44
- Now every Action Cable message updates the `pingedAt` value, preventing the connection
45
- from being marked as stale.
46
-
47
- *yauhenininjia*
48
-
49
- * Add two new assertion methods for Action Cable test cases: `assert_has_no_stream`
50
- and `assert_has_no_stream_for`.
51
-
52
- These methods can be used to assert that a stream has been stopped, e.g. via
53
- `stop_stream` or `stop_stream_for`. They complement the already existing
54
- `assert_has_stream` and `assert_has_stream_for` methods.
55
-
56
- ```ruby
57
- assert_has_no_stream "messages"
58
- assert_has_no_stream_for User.find(42)
59
- ```
60
-
61
- *Sebastian Pöll*, *Junichi Sato*
62
-
63
- 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
14
- TINY = 2
15
- PRE = nil
12
+ MAJOR = 8
13
+ MINOR = 0
14
+ TINY = 0
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,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: actioncable
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.2.2
4
+ version: 8.0.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pratik Naik
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-10-31 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.2
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.2
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.2
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.2
41
+ version: 8.0.0.beta1
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: nio4r
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -154,10 +154,10 @@ 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.2/actioncable/CHANGELOG.md
158
- documentation_uri: https://api.rubyonrails.org/v7.2.2/
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.2/actioncable
160
+ source_code_uri: https://github.com/rails/rails/tree/v8.0.0.beta1/actioncable
161
161
  rubygems_mfa_required: 'true'
162
162
  post_install_message:
163
163
  rdoc_options: []
@@ -167,7 +167,7 @@ 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
  - - ">="