Avoid full locale default obsolete scans - #4398
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
👮 Files not reviewed due to content moderation or server errors (2)
Warning Walkthrough skippedFile diffs could not be summarized. ✨ 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 |
|
+ci-status |
|
+ci-run-hosted |
Greptile SummaryThis PR narrows locale obsolete detection for generated JavaScript files. The main changes are:
Confidence Score: 5/5This looks safe to merge after considering the narrow legacy-file edge case.
Important Files Changed
Reviews (1): Last reviewed commit: "Avoid full locale default obsolete scan" | Re-trigger Greptile |
c889da5 to
faa56a0
Compare
|
Current-head rebase validation for
|
|
+ci-status |
|
+ci-run-hosted |
Address-review statusScan scope: full PR review history after Mattered
Optional
Skipped
Non-cutoff status only because |
|
+ci-status |
|
+ci-run-hosted |
CI StatusHead SHA: Only the required gate is active unless hosted CI is requested. |
Review summarySmall, well-tested fix that stops One inline note on Missing CHANGELOG entry: This is a user-visible bug fix (stale/legacy Nothing else stood out — no security implications, and the |
|
+ci-status |
Address-review statusScan scope: full PR review history after Mattered
Optional
Skipped
Non-cutoff status only because |
|
+ci-run-hosted |
ReviewThis PR fixes the Correctness: I traced the logic against the actual generator template in Minor nit (left inline): the Overall this is a solid, well-tested fix with no functional issues found. |
Review summarySolid, well-scoped fix: switches the I verified the core logic against the actual template history (
So the primary real-world upgrade path (old gem version → new) is handled correctly and gets faster. Left two inline comments on
Also: no No security concerns (pure local file-generation logic, no external input). No other correctness issues found in the regex anchoring, blank-line handling, or |
|
Review-fix update for PR #4398 after current-head Claude comments. Handled threads:
Validation on pushed commit
This is a non-cutoff status because a new push requeued current-head hosted gates/review. |
|
+ci-status |
|
+ci-run-hosted |
Hosted CI RequestedTriggered 9 workflow(s) for View progress in the Actions tab. |
1 similar comment
Hosted CI RequestedTriggered 9 workflow(s) for View progress in the Actions tab. |
…nsport * origin/main: Avoid full locale default obsolete scans (#4398)
…cache-4317 * origin/main: Preserve streaming LoadError during dependency failures (#4388) Wire eslint-rules RuleTester suite into a runner, CI, and knip (#4409) (#4433) Handle fire-and-forget RSCRoute retry failures (#4378) Fix visible hydration cleanup for detached roots (#4374) Avoid full locale default obsolete scans (#4398) Document RSC public-page validation and sidecar patterns (#4387) # Conflicts: # CHANGELOG.md
…derer-shutdown-restart * origin/main: Preserve streaming LoadError during dependency failures (#4388) Wire eslint-rules RuleTester suite into a runner, CI, and knip (#4409) (#4433) Handle fire-and-forget RSCRoute retry failures (#4378) Fix visible hydration cleanup for detached roots (#4374) Avoid full locale default obsolete scans (#4398)
* origin/main: Preserve streaming LoadError during dependency failures (#4388) Wire eslint-rules RuleTester suite into a runner, CI, and knip (#4409) (#4433) Handle fire-and-forget RSCRoute retry failures (#4378) Fix visible hydration cleanup for detached roots (#4374) Avoid full locale default obsolete scans (#4398) Document RSC public-page validation and sidecar patterns (#4387) Remove dead methods; prune always-false Rails<5.0 spec branches (#4418) (#4431)
…-4364 * origin/main: (24 commits) Preserve streaming LoadError during dependency failures (#4388) Wire eslint-rules RuleTester suite into a runner, CI, and knip (#4409) (#4433) Handle fire-and-forget RSCRoute retry failures (#4378) Fix visible hydration cleanup for detached roots (#4374) Avoid full locale default obsolete scans (#4398) Document RSC public-page validation and sidecar patterns (#4387) Remove dead methods; prune always-false Rails<5.0 spec branches (#4418) (#4431) Drop deprecation-tombstone config options for 17.0.0 (#4419) (#4432) Add mechanical parity guards for Ruby↔TS protocol constants (#4412) (#4427) Move Node tsconfigs from @tsconfig/node14 to @tsconfig/node18 (#4410) (#4429) [Pro] Remove unused addressable and rainbow runtime deps from gemspec (#4416) (#4422) Delete finished #3313 Prism Gemfile-rewriter spike (#4421) Extract generator scan/tracking helpers (#4405) (#4430) Extract install_dependency_group helper in JsDependencyManager (#4403) (#4424) Remove obsolete Ruby<2.6 YAML-aliases capability shim (#4417) (#4428) Remove inert config.server_render_method option (#4415) (#4423) Prune stale knip ignores and enforce binaries in CI (#4408) (#4425) Extract shared redux_store kwargs validator (#4402) (#4420) Avoid caching async props prerender streams (#4376) Release incremental render context on setup failure (#4383) ... # Conflicts: # CHANGELOG.md
## Summary Stamps the `17.0.0.rc.7` changelog header and adds the user-visible entries merged into `release/17.0.0` since `v17.0.0.rc.6` that were not yet reflected in `CHANGELOG.md`: - **Fixed**: OSS renders no longer compute/emit Pro-only generated-stylesheet metadata (#4395) - **Fixed**: `create_render_options` no longer mutates the caller's options hash (#4396) - **Fixed**: locale-file regeneration check no longer reads the whole file and correctly detects a legacy import after custom content (#4398) - **Changed**: `[Pro]` removed unused `addressable`/`rainbow` runtime gem dependencies (#4422) - **Fixed**: `[Pro]` static RSC payload script stripping is robust to generated body-shape changes (#4477) - Updated the existing `create-react-on-rails-app` chalk→picocolors entry to also credit the color-fallback-parity follow-up (#4473) - Updated the existing Pro-by-default `create-react-on-rails-app` entry to also credit the matching `prompts.yml` AI-agent prompt update (#4232) Ran the classification-sweep helper over `v17.0.0.rc.6..origin/release/17.0.0` (175 merged PRs, no `UNKNOWN` rows) and cross-checked every PR number against the current changelog to find the gaps above; everything else in range was either already documented or is internal/docs/CI/release-process and intentionally excluded per the changelog policy. ## Test plan - [x] `bundle exec rake "update_changelog[rc]"` computed and stamped `17.0.0.rc.7` from git tags, updated compare links - [x] Verified `[unreleased]` and `[17.0.0.rc.7]` compare links anchor correctly - [x] Verified `CHANGELOG.md` ends with a trailing newline - [x] Pre-commit/pre-push hooks (prettier, trailing-newlines, markdown-links) passed
Rationale
Fixes #4345. Locale generation only needs to distinguish current generated
default.jsoutput from obsolete legacyreact-intloutput, but the obsolete check read the whole file eagerly.Changes
default.jsline by line instead of reading the whole file.react-intl/defineMessagesimport is found, including after comment, pragma, or custom content.const defaultLocale =marker is reached.Validation
PR_BATCH_SKILL_DIR=.agents/skills/pr-batch .agents/skills/pr-batch/bin/pr-security-preflight --repo shakacode/react_on_rails 4345.agents/bin/agent-workflow-seam-doctor(cd react_on_rails && bundle exec rspec spec/react_on_rails/locales_to_js_spec.rb)(14 examples after review-fix coverage)(cd react_on_rails && RUBYOPT=-W0 BUNDLE_GEMFILE=../Gemfile bundle exec rubocop lib/react_on_rails/locales/to_js.rb spec/react_on_rails/locales_to_js_spec.rb)git diff --check origin/main...HEAD && git diff --checkcodex review --base origin/mainreturned no actionable findings before hosted review-fix pushes.git push -u origin codex/g4-4345-localesand later review-fix pushes passed branch RuboCop and markdown-links.Codex Decision Log
not_user_visible.