Skip to content

Fix unverified claims and errors in RSC migration docs#2788

Merged
justin808 merged 3 commits intomainfrom
jg/2525-rsc-docs-fix
Mar 22, 2026
Merged

Fix unverified claims and errors in RSC migration docs#2788
justin808 merged 3 commits intomainfrom
jg/2525-rsc-docs-fix

Conversation

@justin808
Copy link
Copy Markdown
Member

@justin808 justin808 commented Mar 21, 2026

Summary

Fixes factual errors and unverified claims in RSC migration docs flagged in #2525:

  • C1 (CVEs): Already absent from codebase — no action needed
  • C2 (@rails/webpacker): Replaced deprecated require('@rails/webpacker') with Shakapacker's require('shakapacker') API in rsc-troubleshooting.md
  • C3 (Frigade stats): Removed unverifiable "62% reduction" statistic; replaced with generic attribution to RSC adoption case studies
  • C4 (styled-components): Replaced vague "v6.3.0+ added RSC support" with verified release-specific details (v6.3.3 server warnings, v6.3.9 precedence attribute)
  • C5 (version matching): Removed unverifiable claim that react-on-rails-rsc major.minor must match react; replaced with direction to check the package README
  • C6 (Date objects): Correct for React 19's Flight protocol (which RSC requires) — no change needed

Closes #2525

Test plan

  • Verify all four changed markdown files render correctly
  • Confirm no broken links introduced

🤖 Generated with Claude Code


Note

Low Risk
Documentation-only updates that adjust factual claims and config examples; low risk aside from potential reader confusion if the new Shakapacker snippet doesn't match a given app's setup.

Overview
Removes or softens unverified performance and compatibility claims in the RSC migration docs (e.g., replaces a specific bundle-size reduction stat with general case-study wording, and revises react-on-rails-rsc version guidance to point to the package docs).

Clarifies third-party library notes (more specific styled-components v6.3.x behavior) and fixes a Shakapacker environment-variable injection example to use generateWebpackConfig/webpackConfig.plugins.push rather than the deprecated @rails/webpacker-style snippet.

Written by Cursor Bugbot for commit a4698be. This will update automatically on new commits. Configure here.

Summary by CodeRabbit

  • Documentation
    • Reworded RSC migration performance claims to cite “significant reductions” instead of a specific percentage.
    • Clarified React-on-Rails-RSC version guidance, directing readers to the package README/changelog for supported React ranges.
    • Expanded styled-components compatibility notes with more granular v6.3.x behavior details.
    • Updated environment-variable injection guidance to use the Shakapacker workflow with an explicit webpack config example.

- Replace deprecated @rails/webpacker require with shakapacker API
- Remove unverifiable Frigade case study statistics
- Correct styled-components RSC support claim with verified release info
- Soften unverifiable react-on-rails-rsc version matching claims
- CVE numbers (C1) and Date serialization (C6) already correct/absent

Closes #2525

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 21, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: a4c4cad9-d801-483e-853f-251c16e3329f

📥 Commits

Reviewing files that changed from the base of the PR and between 95ea3ef and a4698be.

📒 Files selected for processing (1)
  • docs/oss/migrating/rsc-third-party-libs.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/oss/migrating/rsc-third-party-libs.md

Walkthrough

Docs-only edits: removed a specific numeric performance claim, softened React-version matching guidance, clarified styled-components RSC compatibility details, and replaced a deprecated Webpacker example with a Shakapacker webpack.config snippet.

Changes

Cohort / File(s) Summary
Performance Claims
docs/oss/migrating/migrating-to-rsc.md
Removed a specific "62% reduction" bundle-size figure and split a combined performance claim into two less-specific bullets: one noting bundle-size reductions and another noting Google Speed Index / Total Blocking Time improvements.
React Version Guidance
docs/oss/migrating/rsc-preparing-app.md
Removed the explicit major.minor matching requirement between react-on-rails-rsc and react; kept minimum react-on-rails-rsc version (19.0.4+) and added instruction to consult the package README/changelog for supported React versions.
Third-Party Library Notes
docs/oss/migrating/rsc-third-party-libs.md
Expanded styled-components RSC notes to reference more granular, version-specific fixes (e.g., v6.3.x-series changes) and adjusted table header/column formatting for readability; Emotion row unchanged.
Build Config (Shakapacker)
docs/oss/migrating/rsc-troubleshooting.md
Replaced deprecated @rails/webpacker example with a Shakapacker generateWebpackConfig() pattern, switched from environment.plugins.prepend(...) to explicitly pushing new webpack.EnvironmentPlugin(...) onto webpackConfig.plugins, and updated the config path to config/webpack/webpack.config.js.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 I nibbled at claims and smoothed each line,

Trimmed a number that seemed to shine.
Swapped old webpack for Shakapacker's tune,
Sewed styled notes beneath the moon.
Hooray — docs hop forward, neat as a spoon.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main changes: fixing unverified claims and errors in RSC migration documentation across multiple files.
Linked Issues check ✅ Passed The PR addresses all six objectives from issue #2525: removes unverifiable CVE claims (C1), replaces deprecated Webpacker with Shakapacker (C2), removes unverified statistics and replaces with generic attribution (C3), updates styled-components version details (C4), removes version-matching requirement and directs to package README (C5), and retains correct Date object support (C6).
Out of Scope Changes check ✅ Passed All changes are directly scoped to fixing claims and errors in RSC migration documentation as specified in issue #2525; no out-of-scope modifications were introduced.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch jg/2525-rsc-docs-fix

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 21, 2026

Overall, this is a solid documentation cleanup. The factual corrections are well-reasoned and improve accuracy. I have one substantive bug to flag and two minor concerns.

Bug: webpack example is missing module.exports

The new Shakapacker snippet in rsc-troubleshooting.md modifies webpackConfig.plugins but never exports the result. As written, the file produces no output — any consumer of this config will receive undefined, and the EnvironmentPlugin addition will silently have no effect.

Compare with the actual repo pattern in react_on_rails/spec/dummy/config/webpack/webpack.config.js — it always ends with module.exports = webpackConfig. The snippet needs that line appended.

Minor: wrong filename in comment

The snippet comment says '// config/webpack/environment.js (Shakapacker)' but environment.js is the old @rails/webpacker pattern. The generateWebpackConfig() API belongs in webpack.config.js (or a shared commonWebpackConfig.js). Leaving the wrong filename will confuse users migrating from webpacker who already have an environment.js.

Minor: removal of security language

In rsc-preparing-app.md, the original callout mentioned that 19.0.4 fixed 'upstream security patches'. The new text drops that justification. If those patches were real, removing the framing weakens the upgrade urgency for users still on 19.0.0-19.0.3. Worth confirming whether the CVE language was verified before removing it entirely.

Comment thread docs/oss/migrating/rsc-troubleshooting.md
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 942107b615

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/oss/migrating/rsc-troubleshooting.md Outdated
Comment thread docs/oss/migrating/rsc-preparing-app.md
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/oss/migrating/rsc-third-party-libs.md`:
- Around line 97-100: Update the styled-components row in the table: remove the
incorrect claim that v6.3.9 "handling React 19's `precedence` attribute",
instead note the accurate v6.3.9 fix (createGlobalStyle unmount cleanup / no
precedence attr) and, if desired, mention that React 19 precedence-related
behavior was introduced in v6.3.0 while keeping the verified v6.3.3 entry about
suppressing server-side warnings; make these edits to the styled-components cell
where "v6.3.x" and the v6.3.3/v6.3.9 text appear so the table accurately
reflects releases.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 14098e41-e825-443a-be18-9d2cb3281cfa

📥 Commits

Reviewing files that changed from the base of the PR and between 5e61260 and 942107b.

📒 Files selected for processing (4)
  • docs/oss/migrating/migrating-to-rsc.md
  • docs/oss/migrating/rsc-preparing-app.md
  • docs/oss/migrating/rsc-third-party-libs.md
  • docs/oss/migrating/rsc-troubleshooting.md

Comment thread docs/oss/migrating/rsc-third-party-libs.md Outdated
@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Mar 21, 2026

Greptile Summary

This PR addresses five categories of unverified or erroneous claims in the RSC migration docs. Four of the five fixes are clean and well-targeted; however, two of the four changed files introduce new accuracy concerns.

Key changes:

  • migrating-to-rsc.md: Removes the specific Frigade "62% reduction" stat and replaces it with a generic reference to RSC case studies — correct and defensible.
  • rsc-preparing-app.md: Removes the unverifiable major.minor version-matching requirement and defers to the package README — sensible approach.
  • rsc-third-party-libs.md: Replaces the vague "v6.3.0+ added RSC support" with specific v6.3.x patch details, but attributes React 19's precedence attribute handling to v6.3.9 when the styled-components release notes show that was v6.3.7. v6.3.9 addressed a different issue (CSS block comments). This PR is specifically about fixing factual version claims, so this new error is worth correcting.
  • rsc-troubleshooting.md: Correctly replaces the deprecated require('@rails/webpacker') import with shakapacker, but the snippet uses the generateWebpackConfig() API (which belongs in config/webpack/webpack.config.js) while labelling the file as config/webpack/environment.js. The more direct Shakapacker replacement for the old environment.js pattern is const { environment } = require('shakapacker'). The snippet also lacks module.exports = webpackConfig;, which would be required if using the generateWebpackConfig pattern.

Confidence Score: 4/5

  • Safe to merge after addressing the v6.3.9 version attribution error and the webpack API/filename mismatch in the troubleshooting snippet.
  • Two of the four targeted fixes are straightforward and accurate. The other two introduce new factual inconsistencies (wrong styled-components version for the precedence attribute fix, and a webpack API pattern that doesn't match the file it's attributed to), which is notable since the PR's explicit goal is accuracy. These are targeted fixes, not architectural concerns, so a score of 4 reflects good convergence with two concrete remaining items.
  • docs/oss/migrating/rsc-third-party-libs.md (v6.3.9 vs v6.3.7) and docs/oss/migrating/rsc-troubleshooting.md (generateWebpackConfig in environment.js)

Important Files Changed

Filename Overview
docs/oss/migrating/migrating-to-rsc.md Removes the unverifiable "62% reduction" Frigade stat and replaces it with a generic statement; no broken links or factual concerns introduced.
docs/oss/migrating/rsc-preparing-app.md Removes the unverifiable major.minor version-matching claim and the "upstream security patches" qualifier; directs users to the package README instead. Clean, well-scoped change.
docs/oss/migrating/rsc-third-party-libs.md Updates styled-components RSC status to cite specific v6.3.x fixes, but attributes the React 19 precedence attribute handling to v6.3.9 when release notes indicate it was v6.3.7; introduces a new factual error while fixing an existing one.
docs/oss/migrating/rsc-troubleshooting.md Replaces @rails/webpacker with Shakapacker's generateWebpackConfig() API, but the snippet is labelled environment.js while using an API pattern that belongs in webpack.config.js; also missing module.exports.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[PR #2788: Fix unverified claims in RSC docs] --> B[C2: @rails/webpacker → shakapacker]
    A --> C[C3: Remove Frigade 62% stat]
    A --> D[C4: styled-components version details]
    A --> E[C5: Remove major.minor version claim]

    B --> B1[rsc-troubleshooting.md\nenvironment.plugins.prepend\n→ generateWebpackConfig + plugins.push]
    B1 --> B2{API pattern matches\nenv filename?}
    B2 -->|No| B3[⚠ generateWebpackConfig is webpack.config.js API\nenvironment.js should use environment DSL]

    C --> C1[migrating-to-rsc.md\nRemoved specific Frigade link + stat\nReplaced with generic case study reference]
    C1 --> C2OK[✅ No broken links, claim is now defensible]

    D --> D1[rsc-third-party-libs.md\nv6.3.0+ → v6.3.x series with specifics\nv6.3.3 server warnings, v6.3.9 precedence attr]
    D1 --> D2{v6.3.9 precedence attr\nclaim accurate?}
    D2 -->|No: release notes show v6.3.7| D3[⚠ v6.3.9 fixed CSS block comments\nprecedence attr was v6.3.7]

    E --> E1[rsc-preparing-app.md\nRemoved major.minor must match React\nReplace with README reference]
    E1 --> E2[✅ Defers to authoritative source]
Loading

Last reviewed commit: "Fix unverified claim..."

Comment thread docs/oss/migrating/rsc-third-party-libs.md Outdated
Comment thread docs/oss/migrating/rsc-troubleshooting.md Outdated
- Add missing `module.exports = webpackConfig;` to Shakapacker snippet
  (without it the EnvironmentPlugin addition silently has no effect)
- Correct filename comment from `environment.js` to `webpack.config.js`
  (`generateWebpackConfig()` belongs in webpack.config.js, not environment.js)
- Fix styled-components precedence attribute version from v6.3.9 to v6.3.7
  (v6.3.9 fixed CSS block comments; precedence handling was v6.3.7)

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
@justin808
Copy link
Copy Markdown
Member Author

Re: the security language removal concern —

The PR's explicit goal is removing unverified claims. The original text stated "upstream security patches" as justification for 19.0.4 but that framing was not verified against actual CVE records. The current text still recommends 19.0.4+ and explains the concrete reason (updated react-server-dom-webpack builds), which gives users a factual basis for upgrading without making unverified security claims. Leaving this as-is.

The webpack snippet and version attribution issues have both been addressed in 95ea3ef.

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 21, 2026

Review: Fix unverified claims and errors in RSC migration docs

Overall, this is a solid cleanup of factual issues. The changes are well-scoped and the editorial decisions are sound.

Webpack snippet (rsc-troubleshooting.md) OK - The migration from @rails/webpacker to shakapacker's generateWebpackConfig() is correct, and the second commit's addition of the missing module.exports and filename fix are important catches.

Frigade stat removal (migrating-to-rsc.md) OK - Removing the specific 62% figure was the right call. The new phrasing is appropriately general.

Version compatibility (rsc-preparing-app.md) Minor concern - The removal of 'upstream security patches' from the 19.0.4 requirement note is editorially correct (the specific CVE claims were unverifiable), but the resulting text 'updated in 19.0.4' gives readers no signal about why the upgrade matters. A middle ground like 'with security-related fixes' would convey urgency without making unverifiable claims.

styled-components versions (rsc-third-party-libs.md) Minor concern - The PR self-corrects v6.3.9 to v6.3.7, which is good. These specific version claims (v6.3.3, v6.3.7) should be verified against the styled-components CHANGELOG before merge to avoid introducing the same category of error this PR is fixing.

Comment thread docs/oss/migrating/rsc-preparing-app.md
Comment thread docs/oss/migrating/rsc-third-party-libs.md Outdated
Comment thread docs/oss/migrating/rsc-troubleshooting.md
The previous commit changed v6.3.9 to v6.3.7 based on a reviewer
suggestion, but the styled-components CHANGELOG confirms v6.3.9 is
correct: it fixed createGlobalStyle unmount behavior related to React
19's precedence attribute. v6.3.7 addressed StrictMode/RSC compat
for createGlobalStyle with no mention of precedence.

Also updated the description to more precisely describe the v6.3.9 fix.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Comment thread docs/oss/migrating/migrating-to-rsc.md
Comment thread docs/oss/migrating/rsc-preparing-app.md
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 22, 2026

Review: Fix unverified claims and errors in RSC migration docs

Overall this is a solid set of corrections — the changes are well-targeted and the motivations are clearly documented.

What's good:

  • The webpack snippet replacement is the most impactful fix: the old @rails/webpacker API is genuinely deprecated, and the new generateWebpackConfig() + plugins.push() + module.exports pattern is correct Shakapacker usage. The module.exports addition in the second commit is an important catch — without it the plugin addition would have silently had no effect.
  • Removing the specific "62%" Frigade stat is the right call; pinning documentation to a third-party case study number creates long-term maintenance debt.
  • The styled-components v6.3.x breakdown (v6.3.3 server warnings, v6.3.9 createGlobalStyle/precedence fix) is a meaningful accuracy improvement over the vague "v6.3.0+ added RSC support" claim.
  • Pointing version compatibility to the package README rather than encoding a specific rule in the docs is good hygiene — the compatibility matrix is likely to evolve.

Two minor concerns (inline comments posted):

  1. migrating-to-rsc.md line 12 — the second performance bullet loses the "reported across RSC adoption case studies" qualifier that was added to the first bullet, leaving it reading as a universal claim.
  2. rsc-preparing-app.md line 52 — removing "with upstream security patches" from the 19.0.4 version requirement drops the signal that this is a security-motivated upgrade, not just a functional one. Preserving that context (without needing specific CVE IDs) helps users judge upgrade priority.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a4698be287

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/oss/migrating/rsc-troubleshooting.md
@justin808 justin808 merged commit 85f913e into main Mar 22, 2026
20 checks passed
@justin808 justin808 deleted the jg/2525-rsc-docs-fix branch March 22, 2026 02:48
justin808 added a commit that referenced this pull request Mar 25, 2026
## Summary

- Stamp `### [16.5.0.rc.0]` version header with today's date
- Add 10 new changelog entries for PRs merged since v16.4.0
- Fix incomplete PR 2818 entry (missing author link)

### New entries added

**Added:**
- `create-react-on-rails-app --pro` support (PR 2818)
- Global prerender env override `REACT_ON_RAILS_PRERENDER_OVERRIDE` (PR
2816)
- `react_on_rails:sync_versions` rake task (PR 2797)
- Pro/RSC setup checks in `react_on_rails:doctor` (PR 2674)

**Changed:**
- [Pro] Canonical env var for worker count is now
`RENDERER_WORKERS_COUNT` (PR 2611)

**Improved:**
- Smoother `create-react-on-rails-app` and install generator flows (PR
2650)
- Pro upgrade hint after install (PR 2642)

**Fixed:**
- Preserve runtime env vars across `Bundler.with_unbundled_env` (PR
2836)
- Fix doctor prerender check and ExecJS display for Pro/RSC apps (PR
2773)
- Fix doctor false positives for custom layouts (PR 2612)

### Skipped PRs (not user-visible)

Docs-only: #2845, #2842, #2826, #2830, #2820, #2809, #2803, #2785,
#2801, #2791, #2789, #2788, #2772, #2778, #2780, #2784, #2671, #2676,
#2662, #2657, #2669
CI/internal tooling: #2825, #2817, #2819, #2812, #2815, #2810, #2808,
#2807, #2634, #2798, #2761, #2760, #2658, #2639, #2667, #2656

## Test plan

- [x] Verified version header and diff links are correct
- [x] Verified all entries follow changelog formatting conventions
- [x] Verified file ends with newline
- [ ] After merge, run `rake release` to publish 16.5.0.rc.0

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Documentation-only change updating `CHANGELOG.md` with a new
`16.5.0.rc.0` section and compare links; no runtime code is modified.
> 
> **Overview**
> Adds a new `16.5.0.rc.0` (2026-03-25) section to `CHANGELOG.md`,
consolidating recent PR entries under **Added/Changed/Improved/Fixed**
and correcting the previously incomplete `--pro` CLI entry author
attribution.
> 
> Updates the bottom compare links so `[unreleased]` now compares from
`v16.5.0.rc.0` and adds a link definition for `[16.5.0.rc.0]`.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
481a71c. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Release Notes - v16.5.0.rc.0

* **New Features**
  * Added sync_versions task for streamlined version management
  * Expanded doctor checks for Pro and RSC support

* **Improvements**
  * Enhanced generator workflow and Pro upgrade guidance
  * Improved environment variable handling and preservation

* **Bug Fixes**
* Fixed detection issues with doctor tools and ExecJS/prerender
functionality

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
justin808 added a commit that referenced this pull request Mar 30, 2026
## Summary

Fixes factual errors and unverified claims in RSC migration docs flagged
in #2525:

- **C1 (CVEs)**: Already absent from codebase — no action needed
- **C2 (`@rails/webpacker`)**: Replaced deprecated
`require('@rails/webpacker')` with Shakapacker's
`require('shakapacker')` API in `rsc-troubleshooting.md`
- **C3 (Frigade stats)**: Removed unverifiable "62% reduction"
statistic; replaced with generic attribution to RSC adoption case
studies
- **C4 (styled-components)**: Replaced vague "v6.3.0+ added RSC support"
with verified release-specific details (v6.3.3 server warnings, v6.3.9
precedence attribute)
- **C5 (version matching)**: Removed unverifiable claim that
`react-on-rails-rsc` major.minor must match `react`; replaced with
direction to check the package README
- **C6 (`Date` objects)**: Correct for React 19's Flight protocol (which
RSC requires) — no change needed

Closes #2525

## Test plan

- [ ] Verify all four changed markdown files render correctly
- [ ] Confirm no broken links introduced

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Documentation-only updates that adjust factual claims and config
examples; low risk aside from potential reader confusion if the new
Shakapacker snippet doesn't match a given app's setup.
> 
> **Overview**
> Removes or softens unverified performance and compatibility claims in
the RSC migration docs (e.g., replaces a specific bundle-size reduction
stat with general case-study wording, and revises `react-on-rails-rsc`
version guidance to point to the package docs).
> 
> Clarifies third-party library notes (more specific `styled-components`
v6.3.x behavior) and fixes a Shakapacker environment-variable injection
example to use `generateWebpackConfig`/`webpackConfig.plugins.push`
rather than the deprecated `@rails/webpacker`-style snippet.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
a4698be. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Documentation**
* Reworded RSC migration performance claims to cite “significant
reductions” instead of a specific percentage.
* Clarified React-on-Rails-RSC version guidance, directing readers to
the package README/changelog for supported React ranges.
* Expanded styled-components compatibility notes with more granular
v6.3.x behavior details.
* Updated environment-variable injection guidance to use the Shakapacker
workflow with an explicit webpack config example.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
justin808 added a commit that referenced this pull request Apr 6, 2026
## Summary

Fixes factual errors and unverified claims in RSC migration docs flagged
in #2525:

- **C1 (CVEs)**: Already absent from codebase — no action needed
- **C2 (`@rails/webpacker`)**: Replaced deprecated
`require('@rails/webpacker')` with Shakapacker's
`require('shakapacker')` API in `rsc-troubleshooting.md`
- **C3 (Frigade stats)**: Removed unverifiable "62% reduction"
statistic; replaced with generic attribution to RSC adoption case
studies
- **C4 (styled-components)**: Replaced vague "v6.3.0+ added RSC support"
with verified release-specific details (v6.3.3 server warnings, v6.3.9
precedence attribute)
- **C5 (version matching)**: Removed unverifiable claim that
`react-on-rails-rsc` major.minor must match `react`; replaced with
direction to check the package README
- **C6 (`Date` objects)**: Correct for React 19's Flight protocol (which
RSC requires) — no change needed

Closes #2525

## Test plan

- [ ] Verify all four changed markdown files render correctly
- [ ] Confirm no broken links introduced

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Documentation-only updates that adjust factual claims and config
examples; low risk aside from potential reader confusion if the new
Shakapacker snippet doesn't match a given app's setup.
> 
> **Overview**
> Removes or softens unverified performance and compatibility claims in
the RSC migration docs (e.g., replaces a specific bundle-size reduction
stat with general case-study wording, and revises `react-on-rails-rsc`
version guidance to point to the package docs).
> 
> Clarifies third-party library notes (more specific `styled-components`
v6.3.x behavior) and fixes a Shakapacker environment-variable injection
example to use `generateWebpackConfig`/`webpackConfig.plugins.push`
rather than the deprecated `@rails/webpacker`-style snippet.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
a4698be. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Documentation**
* Reworded RSC migration performance claims to cite “significant
reductions” instead of a specific percentage.
* Clarified React-on-Rails-RSC version guidance, directing readers to
the package README/changelog for supported React ranges.
* Expanded styled-components compatibility notes with more granular
v6.3.x behavior details.
* Updated environment-variable injection guidance to use the Shakapacker
workflow with an explicit webpack config example.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

RSC migration docs: Unverified claims and factual errors

1 participant