Skip to content

Commit 4c57f78

Browse files
call clear console history from the generated render code
1 parent 9ec2c20 commit 4c57f78

File tree

2 files changed

+2
-17
lines changed

2 files changed

+2
-17
lines changed

lib/react_on_rails/server_rendering_js_code.rb

+1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ def render(props_string, rails_context, redux_stores, react_component_name, rend
4040
var railsContext = #{rails_context};
4141
#{redux_stores}
4242
var props = #{props_string};
43+
console.history = [];
4344
return ReactOnRails.serverRenderReactComponent({
4445
name: '#{react_component_name}',
4546
domNodeId: '#{render_options.dom_id}',

node_package/src/serverRenderReactComponent.ts

+1-17
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ function createFinalResult(
138138
return JSON.stringify(createResultObject(result, consoleReplayScript, renderState));
139139
}
140140

141-
function serverRenderReactComponentInternal(options: RenderParams): null | string | Promise<RenderResult> {
141+
function serverRenderReactComponent(options: RenderParams): null | string | Promise<RenderResult> {
142142
const { name: componentName, domNodeId, trace, props, railsContext, renderingReturnsPromises, throwJsErrors } = options;
143143

144144
let renderState: RenderState = {
@@ -180,20 +180,4 @@ function serverRenderReactComponentInternal(options: RenderParams): null | strin
180180
return createFinalResult(renderState, componentName, throwJsErrors);
181181
}
182182

183-
const serverRenderReactComponent: typeof serverRenderReactComponentInternal = (options) => {
184-
let result: string | Promise<RenderResult> | null = null;
185-
try {
186-
result = serverRenderReactComponentInternal(options);
187-
} finally {
188-
// Reset console history after each render.
189-
// See `RubyEmbeddedJavaScript.console_polyfill` for initialization.
190-
// We don't need to clear the console history if the result is a promise
191-
// Promises only supported in node renderer and node renderer takes care of cleanining console history
192-
if (typeof result === 'string') {
193-
console.history = [];
194-
}
195-
}
196-
return result;
197-
};
198-
199183
export default serverRenderReactComponent;

0 commit comments

Comments
 (0)