Open
timneutkens
changed the title
[Flight] Walk parsed JSON instead of using reviver for parsing RSC payload
[Server Components] Walk parsed JSON instead of using reviver for parsing RSC payload
Merged
Closed
AbanoubGhadban added a commit to AbanoubGhadban/react that referenced this pull request
Apr 18, 2026…yload Backport of react#35776 to v19.0.3. Replace the JSON.parse reviver callback in parseModel with a two-step approach: plain JSON.parse() followed by a recursive reviveModel() post-process. This yields a ~75% speedup in RSC chunk deserialization by eliminating C++→JS boundary crossings for every key-value pair. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Merged
3 tasks
AbanoubGhadban added a commit to AbanoubGhadban/react that referenced this pull request
Apr 18, 2026… payload Backport of react#35776 to v19.0.3. Replace the JSON.parse reviver callback in parseModel with a two-step approach: plain JSON.parse() followed by a recursive reviveModel() post-process. This yields a ~75% speedup in RSC chunk deserialization by eliminating C++→JS boundary crossings for every key-value pair. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
AbanoubGhadban added a commit to AbanoubGhadban/react that referenced this pull request
Apr 18, 2026… payload Backport of react#35776 to v19.0.3. Replace the JSON.parse reviver callback in parseModel with a two-step approach: plain JSON.parse() followed by a recursive reviveModel() post-process. This yields a ~75% speedup in RSC chunk deserialization by eliminating C++→JS boundary crossings for every key-value pair. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
AbanoubGhadban added a commit to shakacode/react_on_rails_rsc that referenced this pull request
Apr 18, 2026… payload Rebuild react-server-dom-webpack from React fork rsc-patches/v19.0.3 with the reviveModel optimization (backport of react/react#35776). Replaces JSON.parse reviver callback with plain JSON.parse() followed by a recursive reviveModel() walk in pure JS, yielding ~75% speedup in RSC chunk deserialization by eliminating C++→JS boundary crossings. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Merged
4 tasks
AbanoubGhadban added a commit to shakacode/react_on_rails_rsc that referenced this pull request
Apr 18, 2026… payload Rebuild react-server-dom-webpack from React fork rsc-patches/v19.0.3 with the reviveModel optimization (backport of react/react#35776). Replaces JSON.parse reviver callback with plain JSON.parse() followed by a recursive reviveModel() walk in pure JS, yielding ~75% speedup in RSC chunk deserialization by eliminating C++→JS boundary crossings. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
AbanoubGhadban added a commit to AbanoubGhadban/react that referenced this pull request
Apr 18, 2026… payload Backport of react#35776 to v19.0.3. Replace the JSON.parse reviver callback in parseModel with a two-step approach: plain JSON.parse() followed by a recursive reviveModel() post-process. This yields a ~75% speedup in RSC chunk deserialization by eliminating C++→JS boundary crossings for every key-value pair. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Closed
4 tasks
AbanoubGhadban added a commit to AbanoubGhadban/react that referenced this pull request
May 4, 2026… payload (#4) Backport of react#35776 to v19.0.3. Replaces the JSON.parse reviver callback in parseModel with a two-step approach: plain JSON.parse() followed by a recursive reviveModel() walk in pure JavaScript. Yields ~75% speedup in RSC chunk deserialization by eliminating C++→JS boundary crossings for every key-value pair. Also adds a no-op setter on the $Y (omitted object) getter-only property to prevent TypeError under strict mode when reviveModel reassigns the property after parseModelString returns. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
AbanoubGhadban added a commit to shakacode/react_on_rails_rsc that referenced this pull request
May 4, 2026…yload (#33) Rebuild react-server-dom-webpack from React fork rsc-patches/v19.0.3 with the reviveModel optimization (backport of react/react#35776). Replaces JSON.parse reviver callback with plain JSON.parse() followed by a recursive reviveModel() walk in pure JS, yielding ~75% speedup in RSC chunk deserialization by eliminating C++→JS boundary crossings. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Closed
Merged
justin808 added a commit to shakacode/react_on_rails_rsc that referenced this pull request
Jun 12, 2026* Document Option 5 stock npm runtime go decision in eliminate-react-fork doc Records the #55 spike outcome: GO on depending on stock npm react-server-dom-webpack instead of the vendored fork build, gated on the #60 migration checklist, with Option 4 (patch files, 2-patch corpus) as the explicit fallback. Includes the complete vendored-vs-stock delta inventory, upstream-status evidence for both true runtime patches (JSON-walk upstreamed in react/react#35776, FOUC fix not upstream), a wrapper-layer FOUC design that needs no React patch, parse benchmark numbers, exports/conditions parity mapping, webpack-globals/manifest contract verification, and the security finding that the vendored 19.0.4 runtime predates the CVE-2026-23869/23870 fixes. Closes #55 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Address PR review feedback on Option 5 doc - Correct peer-dependency wording to React >=19.2.7 (greptile) - Link the CVE advisories (claude review) - Note linear scaling of the parse-cost regression (claude review) - Promote the unbundled ./server verification to an explicit fallback gate (claude review) - Document preinit dedupe idempotency in the Proxy design (claude review) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * Address second review pass on Option 5 doc - Retitle Option 4 heading to Superseded/Fallback Only (heading inconsistency) - Reword CVE remediation tracking to reflect actual state (spike report flag) - Document benchmark methodology inline so it is reproducible after a bump - State the semver impact of the React >=19.2.7 peer floor explicitly - Add explicit prerequisites before archiving the fork (point of no return) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This was referenced
Jun 13, 2026Merged
Closed
Closed
5 tasks