isomorfeus-transport 23.7.0.rc4 → 23.8.0.rc1

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: 0cefc0199507b36b5a81f8babab31927d8d2a62d80cca2f744ece9d560e1a6bf
4
- data.tar.gz: 9125df2661187f4a7cca9234bd369f1df8035cbb482cb426c320bc93ad8c0455
3
+ metadata.gz: df4f745d6782b577dbbc2bf51d73c2eb5cbc0c2e90427ba5778897744b389b8f
4
+ data.tar.gz: 0a29391b3582009a6967dc98ea72665892043c2f14347410fbd961b0d466f85d
5
5
  SHA512:
6
- metadata.gz: cbd7f55ad6f23a7a531b8b6ebcdc0065ca9a675e54c66ba93ed9c5af1900ed42c80beae6898608f6e6d667cd8ed145fff793fc2468eb2d6482496e4982699422
7
- data.tar.gz: bd0a0b1100656023fecd8229596db0d4cfb7fdc67cf771566251c866ed24b8b9572f329a71eb1dc772316d96e31367796c98315ff50f66b14dedac057465d35f
6
+ metadata.gz: 1a51f13d0d7337c28b4acd1a236648d37266c83cb0be7de1c0b4a72b2914693d2d85a3468bac4cff291a068b2338875941d35f36fee9f6e83021c2fd1e87c01b
7
+ data.tar.gz: c1481306af952877776b4f2c31259f2624496ac69bc43dc0993386257bb98619fa4774d14ffd0849d0f780d629766170783e793f0585a229b1b535ff4479c9f8
@@ -1,3 +1,5 @@
1
+ # backtick_javascript: true
2
+
1
3
  class Hash
2
4
  def deep_freeze
3
5
  each_value do |value|
@@ -1,3 +1,5 @@
1
+ # backtick_javascript: true
2
+
1
3
  module Kernel
2
4
  def promise(p = Promise.new, &block)
3
5
  begin
@@ -1,5 +1,5 @@
1
1
  module Isomorfeus
2
2
  module Transport
3
- VERSION = '23.7.0.rc4'
3
+ VERSION = '23.8.0.rc1'
4
4
  end
5
5
  end
@@ -1,3 +1,5 @@
1
+ # backtick_javascript: true
2
+
1
3
  module Isomorfeus
2
4
  module Transport
3
5
  class WebsocketClient
@@ -11,14 +13,10 @@ module Isomorfeus
11
13
 
12
14
  class SendError < ::StandardError; end
13
15
 
14
- def initialize(url, protocols = nil, headers = nil)
16
+ def initialize(url, protocols = nil)
15
17
  @url = url
16
- @native_websocket = if protocols && headers
17
- `new Opal.global.WebSocket(url, protocols, {headers: #{headers.to_n}})`
18
- elsif protocols
18
+ @native_websocket = if protocols
19
19
  `new Opal.global.WebSocket(url, protocols)`
20
- elsif headers
21
- `new Opal.global.WebSocket(url, {headers: #{headers.to_n}})`
22
20
  else
23
21
  `new Opal.global.WebSocket(url)`
24
22
  end
@@ -1,8 +1,10 @@
1
+ # backtick_javascript: true
2
+
1
3
  module Isomorfeus
2
4
  module Transport
3
5
  class << self
4
6
  if RUBY_ENGINE == 'opal'
5
- PING = `JSON.stringify({iso_ping: true})`
7
+ PING = { iso_ping: true }.to_json
6
8
 
7
9
  attr_accessor :socket
8
10
 
@@ -25,8 +27,7 @@ module Isomorfeus
25
27
  ws_protocol = window_protocol == 'https:' ? 'wss:' : 'ws:'
26
28
  ws_url = "#{ws_protocol}//#{`window.location.host`}#{Isomorfeus.api_websocket_path}"
27
29
 
28
- headers = (session_id.nil? || session_id.empty?) ? nil : { 'Cookie': "session=#{session_id}" }
29
- @socket = Isomorfeus::Transport::WebsocketClient.new(ws_url, nil, headers)
30
+ @socket = Isomorfeus::Transport::WebsocketClient.new(ws_url, nil)
30
31
  @socket.on_error do |error|
31
32
  `console.warn('Isomorfeus::Transport: Will try again, but so far error connecting:', error)`
32
33
  @socket.close
@@ -115,6 +116,8 @@ module Isomorfeus
115
116
  unless agent.queued || agent.sent
116
117
  agent.queued = true
117
118
  register_request_in_progress(request, agent.id)
119
+ end
120
+ unless agent.sent
118
121
  begin
119
122
  Isomorfeus.raise_error(message: 'No socket!') unless @socket
120
123
  @socket.send(JSON.dump({request: { agent_ids: { agent.id => request }}}))
@@ -137,7 +140,7 @@ module Isomorfeus
137
140
 
138
141
  def send_message(channel_class, channel, message)
139
142
  Isomorfeus.raise_error(message: 'No socket!') unless @socket
140
- @socket.send(`JSON.stringify(#{{ notification: { class: channel_class.name, channel: channel, message: message }}.to_n})`)
143
+ @socket.send({ notification: { class: channel_class.name, channel: channel, message: message }}.to_json)
141
144
  true
142
145
  end
143
146
 
@@ -149,7 +152,7 @@ module Isomorfeus
149
152
  agent = Isomorfeus::Transport::RequestAgent.new(request)
150
153
  register_request_in_progress(request, agent.id)
151
154
  Isomorfeus.raise_error(message: 'No socket!') unless @socket
152
- @socket.send(`JSON.stringify(#{{ subscribe: { agent_ids: { agent.id => request }}}.to_n})`)
155
+ @socket.send({ subscribe: { agent_ids: { agent.id => request }}}.to_json)
153
156
  end
154
157
  result_promise = agent.promise.then do |agent|
155
158
  agent.response
@@ -165,7 +168,7 @@ module Isomorfeus
165
168
  agent = Isomorfeus::Transport::RequestAgent.new(request)
166
169
  register_request_in_progress(request, agent.id)
167
170
  Isomorfeus.raise_error(message: 'No socket!') unless @socket
168
- @socket.send(`JSON.stringify(#{{ unsubscribe: { agent_ids: { agent.id => request }}}.to_n})`)
171
+ @socket.send({ unsubscribe: { agent_ids: { agent.id => request }}}.to_json)
169
172
  end
170
173
  result_promise = agent.promise.then do |agent|
171
174
  agent.response
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isomorfeus-transport
3
3
  version: !ruby/object:Gem::Version
4
- version: 23.7.0.rc4
4
+ version: 23.8.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Biedermann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-21 00:00:00.000000000 Z
11
+ date: 2023-08-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -106,14 +106,14 @@ dependencies:
106
106
  requirements:
107
107
  - - "~>"
108
108
  - !ruby/object:Gem::Version
109
- version: 1.7.3
109
+ version: 1.8.0.alpha1
110
110
  type: :runtime
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - "~>"
115
115
  - !ruby/object:Gem::Version
116
- version: 1.7.3
116
+ version: 1.8.0.alpha1
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: opal-zeitwerk
119
119
  requirement: !ruby/object:Gem::Requirement
@@ -190,14 +190,14 @@ dependencies:
190
190
  requirements:
191
191
  - - '='
192
192
  - !ruby/object:Gem::Version
193
- version: 23.7.0.rc4
193
+ version: 23.8.0.rc1
194
194
  type: :development
195
195
  prerelease: false
196
196
  version_requirements: !ruby/object:Gem::Requirement
197
197
  requirements:
198
198
  - - '='
199
199
  - !ruby/object:Gem::Version
200
- version: 23.7.0.rc4
200
+ version: 23.8.0.rc1
201
201
  - !ruby/object:Gem::Dependency
202
202
  name: rake
203
203
  requirement: !ruby/object:Gem::Requirement