docs: remove stale immediate_hydration references (#3139)#3159
docs: remove stale immediate_hydration references (#3139)#3159
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughRemoved references and examples for the removed Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
Code ReviewSummary: Documentation-only cleanup that removes stale What's Good
Minor Nit (pre-existing, touched by this PR)In GitHub's alert syntax expects > [!WARNING]
> **Async Scripts with Turbolinks Require Pro**This was pre-existing and the PR only changed the title text, so it's fine to leave it for a follow-up. Worth noting since GitHub renders the two forms differently. Verdict✅ Approve. The changes are accurate, well-scoped, and directly fix the user confusion reported in #3139. The test plan grep confirms no live references remain in the targeted directories. |
There was a problem hiding this comment.
🧹 Nitpick comments (2)
docs/pro/streaming-ssr.md (1)
338-349: LGTM! Section accurately describes Pro's automatic early hydration.The renamed "Early Hydration (Pro)" section correctly:
- Describes hydration timing (before
DOMContentLoaded)- States the feature is always enabled for Pro users
- Clarifies no per-component toggle is exposed
This aligns perfectly with the PR objectives.
Optional style improvement
Consider hyphenating "full page" → "full-page" on Line 340 for consistency with compound adjective usage:
-React on Rails Pro hydrates components during the page loading state (before `DOMContentLoaded`), rather than waiting for the full page load. +React on Rails Pro hydrates components during the page loading state (before `DOMContentLoaded`), rather than waiting for the full-page load.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/pro/streaming-ssr.md` around lines 338 - 349, In the "Early Hydration (Pro)" section update the compound adjective "full page load" to "full-page load" for consistency; locate the paragraph that lists benefits (the one mentioning waiting for `DOMContentLoaded` / full page load) and change "full page load" to "full-page load" within that sentence.docs/oss/building-features/turbolinks.md (1)
257-267: LGTM! Async scripts warning accurately reflects Pro's automatic behavior.The warning correctly:
- States that Pro's early hydration behavior is needed (not that users need to enable it)
- Lists "early hydration is automatic for Pro users" as an alternative (Line 267)
- No longer references configuring
immediate_hydrationThis is consistent with the broader documentation updates.
Optional style improvement
Consider hyphenating "full page" → "full-page" on Line 265 for consistency with compound adjective usage:
-- Use `defer` instead of `async` (waits for full page load before hydration) +- Use `defer` instead of `async` (waits for full-page load before hydration)🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/oss/building-features/turbolinks.md` around lines 257 - 267, Fix the minor style issue in the Turbolinks warning: update the phrase inside the bullet "Use `defer` instead of `async` (waits for full page load before hydration)" to hyphenate the compound adjective, changing "full page load" to "full-page load" so the sentence reads "(waits for full-page load before hydration)".
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@docs/oss/building-features/turbolinks.md`:
- Around line 257-267: Fix the minor style issue in the Turbolinks warning:
update the phrase inside the bullet "Use `defer` instead of `async` (waits for
full page load before hydration)" to hyphenate the compound adjective, changing
"full page load" to "full-page load" so the sentence reads "(waits for full-page
load before hydration)".
In `@docs/pro/streaming-ssr.md`:
- Around line 338-349: In the "Early Hydration (Pro)" section update the
compound adjective "full page load" to "full-page load" for consistency; locate
the paragraph that lists benefits (the one mentioning waiting for
`DOMContentLoaded` / full page load) and change "full page load" to "full-page
load" within that sentence.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 3ea904ea-f1f1-4094-b494-5f5d680255d3
📒 Files selected for processing (4)
docs/oss/api-reference/ruby-api-pro.mddocs/oss/building-features/turbolinks.mddocs/pro/streaming-ssr.mddocs/pro/troubleshooting.md
💤 Files with no reviewable changes (1)
- docs/pro/troubleshooting.md
Greptile SummaryThis PR removes stale Confidence Score: 5/5Safe to merge — documentation-only change with no code impact. All four changed files are docs-only. The rewording accurately reflects the actual behavior (Pro always-on, OSS unavailable, no per-component toggle). Prose is internally consistent and no No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[React Component Inserted into DOM] --> B{React on Rails Edition?}
B -->|Pro| C[Early Hydration — before DOMContentLoaded\nalways on, no toggle]
B -->|OSS| D[Standard Hydration — waits for\npage load events]
C --> E[Component Interactive]
D --> F[DOMContentLoaded fires]
F --> E
Reviews (1): Last reviewed commit: "docs: remove stale immediate_hydration r..." | Re-trigger Greptile |
The `immediate_hydration` option was removed from the codebase in #2834. The behavior it controlled (Pro users hydrate components before DOMContentLoaded) still exists, but it's now always-on for Pro and always-off for OSS — there is no per-component toggle. Several docs still showed `immediate_hydration: true/false` in code examples or advised users to "enable" the option. This reframes those sections as descriptions of Pro's built-in early hydration behavior and drops the stale code examples. Files updated: - docs/pro/streaming-ssr.md — rewrite "Immediate Hydration" as "Early Hydration (Pro)", remove code example disabling the option - docs/pro/troubleshooting.md — drop the stale bullet - docs/oss/building-features/turbolinks.md — reframe Turbo Streams and async+Turbolinks sections; remove `immediate_hydration: true` from code examples - docs/oss/api-reference/ruby-api-pro.md — remove `:immediate_hydration` from stream_react_component options Fixes #3139
7b50cf7 to
a034bd9
Compare
There was a problem hiding this comment.
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/building-features/turbolinks.md`:
- Line 257: The callout line currently merges the marker and title ('>
[!WARNING] > **Async Scripts with Turbolinks Require Pro**'), breaking
rendering; split it so the marker is on its own line ('> [!WARNING]') and move
the title to the following line prefixed with '>' (e.g., '> **Async Scripts with
Turbolinks Require Pro**'), ensuring subsequent callout content lines also start
with '>' to match the document's callout format.
🪄 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: 10e9af2b-f124-43a5-aa13-a2d3ab2e4e4d
📒 Files selected for processing (4)
docs/oss/api-reference/ruby-api-pro.mddocs/oss/building-features/turbolinks.mddocs/pro/streaming-ssr.mddocs/pro/troubleshooting.md
💤 Files with no reviewable changes (1)
- docs/pro/troubleshooting.md
🚧 Files skipped from review as they are similar to previous changes (1)
- docs/oss/api-reference/ruby-api-pro.md
GitHub's alert syntax requires the `[!WARNING]` marker to be alone on its own line for the callout to render correctly across viewers. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Code ReviewSummary: Clean, focused documentation cleanup. Removes stale What works well
Issues
|
Review comment triageAddressed:
No action (rationale):
No further changes needed; PR is ready for merge review. |
|
Tip For best results, initiate chat on the files or code changes.
🧠 Learnings used |
|
Thanks for the triage summary. Everything looks good — the |
Code ReviewOverall: Clean, well-scoped documentation fix. The test plan's What the PR does well
Minor observations (non-blocking)
VerdictApproving. The core change is accurate and resolves real user confusion caused by stale option documentation. |
…igration step Address review feedback on PR #3159: - configuration-deprecated.md: drop the `react_component(..., immediate_hydration: false)` per-component override example. The per-component toggle was removed alongside the global option; the example contradicted the new docs and would mislead Pro users following the migration path. - streaming-ssr.md: rephrase Migration Timeline step 3 from "Use React on Rails Pro" to "Early Hydration (Pro): ... no additional configuration needed", since Pro is a prerequisite of the section, not an action to take.
Review comment triage (round 2)Follow-up to my earlier triage. I (Claude Code) re-scanned the open review feedback and addressed two additional items raised in @claude[bot]'s detailed review: Addressed in b32f1b5:
Resolved (no code change needed):
No action — rationale:
PR is ready for merge review. |
|
Tip For best results, initiate chat on the files or code changes.
All outstanding review threads are now accounted for. PR is clean for merge. 🚀 🧠 Learnings used |
|
Good triage summary. One remaining open thread to note: the Everything else looks clean. The |
Addresses PR #3159 review comment on docs/oss/api-reference/ruby-api-pro.md:50. The options signature and Pro hydration behavior were merged into one run-on sentence; split them so the Pro-specific note stands on its own as a callout. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Review comment triage (round 3)Follow-up to round 2. I (Claude Code) cleared the two remaining unresolved inline threads from @claude[bot]: Addressed in 55e4490:
Resolved (no code change needed):
All inline review threads on this PR are now resolved. PR is ready for merge review. |
Review: docs: remove stale immediate_hydration references (#3139)Overall: Clean, well-scoped docs-only PR. The changes are accurate and the decision to preserve historical release-notes untouched is sound policy. What's done well
One issue to address
The last sentence actively contradicts what this PR establishes — per-component VerificationThe PR test-plan grep passes: no live |
The troubleshooting entry for the immediate_hydration deprecation warning told users to "use component-level overrides if needed," but per-component immediate_hydration: keys have been no-ops since #2834 and configuration- deprecated.md now says to delete them. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Review comment triage (round 4)Follow-up to round 3. I (Claude Code) triaged the latest @claude[bot] review, which flagged one remaining piece of live migration guidance inside an otherwise historical release-notes file. Addressed:
No open threads. All five inline review threads from earlier rounds are still resolved. No new inline comments were posted in this review, so nothing to reply to or resolve. |
Code ReviewOverall: This is a clean, well-scoped docs-only cleanup. The prose reframing is accurate and the stale code examples are correctly removed. A couple of issues worth addressing: Issue 1: PR description lists
|
v17.0 has not been released. immediate_hydration was removed in v16.6.0 (released 2026-04-09 per CHANGELOG). Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
| # Non-Pro users: immediate_hydration is ignored | ||
| ``` | ||
| **Migration:** Remove any `config.immediate_hydration` lines from your configuration and any `immediate_hydration:` keys passed to `react_component` / `stream_react_component` — both are no-ops and can be safely deleted. | ||
|
|
There was a problem hiding this comment.
The CHANGELOG for v16.6.0 explicitly distinguishes between the two helpers:
"Passing
immediate_hydration:toreact_component/react_component_hashis now ignored, and passing it tostream_react_componentlogs a warning."
So calling these options "no-ops" is slightly imprecise — stream_react_component actively warns. Migration guidance telling users to delete the key is correct, but describing stream_react_component as a silent no-op could cause confusion when users see warnings in their logs and wonder why.
| **Migration:** Remove any `config.immediate_hydration` lines from your configuration and any `immediate_hydration:` keys passed to `react_component` / `stream_react_component` — they are no-ops (note: `stream_react_component` logs a deprecation warning until removed). |
| **Cause:** The global config option is now deprecated and has no effect. | ||
|
|
||
| **Solution:** Remove `config.immediate_hydration` from your initializer. The setting is now automatic (enabled for Pro users, disabled for non-Pro). Use component-level overrides if needed. | ||
| **Solution:** Remove `config.immediate_hydration` from your initializer. The setting is now automatic (enabled for Pro users, disabled for non-Pro). |
There was a problem hiding this comment.
This file is listed under "Files intentionally left alone" in the PR description, but it is in fact modified here. The change itself is correct (removing the stale "Use component-level overrides if needed" advice), but the PR description should list it under Files updated rather than Files intentionally left alone to avoid reviewer confusion.
Code ReviewOverall: Clean, well-scoped documentation-only PR. The What's correct
Issues found
Minor observations
No runtime behavior changes. Two small fixes needed before merge (see inline comments), both are doc-only tweaks. |
Review comment triage (round 5)Follow-up to round 4. I (Claude Code) triaged the latest @claude[bot] review plus a user-flagged version bug on line 11 of Addressed:
Declined (with reply and thread resolved):
Considered and declined (no thread to resolve):
No open threads. The last unresolved thread is now resolved. |
…ons-docs * origin/main: chore: remove redundant --rsc-pro install generator flag (#3105) ci: warn (don't fail) on Bencher main regression (#3168) test: enable RSpec --profile to surface slowest package tests (#3176) fix(node-renderer): expose performance in VM context when supportModules (#3158) docs: remove stale immediate_hydration references (#3139) (#3159) docs: restore absolute URL for node-renderer testing example (#3179) Bump Rspack dependencies to v2 (^2.0.0-0) (#3084) chore: remove obsolete webpack <5.106.0 pin (#3175) Move Node Renderer entry point to renderer/ directory (#3165) docs: address RSC pitfalls review follow-ups (#3155) (#3156) docs: remove fabricated DevConsole reference, link verified RSC tools (#2527) (#3163) # Conflicts: # docs/oss/building-features/node-renderer/js-configuration.md
…ging' into jg/3122-rolling-deploy-adapter * origin/jg/3122-unify-renderer-cache-staging: (39 commits) fix(specs): boot dummy specs without readline and drop redundant pnpm workspace (#3190) docs: add RSC migration success stories page (#1985) (#3162) Fix Bencher reporting permanently broken on pushes to main (#3148) docs: add example migrations guide (#3126) docs: remove defunct guavapass.com reference (#3199) chore: remove redundant --rsc-pro install generator flag (#3105) ci: warn (don't fail) on Bencher main regression (#3168) test: enable RSpec --profile to surface slowest package tests (#3176) fix(node-renderer): expose performance in VM context when supportModules (#3158) docs: remove stale immediate_hydration references (#3139) (#3159) docs: restore absolute URL for node-renderer testing example (#3179) Bump Rspack dependencies to v2 (^2.0.0-0) (#3084) chore: remove obsolete webpack <5.106.0 pin (#3175) Move Node Renderer entry point to renderer/ directory (#3165) docs: address RSC pitfalls review follow-ups (#3155) (#3156) docs: remove fabricated DevConsole reference, link verified RSC tools (#2527) (#3163) Scaffold CI workflow and build scripts for first-run consistency (#3097) Add OPTIONAL triage tier and fix recommendations to /address-review (#3161) chore: sync Gemfile.lock with term-ansicolor 1.11.3 (#3164) Simplify the docs sidebar and Pro landing pages (#3119) ...
* origin/main: fix(specs): boot dummy specs without readline and drop redundant pnpm workspace (#3190) docs: add RSC migration success stories page (#1985) (#3162) Fix Bencher reporting permanently broken on pushes to main (#3148) docs: add example migrations guide (#3126) docs: remove defunct guavapass.com reference (#3199) chore: remove redundant --rsc-pro install generator flag (#3105) ci: warn (don't fail) on Bencher main regression (#3168) test: enable RSpec --profile to surface slowest package tests (#3176) fix(node-renderer): expose performance in VM context when supportModules (#3158) docs: remove stale immediate_hydration references (#3139) (#3159) docs: restore absolute URL for node-renderer testing example (#3179) Bump Rspack dependencies to v2 (^2.0.0-0) (#3084) chore: remove obsolete webpack <5.106.0 pin (#3175) Move Node Renderer entry point to renderer/ directory (#3165) docs: address RSC pitfalls review follow-ups (#3155) (#3156) # Conflicts: # CHANGELOG.md
Summary
The
immediate_hydrationoption was removed from the codebase in #2834. The behavior it controlled (Pro users hydrate components beforeDOMContentLoaded) still exists, but it's now always-on for Pro and always-off for OSS — there is no per-component toggle.Several docs still presented
immediate_hydrationas a configurable option, which confused users who tried to set it and found it didn't exist. This PR reframes those sections as descriptions of Pro's built-in early hydration behavior and drops stale code examples.Files updated
docs/pro/streaming-ssr.md— renamed "Immediate Hydration" to "Early Hydration (Pro)"; reworded surrounding prose; removed theimmediate_hydration: falsecode example; updated migration-timeline bulletdocs/pro/troubleshooting.md— removed the "Verifyimmediate_hydrationoption" bullet from the hydration-failure checklistdocs/oss/building-features/turbolinks.md— reframed the Turbo Streams section (Pro's early hydration is automatic, not a per-call option); removedimmediate_hydration: truefrom the code example; reworded the async+Turbolinks warning box; removed the v16.0 migration note that referenced the removed option; fixed GitHub[!WARNING]alert syntax so the callout rendersdocs/oss/api-reference/ruby-api-pro.md— removed:immediate_hydrationfrom thestream_react_componentoptions list and split the options/hydration note for claritydocs/oss/configuration/configuration-deprecated.md— tightened the migration step (delete both config and per-componentimmediate_hydration:keys — all are no-ops) and corrected the removal version to v16.6.0docs/oss/upgrading/release-notes/16.2.0.md— dropped the stale "use component-level overrides if needed" hint from the troubleshooting section (per-component keys were also removed in v16.6.0). The historical "Component-level overrides still work" section is preserved as-is since it accurately describes behavior at the 16.2.0 release point.Files intentionally left alone
Per the issue, release notes and migration guidance still correctly reference
immediate_hydrationas a historical/deprecated option:docs/oss/upgrading/release-notes/16.0.0.mddocs/oss/configuration/README.mddocs/oss/upgrading/upgrading-react-on-rails.md(migration guidance)Fixes #3139
Test plan
grep -rn immediate_hydration docs/pro docs/oss/building-features docs/oss/api-referencereturns no live/example references (only migration/deprecation guidance remains in upgrade-notes and deprecation docs, as intended)streaming-ssr.mdandturbolinks.mdto confirm the reframing reads well🤖 Generated with Claude Code