Skip to content

Bump React on Rails packages to 17.2.0 rc.2 - #857

Merged
justin808 merged 1 commit into
masterfrom
justin808-claude/5121-bump-react-on-rails-17-2-0-rc-2
Oct 9, 2026
Merged

justin808 merged 1 commit into
masterfrom
justin808-claude/5121-bump-react-on-rails-17-2-0-rc-2

Conversation

@justin808

@justin808 justin808 commented Oct 9, 2026 •

Copy link
Copy Markdown
Member

🤖 Claude Code · Anthropic · claude-opus-5-5 · medium

Native publisher settings unavailable for this host; supplied attribution is unverified.

The tutorial now runs the published React on Rails 17.2.0 rc.2 packages, the intended final candidate tracked in release gate shakacode/react_on_rails#5121. The Pro gem and the Pro and Node renderer npm packages are pinned to rc.2; the core gem and package follow through the lockfiles. React and React DOM stay on 19.2.8 with react-on-rails-rsc 19.3.0, which the exact pin in package.json holds even though 19.3.1 is now npm latest. Merged as 240188a; master CI and the staging deploy passed afterwards.

PR prepared with Shaka.

Code Walkthrough · Post-implementation verification

Known gaps

The review app for this PR was deleted after its smoke passed, so there is no live preview. The first delete attempt failed when the Control Plane API returned a 500 while removing the Postgres volume set; one retry removed everything. The README version targets still list 17.1.0, as before this change.

Check Result
Frozen installs PASS on d7573dc: yarn install --frozen-lockfile and frozen bundle install
Lockfile diff Only the five React on Rails entries change; react, react-dom and react-on-rails-rsc entries are untouched
Local validation PASS on d7573dc: RuboCop, ESLint, test asset build, 80 RSpec examples, 16 Jest tests
Node renderer start PASS: reports Node Renderer version 17.2.0-rc.2 and listens with no version-check error
Hosted CI PASS on d7573dc: Rspec CI, JS CI, Lint CI and Demo fleet smoke
Review app smoke PASS on d7573dc: home page hydrated; server components page streamed and hydrated; toggle, Refresh, Simulate Error and Retry; RSC payload endpoint 200; containers ran rc.2 with React 19.2.8 and react-on-rails-rsc 19.3.0; app then deleted
Independent review Local adversarial review of d7573dc: one risk, dismissed with evidence
Execution provenance
Field Value
Machine alias m5
Task source description
Workflow version 6d0bddf
Recommended model / effort claude-opus-5-5 / low
Active model / effort claude-opus-5-5 / medium
Usage and cost · $5.29 estimated
Report USD Input Cached input Output Reasoning Cache writes
claude‑opus‑5‑5 implementation $5.12 220 12.7M 35.3K 4.7K 234K
claude‑opus‑5‑5 review $0.17 6 91.3K 2.9K 1K 12.4K
Total $5.29

Understand the columns and accounting rules.

How each report was measured and priced

claude‑opus‑5‑5 implementation

Rate card: installed Shaka.

Anthropic API list prices, verified 2026-09-23.

Sources: Anthropic pricing.

Local adversarial reviewer usage: UNKNOWN. External reviewer/tool-model usage: UNKNOWN.

Native usage is PARTIAL. Scope: all turns in selected sources.

claude‑opus‑5‑5 review

Rate card: installed Shaka.

Anthropic API list prices, verified 2026-09-23.

Sources: Anthropic pricing.

Local adversarial reviewer usage: included below. External reviewer/tool-model usage: UNKNOWN.

Native usage is PARTIAL. Scope: all turns in selected sources.

Rate card: installed Shaka.

Anthropic API list prices, verified 2026-09-23.

Sources: Anthropic pricing.

Local adversarial reviewer usage: UNKNOWN. External reviewer/tool-model usage: UNKNOWN.

Native usage is PARTIAL. 64 responses. Scope: all turns in selected sources.

Shaka settings used

UNKNOWN: rerun missing evidence.

Local files remain local. This reports operation settings and cannot restore them. It does not prove earlier checks ran. Private merge.preference grants no Auto authority. Private trials default to Ask; explicit user authorization and live required gates govern merging.

Setting Before push: validation Review Current merge input (not evidence)
source UNKNOWN UNKNOWN trusted/team
source.layout UNKNOWN UNKNOWN legacy
installation.source UNKNOWN UNKNOWN revision
merge.preference UNKNOWN UNKNOWN ask
merge.private_trial_default UNKNOWN UNKNOWN UNKNOWN
review.required UNKNOWN UNKNOWN none
review.ci_review_wait UNKNOWN UNKNOWN one
overrides.command UNKNOWN UNKNOWN UNKNOWN
overrides.effort UNKNOWN UNKNOWN UNKNOWN
overrides.reviewer UNKNOWN UNKNOWN UNKNOWN
wip.include_locations UNKNOWN UNKNOWN true
opening_check.external_enabled UNKNOWN UNKNOWN true
pr_description.show_shaka_credit UNKNOWN UNKNOWN true
merge.limits.max_changed_files UNKNOWN UNKNOWN 29
merge.limits.max_changed_lines UNKNOWN UNKNOWN 999
merge.limits.max_commits UNKNOWN UNKNOWN 9
prose_limits.max_sentence_words UNKNOWN UNKNOWN 35
prose_limits.max_paragraph_words UNKNOWN UNKNOWN 100
prose_limits.max_description_words UNKNOWN UNKNOWN 300
prose_limits.words_per_changed_line UNKNOWN UNKNOWN 4
commands UNKNOWN UNKNOWN REDACTED
paths UNKNOWN UNKNOWN REDACTED
review.prompts UNKNOWN UNKNOWN REDACTED
review.ci_review_jobs UNKNOWN UNKNOWN REDACTED
merge.required_checks UNKNOWN UNKNOWN REDACTED
branches UNKNOWN UNKNOWN REDACTED
base_branch UNKNOWN UNKNOWN REDACTED
overrides.arguments UNKNOWN UNKNOWN REDACTED
overrides.model UNKNOWN UNKNOWN REDACTED
local_changes UNKNOWN UNKNOWN REDACTED
defaults_changed UNKNOWN UNKNOWN UNKNOWN
source.revision UNKNOWN UNKNOWN 240188a
source.configuration UNKNOWN UNKNOWN trusted/team
installation.version UNKNOWN UNKNOWN 0.1.0.pre.1
installation.revision UNKNOWN UNKNOWN REDACTED

Summary by CodeRabbit

  • Chores
    • Updated React on Rails Pro dependencies to version 17.2.0-rc.2.

Move react_on_rails and react_on_rails_pro to 17.2.0.rc.2 and
react-on-rails, react-on-rails-pro and react-on-rails-pro-node-renderer
to 17.2.0-rc.2. React and React DOM stay at 19.2.8 with
react-on-rails-rsc 19.3.0, so this pairing keeps release coverage.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 9, 2026

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.

@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown

No description provided.

@justin808

Copy link
Copy Markdown
Member Author

+review-app-deploy

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-09T09:25:18.655351Z d7573dc PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: b0ee2416-0380-445c-80a6-45c1e5fef343

📥 Commits

Reviewing files that changed from the base of the PR and between 90cdda6 and d7573dc.


⛔ Files ignored due to path filters (2)
  • Gemfile.lock is excluded by !**/*.lock
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock

📒 Files selected for processing (2)
  • Gemfile
  • package.json

Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review.



Walkthrough

The Gemfile and package.json update React on Rails Pro dependencies from release candidate 1 to release candidate 2.

Changes

React on Rails Pro dependency update

Layer / File(s) Summary
Update dependency versions
Gemfile, package.json
The Gemfile and package.json declarations change from version 17.2.0-rc.1 (Ruby: 17.2.0.rc.1) to release candidate 2. The JavaScript declarations include both React on Rails Pro packages.

Priority: ⬇️ Low

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

Change: Other

Merge Risk: ⚪ Minimal · up to d7573

The updated dependencies resolve consistently in both lockfiles, so no actionable merge-blocking risk remains.

🚥 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. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
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 and concisely describes the dependency updates from release candidate 1 to release candidate 2.


✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR


  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

Local Adversarial Review

Reviewed revision: d7573dc

Outcome: No open findings; closed and optional findings are in history.

Coverage: anthropic/claude: Supplied diff only; unchanged source and test execution are unavailable to this reviewer.

Usage and attribution in the PR description.

Review evidence and history

Commit: Bump React on Rails packages to 17.2.0 rc.2

Finding details

  • F1 risk: A pnpm lockfile, if present, would still pin rc.1 — Dismissed — yarn.lock is the only JavaScript lockfile and package.json declares packageManager yarn@1.22.22. yarn install --frozen-lockfile and a frozen bundle install both passed on this head. · Reported by: anthropic/claude · last recorded at d7573dc

Review coverage:

Coverage excerpts may be incomplete or misidentified; inspect the original reports.

  • anthropic/claude: Supplied diff only; unchanged source and test execution are unavailable to this reviewer.

Unverified report excerpt · anthropic/claude:

- **Inspected:** only the supplied diff (`Gemfile`, `Gemfile.lock`, `package.json`, `yarn.lock`).
- **Not inspected:** the checkout at the pinned commit. The file tools refused it as outside the restricted working directory, and the working directory itself is empty.
- **Tests run:** none. No rspec, rubocop, `bundle install` or JS install was run, and no CI results were supplied.
- **Missing context:**
  - Whether a `pnpm-lock.yaml` or other JS lockfile exists beside `yarn.lock`.
  - Whether `Gemfile.lock` has a `CHECKSUMS` section.
  - Whether any other file pins `17.2.0.rc.1` / `17.2.0-rc.1` (Dockerfiles, CI config, docs, renderer config).
  - The rc.1 → rc.2 upstream changelog.
  - Registry confirmation of the new `integrity` hashes and of the rc.2 gemspec dependency list.

Execution metadata

Round Commit Reviewer Model Effort Prompt Findings Tokens Cost
1 d7573dc anthropic/claude claude-opus-5-5 UNKNOWN Shaka default · criteria 90cdda6 1 (1 dismissed) UNKNOWN UNKNOWN
Round 1 · d7573dc · anthropic/claude · effort UNKNOWN · 1 finding

Repository criteria: supplied (AGENTS.md at 90cdda6)

Coverage

  • Inspected: only the supplied diff (Gemfile, Gemfile.lock, package.json, yarn.lock).
  • Not inspected: the checkout at the pinned commit. The file tools refused it as outside the restricted working directory, and the working directory itself is empty.
  • Tests run: none. No rspec, rubocop, bundle install or JS install was run, and no CI results were supplied.
  • Missing context:
    • Whether a pnpm-lock.yaml or other JS lockfile exists beside yarn.lock.
    • Whether Gemfile.lock has a CHECKSUMS section.
    • Whether any other file pins 17.2.0.rc.1 / 17.2.0-rc.1 (Dockerfiles, CI config, docs, renderer config).
    • The rc.1 → rc.2 upstream changelog.
    • Registry confirmation of the new integrity hashes and of the rc.2 gemspec dependency list.

Findings

  1. risk — package.json:85-86 / yarn.lock:8965-8999: only yarn.lock is updated on the JS side, while the trusted AGENTS.md names pnpm as the package manager (bin/conductor-exec pnpm install). If a pnpm-lock.yaml exists at HEAD, it still resolves react-on-rails-pro and react-on-rails-pro-node-renderer to 17.2.0-rc.1. A pnpm install --frozen-lockfile would then fail, or a non-frozen install would leave the npm packages at rc.1 against the rc.2 gem. I could not check whether that file exists; if yarn.lock is the only JS lockfile, this is void.

Observations (not classed, not counted):

  • Correctness: the bump is internally consistent within the diff.
    • Gem react_on_rails_pro 17.2.0.rc.2 pins react_on_rails (= 17.2.0.rc.2).
    • npm react-on-rails-pro@17.2.0-rc.2 depends on react-on-rails "17.2.0-rc.2".
    • Gem and npm versions match each other, and no rc.1 reference remains in the four touched files.
  • Unchanged dependency lists: the react_on_rails_pro gem dependencies (Gemfile.lock:353-360) and the node-renderer dependencies in yarn.lock are carried over unchanged. That is right only if rc.2 changed no dependency constraints, which I could not confirm.
  • Contract drift: none visible in the diff. Stale rc.1 mentions elsewhere in the repo were not searchable.
  • Security and trust: no gate or permission change. The resolved URLs stay on registry.npmjs.org, and the pins remain exact prerelease versions. The new integrity hashes are unverified candidate content.
  • Tests: no test fails if this change is reverted, which is expected for a dependency bump. The evidence would be the existing rspec/JS suites and an SSR/node-renderer smoke run against rc.2; none was supplied or run. Behavior changes between rc.1 and rc.2 are a residual risk I could not assess.
  • Simplicity: nothing to delete; the diff is minimal.

REVIEWED d7573dc BY anthropic/claude EFFORT UNKNOWN FINDINGS 1

REVIEWED d7573dc BY anthropic/claude EFFORT UNKNOWN FINDINGS 1

@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown

No description provided.

@claude

claude Bot commented Oct 9, 2026

Copy link
Copy Markdown

Reviewed: this is a clean RC bump with no issues found.

  • The Gemfile, Gemfile.lock, package.json and yarn.lock all agree on 17.2.0.rc.2 (gem) / 17.2.0-rc.2 (npm). That covers react_on_rails, react_on_rails_pro, react-on-rails-pro, react-on-rails-pro-node-renderer and the transitive react-on-rails.
  • Only the version and integrity entries changed in the lockfiles. No new transitive dependencies were added.
  • Nothing here changes security or performance beyond what the upstream RC does.

I only read the diff and did not run the test suite. Please confirm CI is green (rspec, JS build, SSR/node-renderer) before merging, since rc.2 is a prerelease. Check that the node-renderer and the gem versions stay in lockstep at deploy time.

@github-actions

github-actions Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

🎉 Deploy Complete!

Open Review App

Deployment successful for PR #857, commit d7573dc

🎮 Control Plane Console
📋 View Completed Action Build and Deploy Logs

@github-actions
github-actions Bot temporarily deployed to review/qa-react-webpack-rails-tutorial-857 October 9, 2026 09:25 Destroyed
@greptile-apps

greptile-apps Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

[High impact] The PR appears safe to merge; no actionable defect was found.

Summary

Updates the React on Rails Ruby and JavaScript packages from rc.1 to rc.2.

  • The app now uses React on Rails Pro rc.2 across Ruby and JavaScript.

Reviews (1) · Last reviewed commit: "Bump React on Rails packages to 17.2.0 r..." · Reviewed by Greptile

@justin808

Copy link
Copy Markdown
Member Author

+review-app-delete

@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown

No description provided.

@github-actions

github-actions Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

❌ Failed to Delete Review App

Failed to delete review app for PR #857

🎮 Control Plane Console
📋 View Workflow Logs

@justin808

Copy link
Copy Markdown
Member Author

+review-app-delete

@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown

No description provided.

@github-actions

github-actions Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

✅ Review App Deleted

Review app for PR #857 is deleted

🎮 Control Plane Console
📋 View Workflow Logs

@justin808 justin808 left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

🤖 Claude Code · Anthropic · claude-opus-5-5 · medium

Native publisher settings unavailable for this host; supplied attribution is unverified.

Code Walkthrough

The app installs React on Rails 17.2.0 rc.2 in place of rc.1, and nothing else in the dependency tree moves.

What changed

Before this change the app ran the rc.1 gems and npm packages. The Pro gem pin and the Pro and Node renderer npm pins now name rc.2. The core gem and core npm package are not declared directly, so they follow through Gemfile.lock and yarn.lock.

What stays the same

React and React DOM remain 19.2.8 and react-on-rails-rsc remains 19.3.0. package.json declares react-on-rails-rsc as the exact version 19.3.0 with no range, so Yarn cannot move to 19.3.1, which is now npm latest and needs React 19.3.0. A plain bundle update also moved io-event and protocol-http2; those were left at their locked versions to keep the diff to the release packages.

Validation and risk

Frozen installs, lint, the test asset build, RSpec and Jest pass on this head, and the Node renderer starts at 17.2.0-rc.2 with no version-check error. A review app built from this head served the home page, the streamed server components page and the RSC payload endpoint. Reverting this commit returns the app to rc.1 with no data or configuration change.

Gate Result on d7573dc
test (22.x, 3.4.6): Rspec CI, JS CI, Lint CI success
smoke / Demo fleet smoke success
deploy / deploy success
claude-review success, no issues raised
Greptile Review success
CodeRabbit success

Walkthrough for commit d7573dcf4a4da99896d53c5b95ef02398e1e66e6. This is a COMMENT, not an approval.

@justin808

Copy link
Copy Markdown
Member Author

🤖 Codex · OpenAI · gpt-6.1-sol (configured) · medium

Post-implementation validation

PR disposition (task owner): Merge

The bump is version-only and every required gate, including the review-app smoke, passed on this head.

Next action (task owner): The maintainer merges this head under Ask; the agent does not merge.

Verification conclusion: Proceed

The change supplies the requested rc.2 release evidence through the tutorial's existing Pro and RSC paths while preserving the specified React pairing. Its four-file scope and absence of added architecture make the maintenance cost proportionate; knowing the result, this remains an appropriate way to validate the candidate.

Head: d7573dcf4a4da99896d53c5b95ef02398e1e66e6

Unresolved concerns: none

Required checks, reviews, and merge authority still apply.

Supporting analysis and execution details

Conclusion: Proceed

The reported installs, CI, renderer startup and deployed SSR/RSC interactions exercise the requested rc.2 pairing with React 19.2.8 and react-on-rails-rsc 19.3.0.

One commit changes exactly the four planned dependency files, adding no configuration, abstractions or tests. The dismissed lockfile finding required no repair; the cleanup retry does not indicate an approach problem.

The release-gate benefit is proportional to this narrow version update. Downstream adoption impact and incident frequency are unknown; this evidence supports this app's pairing, not universal release compatibility.

Alternative considered: Keeping rc.1 would avoid the update but lose reproducible rc.2 coverage in this tutorial. That loss conflicts with the explicit release-gate outcome; the existing app and validation provide the simplest useful approach.

observed model: UNKNOWN; configured model: gpt-6.1-sol · recorded effort: medium

Prompt: Shaka default.

[
  {
    "configuration": [
      "openai",
      "gpt-6.1-sol",
      "UNKNOWN",
      "medium"
    ],
    "usage": {
      "input_tokens": 17912,
      "cached_input_tokens": 12288,
      "cache_write_input_tokens": 0,
      "output_tokens": 369,
      "reasoning_output_tokens": 25,
      "total_tokens": 18281
    }
  },
  {
    "configuration": [
      "openai",
      "gpt-6.1-sol",
      "UNKNOWN",
      "medium"
    ],
    "usage": {
      "input_tokens": 24468,
      "cached_input_tokens": 17792,
      "cache_write_input_tokens": 0,
      "output_tokens": 406,
      "reasoning_output_tokens": 82,
      "total_tokens": 24874
    }
  }
]

Ruby verified report shape and head binding. The reviewer judged value; the task owner handles concerns and merge readiness. This does not attest to technical review.

@justin808 justin808 added the awaiting-merge-approval Ready under Ask: merge this commit or approve it so the agent merges label Oct 9, 2026
@justin808

Copy link
Copy Markdown
Member Author

Squash commit message for d7573dc. Paste the title and the body into GitHub's squash merge boxes.

Bump React on Rails packages to 17.2.0 rc.2 (#857)
Move react_on_rails and react_on_rails_pro to 17.2.0.rc.2 and
react-on-rails, react-on-rails-pro and react-on-rails-pro-node-renderer
to 17.2.0-rc.2, the intended final candidate for 17.2.0.

React and React DOM stay at 19.2.8 with react-on-rails-rsc pinned to
exactly 19.3.0, so this pairing keeps release coverage. Only the React
on Rails entries change in Gemfile.lock and yarn.lock.

No breaking changes and no security implications. Existing installations
need a bundle install and yarn install; no configuration changes.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

@justin808
justin808 merged commit 240188a into master Oct 9, 2026
12 checks passed
@justin808
justin808 deleted the justin808-claude/5121-bump-react-on-rails-17-2-0-rc-2 branch October 9, 2026 09:44
@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown

No description provided.

@github-actions

github-actions Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

✅ Review App Deleted

Review app for PR #857 is deleted

🎮 Control Plane Console
📋 View Workflow Logs

@justin808 justin808 removed the awaiting-merge-approval Ready under Ask: merge this commit or approve it so the agent merges label Oct 9, 2026

This branch was successfully deployed

No deployments
review/qa-react-webpack-rails-tutorial-857 — d7573dcf Deployed Oct 9, 2026 by github-actions[bot]
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