anycable-rails 1.3.0 → 1.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -2
- data/lib/anycable/rails/action_cable_ext/channel.rb +7 -5
- data/lib/anycable/rails/action_cable_ext/connection.rb +1 -1
- data/lib/anycable/rails/connection.rb +7 -5
- data/lib/anycable/rails/railtie.rb +4 -3
- data/lib/anycable/rails/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 249493f023d0c0b2e8f85bba263132f7b8bb440073184f68949e83b5911b191a
|
4
|
+
data.tar.gz: 055c60c21507d7307f73121948e134087d624f907d4435ad1ac0526337158464
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2aee411822afddc35aeecbf85490f413e2c6b899107b3a849e25a449cf19baf13885cad9e52bbc25ab85b08316b865ff60f0fc0f558f0ebffc0a175e5d983f30
|
7
|
+
data.tar.gz: e5933e165ca975e9ce32ec867b177583cc8e0718a9aa8f1f9435bbb515500a4f0de9e7cd82b34e7e0f9d1cf8db40114f0fedb49923ef63bfce418a9dd1cd7a76
|
data/CHANGELOG.md
CHANGED
@@ -2,13 +2,29 @@
|
|
2
2
|
|
3
3
|
## master
|
4
4
|
|
5
|
-
## 1.3.
|
5
|
+
## 1.3.3 (2022-04-20)
|
6
|
+
|
7
|
+
- Added `sid` (unique connection identifier) field to the `welcome` message if present. ([@palkan][])
|
8
|
+
|
9
|
+
- Fixed handling Ruby Logger incompatible loggers. ([@palkan][])
|
10
|
+
|
11
|
+
## 1.3.2 (2022-03-04)
|
12
|
+
|
13
|
+
- Allow Ruby 2.6.
|
14
|
+
|
15
|
+
## 1.3.1 (2022-02-28)
|
16
|
+
|
17
|
+
- Fix Action Cable Channel patch to not change methods signatures. ([@palkan][])
|
18
|
+
|
19
|
+
Otherwise it could lead to conflicts with other patches.
|
20
|
+
|
21
|
+
## 1.3.0 (2022-02-21)
|
6
22
|
|
7
23
|
- Introduce `AnyCable::Rails.extend_adapter!` to make any pubsub adapter AnyCable-compatible. ([@palkan][])
|
8
24
|
|
9
25
|
- Refactored Action Cable patching to preserve original functionality and avoid monkey-patching collisions. ([@palkan][])
|
10
26
|
|
11
|
-
## 1.2.1 (
|
27
|
+
## 1.2.1 (2022-01-31)
|
12
28
|
|
13
29
|
- Add a temporary fix to be compatible with `sentry-rails`. ([@palkan][])
|
14
30
|
|
@@ -1,15 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "action_cable
|
3
|
+
require "action_cable"
|
4
4
|
|
5
5
|
ActionCable::Channel::Base.prepend(Module.new do
|
6
|
-
def subscribe_to_channel
|
7
|
-
|
8
|
-
super()
|
6
|
+
def subscribe_to_channel
|
7
|
+
super unless anycabled? && !@__anycable_subscribing__
|
9
8
|
end
|
10
9
|
|
11
10
|
def handle_subscribe
|
12
|
-
|
11
|
+
@__anycable_subscribing__ = true
|
12
|
+
subscribe_to_channel
|
13
|
+
ensure
|
14
|
+
@__anycable_subscribing__ = false
|
13
15
|
end
|
14
16
|
|
15
17
|
def start_periodic_timers
|
@@ -1,7 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "action_cable
|
4
|
-
require "action_cable/channel"
|
3
|
+
require "action_cable"
|
5
4
|
|
6
5
|
module AnyCable
|
7
6
|
module Rails
|
@@ -13,8 +12,11 @@ module AnyCable
|
|
13
12
|
:anycable_socket
|
14
13
|
|
15
14
|
# Using public :send_welcome_message causes stack level too deep 🤷🏻♂️
|
16
|
-
def
|
17
|
-
|
15
|
+
def send_welcome_message
|
16
|
+
transmit({
|
17
|
+
type: ActionCable::INTERNAL[:message_types][:welcome],
|
18
|
+
sid: env["anycable.sid"]
|
19
|
+
}.compact)
|
18
20
|
end
|
19
21
|
|
20
22
|
def public_request
|
@@ -92,7 +94,7 @@ module AnyCable
|
|
92
94
|
|
93
95
|
socket.cstate.write(LOG_TAGS_IDENTIFIER, logger.tags.to_json) unless logger.tags.empty?
|
94
96
|
|
95
|
-
conn.
|
97
|
+
conn.send_welcome_message
|
96
98
|
rescue ::ActionCable::Connection::Authorization::UnauthorizedError
|
97
99
|
reject_request(
|
98
100
|
ActionCable::INTERNAL[:disconnect_reasons]&.[](:unauthorized) || "unauthorized"
|
@@ -20,13 +20,14 @@ module AnyCable
|
|
20
20
|
AnyCable.logger = ::ActionCable.server.config.logger
|
21
21
|
|
22
22
|
AnyCable.configure_server do
|
23
|
-
AnyCable.logger =
|
23
|
+
server_logger = AnyCable.logger = ::ActionCable.server.config.logger
|
24
|
+
AnyCable.logger = ActiveSupport::TaggedLogging.new(server_logger) if server_logger.is_a?(::Logger)
|
24
25
|
# Broadcast server logs to STDOUT in development
|
25
26
|
if ::Rails.env.development? &&
|
26
27
|
!ActiveSupport::Logger.logger_outputs_to?(::Rails.logger, $stdout)
|
27
28
|
console = ActiveSupport::Logger.new($stdout)
|
28
|
-
console.formatter = ::Rails.logger.formatter
|
29
|
-
console.level = ::Rails.logger.level
|
29
|
+
console.formatter = ::Rails.logger.formatter if ::Rails.logger.respond_to?(:formatter)
|
30
|
+
console.level = ::Rails.logger.level if ::Rails.logger.respond_to?(:level)
|
30
31
|
AnyCable.logger.extend(ActiveSupport::Logger.broadcast(console))
|
31
32
|
end
|
32
33
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: anycable-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- palkan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-04-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: anycable
|
@@ -198,14 +198,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
198
198
|
requirements:
|
199
199
|
- - ">="
|
200
200
|
- !ruby/object:Gem::Version
|
201
|
-
version: '2.
|
201
|
+
version: '2.6'
|
202
202
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
203
203
|
requirements:
|
204
204
|
- - ">="
|
205
205
|
- !ruby/object:Gem::Version
|
206
206
|
version: '0'
|
207
207
|
requirements: []
|
208
|
-
rubygems_version: 3.
|
208
|
+
rubygems_version: 3.3.7
|
209
209
|
signing_key:
|
210
210
|
specification_version: 4
|
211
211
|
summary: Rails adapter for AnyCable
|