meta-cla · GitHub

…yload

timneutkens

timneutkens

timneutkens

unstubbable

@unstubbable

unstubbable

Co-authored-by: Hendrik Liebau <mail@hendrik-liebau.de>
Co-authored-by: Hendrik Liebau <mail@hendrik-liebau.de>

unstubbable

@unstubbable

Open

@timneutkens 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

Feb 19, 2026

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, 2026

Merged

Closed

Closed

5 tasks

Read the original on github.com ↗