Skip to content

Validate React on Rails 17 RC12#783

Merged
justin808 merged 1 commit into
masterfrom
chore/demo-fleet/rc12
Jul 16, 2026
Merged

Validate React on Rails 17 RC12#783
justin808 merged 1 commit into
masterfrom
chore/demo-fleet/rc12

Conversation

@justin808

@justin808 justin808 commented Jul 16, 2026

Copy link
Copy Markdown
Member

Why

Validate the tutorial's consumed React on Rails Pro/RSC stack against the published React on Rails 17 RC12 artifacts. RC12 raises the Pro package's react-on-rails-rsc peer floor to stable 19.2.1, so the RSC package moves from 19.2.1-rc.1 to 19.2.1 in the same lockstep update.

Changes

  • react_on_rails / react_on_rails_pro: 17.0.0.rc.10 -> 17.0.0.rc.12
  • react-on-rails / react-on-rails-pro / react-on-rails-pro-node-renderer: 17.0.0-rc.10 -> 17.0.0-rc.12
  • react-on-rails-rsc: 19.2.1-rc.1 -> 19.2.1
  • Regenerated only the root Bundler and Yarn Classic lock records consumed by this app.

Rails, React, Shakapacker, Rspack, cpflow, unrelated direct/transitive dependencies, package metadata, and lock platforms remain unchanged.

Lock and source evidence

  • Frozen Bundler and Yarn installs pass.
  • The retained locks contain no file:, link:, workspace:, local, or Git source for React on Rails packages.
  • Ruby packages resolve only from https://rubygems.org/; the four changed Yarn records resolve from https://registry.npmjs.org/ with registry-matching integrity/shasum metadata.
  • Bundler platforms are unchanged: aarch64-linux, arm64-darwin, arm64-darwin-22, x86_64-linux, x86_64-linux-gnu.
  • No sibling lockfiles exist. This repo has no Dependabot configuration, so there is no directory coverage to update.

Verification

  • bin/conductor-exec bundle install --frozen
  • bin/conductor-exec yarn install --frozen-lockfile --non-interactive
  • bin/conductor-exec bundle check
  • bin/conductor-exec yarn check --integrity
  • .agents/bin/test
    • RuboCop: 58 files, 0 offenses
    • RSpec: 51 examples, 0 failures
    • Jest: 4 suites / 16 tests, all passing
    • test client/server/RSC bundles compiled
  • bin/conductor-exec bundle exec rake lint
  • Explicit development client/server/RSC pack generation and Shakapacker build

Manual QA

  • /: 200 with server-rendered React markup before hydration.
  • Hydrated comment form submitted synthetic Markdown; Rails returned 201, Action Cable upgraded/broadcast successfully, and the new comment rendered in-page. Synthetic data was removed afterward.
  • /server-components: 200 with streamed RSC content.
  • RSC Refresh changed the server timestamp and advanced the refresh count.
  • Deliberate Simulate Error rendered the expected ServerComponentFetchError; Retry removed the failure and restored the live component.
  • Unknown route returned 404 as the cheap unhappy-path check.
  • No unexpected RSC console/runtime errors. The deliberate RSC failure produced the expected error-boundary diagnostics. The root page emits a nonfatal pre-existing react-intl missing-locale fallback diagnostic while continuing to render and hydrate.

Review and churn

  • Manual self-review: four-file dependency/lock-only diff; no unrelated churn.
  • Primary codex review: unavailable because the local Codex CLI quota was exhausted; recorded as reviewer-tool availability, not a product failure.
  • Claude /code-review fallback: completed on both the exact uncommitted candidate and immutable origin/master...HEAD; no in-scope actionable correctness, compatibility, security, lock-integrity, or release-process findings.
  • Rejected optional findings: pre-existing README version-matrix drift and a new generic cross-ecosystem version-pairing CI mechanism are outside this bounded RC validation lane.
  • Claude /simplify origin/master: no applicable code surface and no changes.
  • Post-push review churn so far: 0 follow-up commits, 0 review-fix rounds, 0 CI reruns.

Hosted evidence

  • Exact head: 1e0fab81a63e5604e52649fea9403a241ef534b0.
  • Hosted Lint CI, JS CI, and RSpec CI: passed.
  • Hosted Claude review: passed with no correctness, security, or lock-integrity findings.
  • CodeRabbit: approved; Greptile: 5/5 confidence with no blocking findings.
  • Review inventory: zero inline comments, zero review threads, and no actionable summary feedback. CodeRabbit's auxiliary ESLint parser warning treated package.json as JavaScript; the repository's hosted Lint CI passed, so this is non-actionable tool noise.

External review-app blocker

The automatic review-app workflow validated the exact PR SHA, secrets, and repository config. First-time +review-app-deploy then failed in the pre-existing Control Plane setup before image build/deploy: the Control Plane API rejected .controlplane/templates/node-renderer.yml with HTTP 400 because spec.containers[0].startupProbe is not allowed.

Disposition: open and not merge-ready until the external review-app infrastructure gate is repaired and hosted smoke can be completed.

@github-actions

Copy link
Copy Markdown

🚀 Quick Review App Commands

Welcome! Here are the commands you can use in this PR:
They require the repository to have cpflow review apps configured, including the CPLN_TOKEN_STAGING secret.

+review-app-deploy

Deploy your PR branch for testing.

+review-app-delete

Remove the review app when done.

+review-app-help

Show detailed instructions, environment setup, and configuration options.

Comment +review-app-help for full setup details.

@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown

Review Change Stack

Walkthrough

Updates React on Rails Pro dependencies to rc.12 and React on Rails RSC to 19.2.1 across the Ruby and JavaScript dependency manifests.

Changes

React on Rails dependency updates

Layer / File(s) Summary
Dependency version alignment
Gemfile, package.json
The React on Rails Pro dependencies move to 17.0.0.rc.12/17.0.0-rc.12, while react-on-rails-rsc moves from 19.2.1-rc.1 to 19.2.1.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Possibly related PRs

Suggested reviewers: ihabadham

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly reflects the main change: validating React on Rails 17 RC12 artifacts and dependency updates.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/demo-fleet/rc12

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.

@justin808

Copy link
Copy Markdown
Member Author

+review-app-deploy

@claude

claude Bot commented Jul 16, 2026

Copy link
Copy Markdown

Review: Validate React on Rails 17 RC12

Overview

Clean, mechanical dependency bump: react_on_rails/react_on_rails_pro 17.0.0.rc.1017.0.0.rc.12 (Gemfile/Gemfile.lock), and the matching JS packages react-on-rails-pro, react-on-rails-pro-node-renderer (17.0.0-rc.1017.0.0-rc.12) plus react-on-rails-rsc (19.2.1-rc.119.2.1, dropping its RC suffix per the new stable peer floor) in package.json/yarn.lock. Only 4 files touched, all version/lock churn — no application code changes.

Correctness

  • Version bumps are consistent across all four files — no stale rc.10/rc-10/19.2.1-rc.1 references left behind anywhere.
  • Gemfile.lock's transitive react_on_rails (17.0.0.rc.12) entry (pulled in by react_on_rails_pro) is correctly updated even though it's not a direct Gemfile dependency.
  • yarn.lock resolved URLs/integrity hashes were regenerated (not hand-edited) and all point at registry.npmjs.org, consistent with the PR description's claim that no file:/link:/workspace:/git sources were introduced.

Risk considerations

  • This still pins the app to release-candidate versions of react_on_rails/react_on_rails_pro (17.0.0.rc.12, not a final 17.0.0). That's presumably intentional for this demo/tutorial repo tracking RC validation, but worth flagging as the main residual risk — RC builds can still change before GA.
  • react-on-rails-rsc moving to a stable 19.2.1 while its sibling Pro/core packages remain RC is a slightly asymmetric pairing; the PR body explains this is because RC12 raised the peer floor to the stable RSC release, which is a reasonable justification.

Process

  • The PR description documents frozen bundle install/yarn install runs, full test suite (RSpec/Jest/RuboCop), manual QA of SSR/hydration/RSC streaming/error-boundary/refresh flows, and confirms no unrelated churn — this is thorough verification for what is otherwise a low-risk lockfile-only change.

Verdict

No correctness, security, or lock-integrity issues found. The change is well-scoped and well-verified. Only note is the inherent RC-pinning risk, which appears to be the intended purpose of this PR (RC validation) rather than an oversight.

@greptile-apps

greptile-apps Bot commented Jul 16, 2026

Copy link
Copy Markdown

Greptile Summary

This PR validates the application against the React on Rails 17 RC12 package set. The main changes are:

  • Updates the Ruby React on Rails packages from RC10 to RC12.
  • Updates the JavaScript Pro and node-renderer packages from RC10 to RC12.
  • Moves react-on-rails-rsc from 19.2.1-rc.1 to stable 19.2.1.
  • Refreshes the corresponding Bundler and Yarn lock records.

Confidence Score: 5/5

This looks safe to merge.

  • The manifest and lockfile versions match.
  • The Ruby and JavaScript Pro packages retain exact dependencies on the matching core RC12 packages.
  • The RSC dependency remains aligned with the application's React 19.2.7 stack.
  • No blocking issues were found in the changed code.

Important Files Changed

Filename Overview
Gemfile Updates the direct react_on_rails_pro dependency to RC12.
Gemfile.lock Updates the Ruby Pro and core packages together, including their exact dependency relationship.
package.json Updates the JavaScript Pro packages to RC12 and the RSC package to stable 19.2.1.
yarn.lock Refreshes the four affected registry records and preserves the matching Pro-to-core dependency edge.

Reviews (1): Last reviewed commit: "Validate React on Rails 17 RC12" | Re-trigger Greptile

@justin808

Copy link
Copy Markdown
Member Author

+review-app-delete

@github-actions

github-actions Bot commented Jul 16, 2026

Copy link
Copy Markdown

✅ Review App Deleted

Review app for PR #783 is deleted

🎮 Control Plane Console
📋 View Workflow Logs

@justin808
justin808 merged commit 5ea9901 into master Jul 16, 2026
10 checks passed
@justin808
justin808 deleted the chore/demo-fleet/rc12 branch July 16, 2026 21:42
@github-actions

github-actions Bot commented Jul 16, 2026

Copy link
Copy Markdown

✅ Review App Deleted

Review app for PR #783 is deleted

🎮 Control Plane Console
📋 View Workflow Logs

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.

1 participant