isomorfeus-preact 10.6.59 → 10.6.62

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: e3a34f115d44cbec71d91a6b40c3fe09efd730eca2bcf994feb261031e9f7301
4
- data.tar.gz: 8e5f574ce11ac9be20e7484e04f483456ae47a56c5f45e73616e1a34395199ad
3
+ metadata.gz: f52b5617834421df8584664b3429929319f00e50af46ce0a22666da0028ff8a7
4
+ data.tar.gz: 63dae456aeb4f120f6c863998a49c5b0499836ff1febef250d74a83c45c79451
5
5
  SHA512:
6
- metadata.gz: dccba2bae40dd3a8277854ffa5908a9fa4cce92c449a617a78a10d9e0e4ede28e86abc399edd4c4e798cf78d9b801ebb0f4178dc426ceba1d0daab9099c716be
7
- data.tar.gz: 61c6c7b9d6fbc708ddbee0626e0d3ee951c0f46644b254ff4c7121913d3a98516eb15595d271878b565e35e0ca89b29a6b5568d145b35296edbd3ae1ddd0fa5e
6
+ metadata.gz: a166348267c263583cffae55101441c802a273ac849c6f9eed6fce2a21d0577d440ff0b39da479422e301a781b748a07ab3909e0c345ef528f04644cd759c94b
7
+ data.tar.gz: 31625e31c6645ce880b88f8bbe6ff818bae73f72e1375345dfb63a1df6cc4a7667e4f2914742b3bb93f622969f5dd7a86967b54be6b78ef1de2f7531b2bae061
@@ -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
@@ -107,8 +107,8 @@ else
107
107
 
108
108
  # caches
109
109
  require 'isomorfeus/preact/thread_local_component_cache'
110
- require 'isomorfeus/preact/memcached_component_cache'
111
- require 'isomorfeus/preact/redis_component_cache'
110
+ # require 'isomorfeus/preact/memcached_component_cache'
111
+ # require 'isomorfeus/preact/redis_component_cache'
112
112
  require 'isomorfeus/preact_view_helper'
113
113
 
114
114
  Isomorfeus.component_cache_init do
@@ -117,6 +117,7 @@ else
117
117
 
118
118
  Opal.append_path(__dir__.untaint)
119
119
 
120
+ require 'concurrent/atomic/atomic_fixnum'
120
121
  require 'concurrent/atomic/reentrant_read_write_lock'
121
122
  require 'zeitwerk'
122
123
 
@@ -1,3 +1,3 @@
1
1
  module Preact
2
- VERSION = '10.6.59'
2
+ VERSION = '10.6.62'
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.59
4
+ version: 10.6.62
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-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -114,42 +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
125
- - !ruby/object:Gem::Dependency
126
- name: dalli
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - "~>"
130
- - !ruby/object:Gem::Version
131
- version: 2.7.11
132
- type: :runtime
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - "~>"
137
- - !ruby/object:Gem::Version
138
- version: 2.7.11
139
- - !ruby/object:Gem::Dependency
140
- name: redis
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - "~>"
144
- - !ruby/object:Gem::Version
145
- version: 4.4.0
146
- type: :runtime
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - "~>"
151
- - !ruby/object:Gem::Version
152
- version: 4.4.0
124
+ version: 0.5.3
153
125
  - !ruby/object:Gem::Dependency
154
126
  name: zeitwerk
155
127
  requirement: !ruby/object:Gem::Requirement
@@ -170,14 +142,14 @@ dependencies:
170
142
  requirements:
171
143
  - - "~>"
172
144
  - !ruby/object:Gem::Version
173
- version: 0.6.5
145
+ version: 0.6.6
174
146
  type: :development
175
147
  prerelease: false
176
148
  version_requirements: !ruby/object:Gem::Requirement
177
149
  requirements:
178
150
  - - "~>"
179
151
  - !ruby/object:Gem::Version
180
- version: 0.6.5
152
+ version: 0.6.6
181
153
  - !ruby/object:Gem::Dependency
182
154
  name: rake
183
155
  requirement: !ruby/object:Gem::Requirement