isomorfeus-preact 10.6.60 → 10.6.61

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: 34814719803b515fd74354f8f9674ecb2c8942d45e5f8ac65a5dde4a56079f24
4
- data.tar.gz: 6500dad9f7f78bc50167328b20b70d85070c523a0201de8ee2be328d499ef49f
3
+ metadata.gz: 74033de35eac3dabf609fe1c60e578dcdd3a83d780ad205d86b92cf6a9da9490
4
+ data.tar.gz: 6fed82d20b889ce677c08b9bf08fd5865183bbbddc281e0af491c10a503cf32d
5
5
  SHA512:
6
- metadata.gz: 6dc33cbc810756612c65f97c79fb836829cf177cfefa7d49c5984b3b08d2bbb912287f3cf44159070c65c0efadee1712b5caf0bc0e4de78a847bf6197eab827c
7
- data.tar.gz: a7a86fe57fb7f2dd5e7a49dd9f10b65b25dd194f708e14a5c8ad39eae840ef124ad68a077433b89c4855989fffe5476bfaf87fcb5f2598b55461ff8e1ccf83d8
6
+ metadata.gz: 255663e27a5492836301cbec31e3ac7d368085c12eee35348023020437fc5c8558a0d63af300d426adbc9b0d95fab0c4c5fb0b8a534024689185381edded4475
7
+ data.tar.gz: 5f738ab80216519cd8396fae232ae22cac6331de8dd741abd4a20a0aaafaab84cc656fa3c6d6500a2116bcac224692daa04ae46af88a2f50359014cde4cad8b2
@@ -7,13 +7,14 @@ module Isomorfeus
7
7
  Isomorfeus.set_current_user(nil)
8
8
  Isomorfeus::Transport.promise_connect(`global.IsomorfeusSessionId`)
9
9
  .then { `self.async_render_pass(component_name, props)` }
10
- .fail do
10
+ .fail do |error|
11
+ message = "Transport within SSR unable to connect: #{error}\n#{error&.backtrace&.join("\n")}!"
11
12
  %x{
12
13
  global.ConnectRetries--;
13
14
  if (global.ConnectRetries > 0) {
14
15
  self.first_pass(component_name, props);
15
16
  } else {
16
- global.Exception = new Error('Transport within SSR unable to connect!');
17
+ global.Exception = new Error(#{message});
17
18
  self.finish_render();
18
19
  }
19
20
  }
@@ -83,7 +84,7 @@ module Isomorfeus
83
84
  return [global.RenderedTree, application_state, ssr_styles, opi['$ssr_response_status'](), global.RenderPass, self.get_exception()];
84
85
  }
85
86
 
86
- self.mount_component = function(session_id, env, locale, location, transport_ws_url, component_name, props, max_passes) {
87
+ self.mount_component = function(session_id, env, locale, transport_ws_url, component_name, props, max_passes) {
87
88
  const opi = global.Opal.Isomorfeus;
88
89
  global.ConnectRetries = 5;
89
90
  global.RenderPass = 0;
@@ -98,14 +99,14 @@ module Isomorfeus
98
99
  if (typeof opi["$current_locale="] === 'function') { opi["$current_locale="](locale); }
99
100
  opi['$force_init!']();
100
101
  opi['$ssr_response_status='](200);
101
- opi.TopLevel['$ssr_route_path='](location);
102
102
 
103
103
  self.first_pass(component_name, props);
104
104
  }
105
105
  }
106
106
 
107
107
  def self.disconnect_transport
108
- Isomorfeus::Transport::RequestAgent.agents.each do |agent_id, agent|
108
+ while Isomorfeus::Transport::RequestAgent.agents.size > 0
109
+ agent_id, agent = Isomorfeus::Transport::RequestAgent.agents.first
109
110
  agent.promise.reject() unless agent.promise.realized?
110
111
  Isomorfeus::Transport::RequestAgent.del!(agent_id)
111
112
  end
@@ -7,7 +7,6 @@ end
7
7
  module Isomorfeus
8
8
  class TopLevel
9
9
  class << self
10
- attr_accessor :ssr_route_path
11
10
  attr_accessor :transport_ws_url
12
11
 
13
12
  def render_component_to_string(component_name, props)
@@ -22,13 +22,9 @@ module Isomorfeus
22
22
  @ssr_styles = nil
23
23
  render_result = "<div data-iso-env=\"#{Isomorfeus.env}\" data-iso-root=\"#{component_name}\" data-iso-props='#{Oj.dump(props, mode: :strict)}'"
24
24
  if !skip_ssr && (Isomorfeus.server_side_rendering || use_ssr)
25
- thread_id_asset = "#{Thread.current.object_id}#{asset_key}"
25
+ thread_id_asset = "#{Thread.current.object_id}|#{asset_key}"
26
26
  begin
27
- if Isomorfeus.development?
28
- init_speednode_context(asset_key, thread_id_asset)
29
- elsif !Isomorfeus.ssr_contexts.key?(thread_id_asset)
30
- init_speednode_context(asset_key, thread_id_asset)
31
- end
27
+ init_speednode_context(asset_key, thread_id_asset) if Isomorfeus.development? || !Isomorfeus.ssr_contexts.key?(thread_id_asset)
32
28
  rescue Exception => e
33
29
  Isomorfeus.raise_error(message: "Server Side Rendering: Failed creating context for #{asset_key}. Error: #{e.message}", stack: e.backtrace)
34
30
  end
@@ -44,7 +40,7 @@ module Isomorfeus
44
40
  # build javascript for rendering first pass
45
41
  # it will initialize buffers to guard against leaks, maybe caused by previous exceptions
46
42
  javascript = <<~JAVASCRIPT
47
- return Opal.Isomorfeus.SSR.mount_component('#{Thread.current[:isomorfeus_session_id]}', '#{Isomorfeus.env}', '#{props[:locale]}', '#{props[:location]}', '#{transport_ws_url}', '#{component_name}', #{Oj.dump(props, mode: :strict)}, #{max_passes})
43
+ return Opal.Isomorfeus.SSR.mount_component('#{Thread.current[:isomorfeus_session_id]}', '#{Isomorfeus.env}', '#{props[:locale]}', '#{transport_ws_url}', '#{component_name}', #{Oj.dump(props, mode: :strict)}, #{max_passes})
48
44
  JAVASCRIPT
49
45
 
50
46
  begin
@@ -1,3 +1,3 @@
1
1
  module Preact
2
- VERSION = '10.6.60'
2
+ VERSION = '10.6.61'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isomorfeus-preact
3
3
  version: !ruby/object:Gem::Version
4
- version: 10.6.60
4
+ version: 10.6.61
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-03-04 00:00:00.000000000 Z
11
+ date: 2022-03-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -114,14 +114,14 @@ dependencies:
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 0.5.2
117
+ version: 0.5.3
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 0.5.2
124
+ version: 0.5.3
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: dalli
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -170,14 +170,14 @@ dependencies:
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: 0.6.5
173
+ version: 0.6.6
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: 0.6.5
180
+ version: 0.6.6
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: rake
183
183
  requirement: !ruby/object:Gem::Requirement