Skip to content

Conversation

justin808
Copy link
Member

@justin808 justin808 commented Sep 20, 2025

Summary

  • Update react_on_rails gem from 14.1.0.rc.0 to 14.2.1 (latest stable)
  • Update react-on-rails npm package from 14.0.3 to 14.2.1
  • Initially attempted React on Rails 16, but encountered compatibility issues with Shakapacker 8.0.0

Changes Made

  • Gemfile: Updated react_on_rails to 14.2.1
  • package.json: Updated react-on-rails to 14.2.1
  • Updated bundle and yarn dependencies

Why 14.2.1 instead of 16.x?

React on Rails 16 introduced breaking changes that caused compatibility issues:

  • Missing task_helpers file in 16.0.1.rc.0 causing rake task failures
  • PackerUtils.packer_type returning nil in 16.0.0 causing configuration errors
  • Version 14.2.1 is the latest stable version that works correctly with current setup

Test plan

  • Verified gem installation succeeds
  • Confirmed bundle exec rake react_on_rails:locale works
  • Tested Rails server command functionality
  • Verify CI tests pass
  • Manual testing of application functionality

🤖 Generated with Claude Code


This change is Reviewable

- Upgrade react_on_rails gem from 14.1.0.rc.0 to 16.0.1.rc.0 - Update react-on-rails npm package from 14.0.3 to 16.0.1-rc.0 - Update bundle dependencies including Rails to 8.0.2.1 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Copy link

coderabbitai bot commented Sep 20, 2025

Walkthrough

Updated dependency versions for React on Rails across Ruby (Gemfile) and JavaScript (package.json): Ruby gem react_on_rails from 14.1.0.rc.0 to 16.0.1.rc.0, and NPM package react-on-rails from 14.0.3 to 16.0.1-rc.0. No other files or code changes.

Changes

Cohort / File(s) Summary of Changes
Ruby dependency bump: react_on_rails
Gemfile
Updated gem version: react_on_rails 14.1.0.rc.0 → 16.0.1.rc.0
JS dependency bump: react-on-rails
package.json
Updated dependency: react-on-rails 14.0.3 → 16.0.1-rc.0

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

Poem

A hop, a skip, a version leap—
From fourteen fields to sixteen deep.
Rails and React in tandem cheer,
New rc blooms, the path is clear.
I twitch my whiskers, merge with glee—
Carrots for CI, shipped swiftly! 🥕✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Title Check ⚠️ Warning The PR title states "Update React on Rails to 14.2.1 (latest stable)" but the changeset and PR objectives show upgrades to react_on_rails/react-on-rails 16.0.1 (release candidate) and related bundle/Rails updates, so the title misstates the actual main change and is misleading to reviewers. Rename the PR to accurately reflect the change (for example, "Upgrade react_on_rails and react-on-rails to 16.0.1-rc.0 (includes bundle/Rails updates)") and remove "latest stable" since this is an RC; ensure the title matches the Gemfile/package.json and the PR description.
✅ Passed checks (2 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch update-react-on-rails-16.0.1-rc.0

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.

Copy link

🚀 Quick Review App Commands

Welcome! Here are the commands you can use in this PR:

/deploy-review-app

Deploy your PR branch for testing

/delete-review-app

Remove the review app when done

/help

Show detailed instructions, environment setup, and configuration options.


Copy link

@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

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4be1e1b and 7a21e66.

⛔ 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 (1 hunks)
  • package.json (1 hunks)
🔇 Additional comments (1)
package.json (1)

81-81: Confirm react-on-rails 16.0.1-rc.0 upstream release + API & lockfile checks

  • package.json lists "react-on-rails": "16.0.1-rc.0" and yarn.lock contains a react-on-rails@16.0.1-rc.0 entry (lockfile appears to pin the RC).
  • No public GitHub/Rubygems release or changelog for 16.0.1.rc.0 was found as of Sep 20, 2025 — provide the release/tag link or confirm this is an internal/published RC.
  • Ripgrep search for ReactOnRails usage skipped files, so API compatibility (ReactOnRails.register and other calls) was not verified — run locally: rg -nP --hidden '\bReactOnRails.' -C2 --glob '!/node_modules/' (or search app/javascript/**/* for ReactOnRails.register) and confirm no API breaks.
  • Validate runtime/peer compatibility in a branch: React 19, Node 22, Rails 8, and Shakapacker 8 (include SSR + assets precompile tests).
Gemfile Outdated
ruby "3.3.4"

gem "react_on_rails", "14.1.0.rc.0"
gem "react_on_rails", "16.0.1.rc.0"
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

🧩 Analysis chain

Gem bump aligns with JS; remove temporary net-pop override now that Ruby 3.3.4 is set.

The version pin to react_on_rails 16.0.1.rc.0 matches package.json. However, the temporary net-pop GitHub override (Lines 48–52) was meant to be removed “when Ruby 3.3.4 is released,” and you’re already on ruby "3.3.4". Keeping a GitHub-sourced core lib is a stability and supply‑chain risk; please remove or pin to a released gem.

Quick checks:

Optionally confirm upstream support matrix:

Also applies to: 48-52


🏁 Script executed:

#!/bin/bash set -euo pipefail echo "react_on_rails gem line:" rg -nP '^\s*gem\s+"react_on_rails",\s*"[^\"]+"' Gemfile echo "Temporary net-pop override present?" rg -nP '^\s*gem\s+"net-pop",\s*github:' Gemfile && echo "-> Please remove this override."

Length of output: 171


🌐 Web query:

Does react_on_rails 16.0.1.rc.0 officially support Rails 8.0.x and Ruby 3.3.x? 

💡 Result:

Short answer: No—there's no official evidence that a gem version "16.0.1.rc.0" exists or officially supports Rails 8.0.x / Ruby 3.3.x.

Evidence:

  • React on Rails releases/tags page on GitHub has no release named 16.0.1.rc.0 and the repo/prereqs/docs show support statements up through Rails 7 (prereqs: Rails >= 5.2, Ruby >= 3.0). (github.com)
  • RubyGems shows recent published versions (up to 15.x pre-releases in 2025) and the gem metadata lists required rails >= 5.2 and required Ruby >= 3.0 for published versions. No 16.0.1.rc.0 entry appears on RubyGems. (rubygems.org)

If you have a specific release candidate reference (a URL, a repository tag, or a Gemfile entry), share it and I’ll check that exact source.

Citations:


Remove GitHub net-pop override and correct react_on_rails pin

  • Gemfile line 8 — react_on_rails is pinned to "16.0.1.rc.0"; no public release found upstream/RubyGems. Pin to a published version or point to a valid repo/tag if this pre-release is intentional.
  • Gemfile line 51 — net-pop is sourced from GitHub (gem "net-pop", github: "ruby/net-pop"); remove the override or replace with a released gem to remove supply‑chain/stability risk.
🤖 Prompt for AI Agents
In Gemfile around lines 8 and 51, react_on_rails is pinned to an unreleased pre‑release "16.0.1.rc.0" and net-pop is overridden to a GitHub source; replace the react_on_rails pin with a published RubyGems version (e.g., the latest stable release) or change the source to a valid repo and tag if you intentionally need an unreleased pre‑release, and remove the GitHub override for net-pop by switching to the released gem version (or a vetted gem source) to eliminate the GitHub dependency and supply‑chain risk; update the Gemfile entries accordingly and run bundle install to verify. 
- Change from 16.0.1.rc.0/16.0.0 to 14.2.1 due to Shakapacker compatibility issues - React on Rails 16 has breaking changes that cause PackerUtils.packer_type nil errors - Version 14.2.1 is stable and works correctly with Shakapacker 8.0.0 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
@justin808 justin808 changed the title Update React on Rails to 16.0.1.rc.0 Update React on Rails to 14.2.1 (latest stable) Sep 20, 2025
@justin808
Copy link
Member Author

/deploy-review-app

Copy link

github-actions bot commented Sep 20, 2025

@justin808 justin808 merged commit 3e3b7c6 into master Sep 21, 2025
8 checks passed
@justin808 justin808 deleted the update-react-on-rails-16.0.1-rc.0 branch September 21, 2025 00:31
Copy link

github-actions bot commented Sep 21, 2025

✅ Review app for PR #650 was successfully deleted

View Completed Delete Logs

Control Plane Organization

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
1 participant