isomorfeus-transport 2.2.7 → 2.2.10

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: 6f24005201bd81fffabf8eb0c0e0d4b7b51361262b2284d32302c9775b4d0419
4
- data.tar.gz: 41783053c8effbce259a7dd8fb3c03414319dcafbbf035f25ccf163b2868f408
3
+ metadata.gz: 61b9d4429cf3e43b4fadd677b444bea47384bc0a88c7a14d376960613396cf92
4
+ data.tar.gz: 62996b83bfa8c96a270513a5c13a0efb16cf10200ab7ad311c17e22e2d5f41a5
5
5
  SHA512:
6
- metadata.gz: cb62a2fc2e0d90369c2e405279675028b51f08876034cfaae2d85974b4c6bf4627f0afaa06d7b72814d47d1ca6f467c2283b5e49afaf572c35d88389ec396e8f
7
- data.tar.gz: c68ef8966c649130493484aae442442b0e1a4e495436afa75a81fc2df18b176b87799e2f28bcf34ee8a6552944df72ab1e5049e7df6d80718632f60fe77ad5bf
6
+ metadata.gz: 6ddd35e09074cf16bd527f96f05731722c87d2332fce71b587745f2075b413e087dae84db3b1986d3b10c4ba15722fc956c24d9093ad6c7ff54061dc6643f451
7
+ data.tar.gz: 9906711665665937ff3648847d35e9b17442e35f1de265abfa482d99f67e38fccaa80a29e4d706d75288218b11f9816e2f3661e9181c606f5a17359856493baf
@@ -62,6 +62,7 @@ module Isomorfeus
62
62
  Isomorfeus.current_user_sid = user.sid
63
63
  else
64
64
  @current_user = Anonymous.new
65
+ Isomorfeus.current_user_sid = nil
65
66
  end
66
67
  end
67
68
  end
@@ -1,5 +1,5 @@
1
1
  module Isomorfeus
2
2
  module Transport
3
- VERSION = '2.2.7'
3
+ VERSION = '2.2.10'
4
4
  end
5
5
  end
@@ -10,13 +10,13 @@ module Isomorfeus
10
10
  true
11
11
  end
12
12
 
13
- def promise_connect(session_id = nil)
14
- promise = Promise.new
13
+ def promise_connect(session_id = nil, promise = nil)
14
+ promise = Promise.new unless promise
15
15
  if @socket && @socket.ready_state < 2
16
16
  promise.resolve(true)
17
17
  return promise
18
18
  end
19
- if Isomorfeus.on_browser?
19
+ if on_browser?
20
20
  window_protocol = `window.location.protocol`
21
21
  ws_protocol = window_protocol == 'https:' ? 'wss:' : 'ws:'
22
22
  ws_url = "#{ws_protocol}//#{`window.location.host`}#{Isomorfeus.api_websocket_path}"
@@ -26,14 +26,15 @@ module Isomorfeus
26
26
  headers = (session_id.nil? || session_id.empty?) ? nil : { 'Cookie': "session=#{session_id}" }
27
27
  @socket = Isomorfeus::Transport::WebsocketClient.new(ws_url, nil, headers)
28
28
  @socket.on_error do |error|
29
- if Isomorfeus.on_browser?
29
+ if on_browser?
30
30
  `console.warn('Isomorfeus::Transport: Will try again, but so far error connecting:', error)`
31
31
  @socket.close
32
32
  after 1000 do
33
- Isomorfeus::Transport.promise_connect
33
+ Isomorfeus::Transport.promise_connect(session_id, promise)
34
34
  end
35
35
  else
36
36
  Isomorfeus.raise_error(message: error.JS[:message], stack: error.JS[:stack])
37
+ promise.reject
37
38
  end
38
39
  end
39
40
  @socket.on_message do |event|
@@ -41,11 +42,16 @@ module Isomorfeus
41
42
  Isomorfeus::Transport::ClientProcessor.process(json_hash)
42
43
  end
43
44
  @socket.on_open do |event|
44
- open_promise = Promise.new.resolve(true)
45
+ init_promises = []
45
46
  Isomorfeus.transport_init_class_names.each do |constant|
46
- result_promise = constant.constantize.send(:init)
47
- open_promise.then { result_promise } if result_promise.class == Promise
47
+ result = constant.constantize.send(:init)
48
+ init_promises << result if result.class == Promise
48
49
  end
50
+ open_promise = if init_promises.size > 0
51
+ Promise.when(*init_promises)
52
+ else
53
+ Promise.new.resolve(true)
54
+ end
49
55
  requests_in_progress[:requests].each_key do |request|
50
56
  agent = get_agent_for_request_in_progress(request)
51
57
  open_promise.then { promise_send_request(request) } if agent && !agent.sent
@@ -101,7 +107,11 @@ module Isomorfeus
101
107
  @socket.close
102
108
  after (Isomorfeus.on_ssr? ? 10 : 3000) do
103
109
  @reconnect = true
104
- Isomorfeus::Transport.promise_connect
110
+ if on_browser?
111
+ Isomorfeus::Transport.promise_connect
112
+ else
113
+ Isomorfeus.raise_error(message: 'Transport lost connection!')
114
+ end
105
115
  end
106
116
  end
107
117
  end
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: 2.2.7
4
+ version: 2.2.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Biedermann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-25 00:00:00.000000000 Z
11
+ date: 2022-02-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -128,28 +128,28 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 10.6.52
131
+ version: 10.6.54
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 10.6.52
138
+ version: 10.6.54
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: isomorfeus-policy
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - '='
144
144
  - !ruby/object:Gem::Version
145
- version: 2.2.7
145
+ version: 2.2.10
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - '='
151
151
  - !ruby/object:Gem::Version
152
- version: 2.2.7
152
+ version: 2.2.10
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: isomorfeus-redux
155
155
  requirement: !ruby/object:Gem::Requirement
@@ -226,14 +226,14 @@ dependencies:
226
226
  requirements:
227
227
  - - '='
228
228
  - !ruby/object:Gem::Version
229
- version: 2.2.7
229
+ version: 2.2.10
230
230
  type: :development
231
231
  prerelease: false
232
232
  version_requirements: !ruby/object:Gem::Requirement
233
233
  requirements:
234
234
  - - '='
235
235
  - !ruby/object:Gem::Version
236
- version: 2.2.7
236
+ version: 2.2.10
237
237
  - !ruby/object:Gem::Dependency
238
238
  name: rake
239
239
  requirement: !ruby/object:Gem::Requirement