Skip to content

Commit ee07803

Browse files
justin808claude
andcommitted
Fix console replay to use unwrapped version with correct parameter order
Critical fix for Pro Integration Tests failures. Problem: - Changed from consoleReplay() to buildConsoleReplay() in previous commit - buildConsoleReplay() wraps output in <script> tags - createResultObject() expects unwrapped JavaScript code - Tests failing with: expected "console.log..." got "<script id=..." Root Cause Analysis: - consoleReplay signature: (customConsoleHistory, numberOfMessagesToSkip) - buildConsoleReplay signature: (numberOfMessagesToSkip, customConsoleHistory, nonce) - Original code had WRONG parameter order for consoleReplay - My "fix" switched to buildConsoleReplay but introduced wrapping issue Solution: - Revert to consoleReplay() for unwrapped output - Fix parameter order: consoleReplay(consoleHistory, previouslyReplayedConsoleMessages) - This gives unwrapped JS AND correct parameter order Testing: - Should fix Pro Integration Tests console logging spec - Should fix renderer_console_logging_spec.rb failures References: - consoleReplay: packages/react-on-rails/src/buildConsoleReplay.ts:18-20 - buildConsoleReplay: packages/react-on-rails/src/buildConsoleReplay.ts:57-60 - Failed test: react_on_rails_pro/spec/requests/renderer_console_logging_spec.rb:52 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent 527aca1 commit ee07803

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

packages/react-on-rails-pro/src/streamingUtils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import { PassThrough, Readable } from 'stream';
1717

1818
import createReactOutput from 'react-on-rails/createReactOutput';
1919
import { isPromise, isServerRenderHash } from 'react-on-rails/isServerRenderResult';
20-
import buildConsoleReplay from 'react-on-rails/buildConsoleReplay';
20+
import { consoleReplay } from 'react-on-rails/buildConsoleReplay';
2121
import { createResultObject, convertToError, validateComponent } from 'react-on-rails/serverRenderUtils';
2222
import {
2323
RenderParams,
@@ -112,7 +112,7 @@ export const transformRenderStreamChunksToResultObject = (renderState: StreamRen
112112
const transformStream = new PassThrough({
113113
transform(chunk: Buffer, _, callback) {
114114
const htmlChunk = chunk.toString();
115-
const consoleReplayScript = buildConsoleReplay(previouslyReplayedConsoleMessages, consoleHistory);
115+
const consoleReplayScript = consoleReplay(consoleHistory, previouslyReplayedConsoleMessages);
116116
previouslyReplayedConsoleMessages = consoleHistory?.length || 0;
117117
const jsonChunk = JSON.stringify(createResultObject(htmlChunk, consoleReplayScript, renderState));
118118
this.push(`${jsonChunk}\n`);

0 commit comments

Comments
 (0)