Skip to content

Fix broken links from docs reorganization (file paths and website URLs)#2229

Merged
ihabadham merged 5 commits intomasterfrom
ihabadham/fix-docs-reorg-links
Dec 16, 2025
Merged

Fix broken links from docs reorganization (file paths and website URLs)#2229
ihabadham merged 5 commits intomasterfrom
ihabadham/fix-docs-reorg-links

Conversation

@ihabadham
Copy link
Copy Markdown
Collaborator

@ihabadham ihabadham commented Dec 16, 2025

Summary

Fixes all broken links (both local file paths and website URLs) that resulted from the docs reorganization in PR #1845. These links were never updated when the docs were moved to new directories.

Changes

1. Local File Path Fixes (7 fixes across 4 files)

Updated broken file:// and relative path references:

Old Path New Path
docs/release-notes/16.0.0.md docs/upgrading/release-notes/16.0.0.md
sig/README.md react_on_rails/sig/README.md
docs/additional-reading/turbolinks.md docs/building-features/turbolinks.md
docs/guides/i18n.md docs/building-features/i18n.md
docs/guides/upgrading-react-on-rails.md docs/upgrading/upgrading-react-on-rails.md
docs/guides/auto-bundling-file-system-based-automated-bundle-generation.md docs/core-concepts/auto-bundling-file-system-based-automated-bundle-generation.md

Files modified:

  • CHANGELOG.md (1 link)
  • docs/contributor-info/rbs-type-signatures.md (1 link)
  • NEWS.md (3 links)
  • README.md (2 links)

2. Website URL Fixes (14 fixes across 3 files)

Updated broken shakacode.com documentation URLs:

Old URL Path New URL Path
/docs/guides/upgrading-react-on-rails /docs/upgrading/upgrading-react-on-rails
/docs/guides/configuration /docs/api-reference/configuration
/docs/guides/rspec_configuration /docs/building-features/rspec-configuration
/docs/guides/i18n /docs/building-features/i18n
/docs/guides/rails-webpacker-react-integration-options /docs/building-features/rails-webpacker-react-integration-options
/docs/rails/turbolinks /docs/building-features/turbolinks
/docs/additional-details/migrating-from-react-rails /docs/migrating/migrating-from-react-rails
/docs/react-on-rails-pro/react-on-rails-pro /docs/pro/react-on-rails-pro

Files modified:

  • CHANGELOG.md (11 URLs)
  • README.md (2 URLs)
  • docs/api-reference/javascript-api.md (1 URL)

All URLs were returning 404 errors before this fix. Some were missed by the link checker due to caching.

Testing

Verified all broken links fixed:

  • ✅ All local file paths exist at new locations
  • ✅ All shakacode.com URLs tested and return 404 at old paths
  • ✅ Comprehensive grep search confirms no remaining old path references

Related

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Documentation structure has been reorganized into a new logical hierarchy. All reference links have been updated across upgrade guides, API references, core concepts, and feature documentation to improve navigation and content discoverability.

✏️ Tip: You can customize this high-level summary in your review settings.

Update all links to docs that were reorganized in PR #1845:
- docs/release-notes/16.0.0.md → docs/upgrading/release-notes/16.0.0.md
- sig/README.md → react_on_rails/sig/README.md
- docs/additional-reading/turbolinks.md → docs/building-features/turbolinks.md
- docs/guides/i18n.md → docs/building-features/i18n.md
- docs/guides/upgrading-react-on-rails.md → docs/upgrading/upgrading-react-on-rails.md
- docs/guides/auto-bundling-file-system-based-automated-bundle-generation.md → docs/core-concepts/auto-bundling-file-system-based-automated-bundle-generation.md

Files updated:
- CHANGELOG.md (1 link)
- docs/contributor-info/rbs-type-signatures.md (1 link)
- NEWS.md (3 links)
- README.md (2 links)

Verified locally with lychee: all 6 broken doc reorganization links are now fixed.

Resolves #2226

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Dec 16, 2025

Walkthrough

Documentation-only updates: numerous markdown files had internal links and paths adjusted to match a reorganized docs structure; no source code, APIs, or behavior were changed.

Changes

Cohort / File(s) Summary
Top-level docs / changelogs
CHANGELOG.md, NEWS.md, README.md
Updated internal documentation links to reflect relocated pages (e.g., docs/guides/*docs/upgrading/* or docs/building-features/*; release notes → docs/upgrading/release-notes; core-concepts and other path adjustments).
Contributor / API docs
docs/contributor-info/rbs-type-signatures.md, docs/api-reference/javascript-api.md
Fixed relative/internal link targets (e.g., ../../sig/README.md../../react_on_rails/sig/README.md) and updated Turbolinks doc link to docs/building-features/turbolinks.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Review focus:
    • Verify updated relative links resolve to intended targets.
    • Check for accidental formatting or content regressions in README.md, CHANGELOG.md, and NEWS.md.
    • Confirm external/internal link correctness in docs/api-reference/javascript-api.md and docs/contributor-info/rbs-type-signatures.md.

Possibly related issues

Possibly related PRs

Suggested reviewers

  • justin808
  • Judahmeek
  • alexeyr-ci2

Poem

🐇 I hopped through docs with nimble feet,

Old links I found and made them neat.
Paths realigned, the trail now clear,
Every page lands where it should appear.
A tidy hop — rejoice with cheer! ✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Fix broken links from docs reorganization (file paths and website URLs)' directly and accurately summarizes the main change: correcting broken documentation links resulting from a docs reorganization.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch ihabadham/fix-docs-reorg-links

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.

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Dec 16, 2025

Code Review - PR #2229

✅ Summary

This PR successfully fixes 6 broken internal documentation links that resulted from the docs reorganization in PR #1845. All changes are documentation-only with no code modifications.

🎯 Code Quality: Excellent

Strengths:

  • Precise scope: Only fixes what needs fixing - 6 broken links across 4 markdown files
  • Verified paths: All new link targets exist in the repository ✅
    • docs/upgrading/release-notes/16.0.0.md
    • react_on_rails/sig/README.md
    • docs/building-features/turbolinks.md
    • docs/building-features/i18n.md
    • docs/upgrading/upgrading-react-on-rails.md
    • docs/core-concepts/auto-bundling-file-system-based-automated-bundle-generation.md
  • Well-documented: Clear PR description with a helpful table mapping old → new paths
  • Proper testing: Used lychee link checker to verify fixes (17 → 10 errors, with all 6 target errors eliminated)

📝 Best Practices: Followed

Documentation-only changes - No code modifications
Clear commit message with Claude Code attribution
Proper issue tracking - Closes #2226
Related work referenced - Links to PR #1845, #2219, #2216

🔍 Potential Issues: None Found

  • No security concerns (documentation only)
  • No performance implications (documentation only)
  • No test coverage needed (documentation only)
  • No breaking changes

💡 Minor Observations

  1. README.md table formatting change: The changes show the table was reformatted (column alignment adjusted). This is likely from Prettier auto-formatting and is consistent with project standards.

  2. Complete fix: This addresses all remaining broken links from the docs reorganization, which is excellent cleanup work.

✨ Recommendation: APPROVE

This is a clean, well-executed documentation fix that improves the developer experience by ensuring all internal links work correctly. No issues found.


Review generated with Claude Code following project guidelines from CLAUDE.md

Updates 11 broken shakacode.com URL references in CHANGELOG.md to reflect
the docs reorganization from PR #1845. These URLs were returning 404s.

URL mappings:
- docs/guides/upgrading-react-on-rails → docs/upgrading/upgrading-react-on-rails
- docs/guides/configuration → docs/api-reference/configuration
- docs/guides/rspec_configuration → docs/building-features/rspec-configuration
- docs/rails/turbolinks → docs/building-features/turbolinks
- docs/additional-details/migrating-from-react-rails → docs/migrating/migrating-from-react-rails
- docs/react-on-rails-pro/react-on-rails-pro → docs/pro/react-on-rails-pro

Part of ongoing link cleanup tracked in issue #2232.
@ihabadham ihabadham changed the title Fix broken internal links from docs reorganization (#1845) Fix broken links from docs reorganization (file paths and website URLs) Dec 16, 2025
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Dec 16, 2025

Code Review: Fix broken links from docs reorganization

✅ Overall Assessment

This is an excellent maintenance PR that fixes broken documentation links. The changes are well-organized, thoroughly tested, and follow best practices.

🎯 Strengths

  1. Comprehensive Coverage: Fixed 17 broken links across 4 files (both local file paths and website URLs)

  2. Well-Documented: The PR description clearly categorizes local vs website URL fixes with helpful tables

  3. Verified Changes: All new file paths have been verified to exist:

    • docs/upgrading/release-notes/16.0.0.md
    • docs/upgrading/upgrading-react-on-rails.md
    • docs/building-features/turbolinks.md
    • docs/building-features/i18n.md
    • docs/core-concepts/auto-bundling-file-system-based-automated-bundle-generation.md
    • react_on_rails/sig/README.md
    • And others
  4. Consistent Pattern: All URL updates follow the same logical structure mapping old → new directory organization

  5. Good Context: References the original docs reorganization PR (docs: Reorganize documentation into 10 user-journey-based categories #1845) and related issues

🐛 Issue Found: One Missed Link

Found one additional broken link that should be fixed in this PR:

File: README.md (line 141)

Current (broken):

[I18n and localization support](https://www.shakacode.com/react-on-rails/docs/guides/i18n)

Should be:

[I18n and localization support](https://www.shakacode.com/react-on-rails/docs/building-features/i18n)

Location: In the "Why React on Rails?" feature table, the Internationalization row still references the old /docs/guides/i18n path instead of /docs/building-features/i18n.

📋 Additional Observations

  1. improved-error-messages.md still exists at docs/guides/improved-error-messages.md (not moved during reorganization), so those references in CHANGELOG.md are correct
  2. The rails-webpacker-react-integration-options.md file exists at docs/building-features/rails-webpacker-react-integration-options.md, and there's a broken reference to it in README.md at line ~156

✅ Code Quality

  • ✅ No security concerns
  • ✅ No performance impact (documentation only)
  • ✅ No test coverage needed (link fixes)
  • ✅ Follows repository conventions
  • ✅ Changes are minimal and focused

🎯 Recommendation

Approve with one minor fix: Please update the one missed link in README.md (the i18n URL in the feature table). Otherwise, this PR is ready to merge.

Great work cleaning up these broken links! This will improve the documentation experience significantly. 🚀

Found by Claude Code review - we only searched CHANGELOG.md initially,
but missed these two in README.md:

- docs/guides/i18n → docs/building-features/i18n
- docs/guides/rails-webpacker-react-integration-options → docs/building-features/rails-webpacker-react-integration-options

Total fixes now: 13 shakacode.com URLs (11 in CHANGELOG + 2 in README)
…api.md

Found via comprehensive search across all markdown files.

- docs/rails/turbolinks → docs/building-features/turbolinks

Total fixes now: 14 shakacode.com URLs (11 CHANGELOG + 2 README + 1 docs)
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Dec 16, 2025

Code Review - PR #2229: Fix broken links from docs reorganization

✅ Overall Assessment

This is an excellent cleanup PR that addresses broken links from the docs reorganization in PR #1845. The changes are methodical, well-documented, and thoroughly tested.


🎯 Strengths

  1. Comprehensive Coverage: The PR fixes 17 broken links across 5 files (both local file paths and website URLs)

    • 6 local file path fixes
    • 11 website URL fixes
  2. Clear Documentation: The PR description includes:

    • Detailed before/after tables for both path types
    • Clear categorization of changes
    • Verification methodology (lychee link checker)
    • Proper cross-referencing to related issues/PRs
  3. Verification: All updated paths have been verified to exist in the current file structure:

    • docs/upgrading/release-notes/16.0.0.md
    • react_on_rails/sig/README.md
    • docs/building-features/turbolinks.md
    • docs/building-features/i18n.md
    • docs/upgrading/upgrading-react-on-rails.md
    • docs/core-concepts/auto-bundling-file-system-based-automated-bundle-generation.md
    • docs/api-reference/configuration.md
    • docs/building-features/rspec-configuration.md
    • docs/migrating/migrating-from-react-rails.md
    • docs/pro/react-on-rails-pro.md
  4. Consistency: All changes follow a consistent pattern of updating old directory structure to new structure

  5. No Breaking Changes: This is purely a documentation fix with zero risk to functionality


📝 Technical Review

File Changes Analysis

CHANGELOG.md (12 changes)

  • Updated website URLs from old paths (/docs/guides/*, /docs/additional-details/*, etc.) to new organized structure
  • Fixed local file reference to release notes
  • All changes maintain proper markdown link syntax

README.md (15 changes)

  • Updated feature table links to use new paths
  • Fixed upgrade guide references
  • Maintained consistent formatting throughout

NEWS.md (3 changes)

  • Updated historical references to match new structure
  • Preserved historical context while fixing broken links

docs/api-reference/javascript-api.md (1 change)

  • Updated inline documentation link to turbolinks guide

docs/contributor-info/rbs-type-signatures.md (1 change)

  • Fixed relative path to sig/README.md to reflect monorepo structure

🔍 Code Quality

  • No code changes: Only documentation/link updates
  • No security concerns: Documentation-only changes
  • No performance impact: Zero runtime impact
  • Formatting: All changes maintain existing markdown formatting standards

✅ Testing

The PR description indicates verification was done using the lychee link checker, which is appropriate for this type of change. All 17 broken links have been identified and corrected.


💡 Suggestions (Minor)

While this PR is ready to merge as-is, here are some optional follow-up considerations:

  1. Automated Link Checking: Consider adding the lychee link checker to CI to prevent future link rot (may already be tracked in Link checker cleanup: Fix 62 broken links across codebase #2232)

  2. Dead Link Prevention: Could add a pre-commit hook or CI check that validates all local file path references exist

  3. URL Validation: For website URLs, could add periodic checks to ensure they don't 404

These are NOT blockers for this PR - just ideas for future improvements.


✨ Conclusion

Recommendation: APPROVE and MERGE

This PR:

  • Fixes real broken links that were causing 404s
  • Is thoroughly documented and tested
  • Has zero risk of introducing bugs
  • Improves the documentation quality
  • Follows all project conventions

Great work on the systematic cleanup! This type of maintenance work is valuable for keeping the documentation accessible and professional.


Related PRs to watch:

🤖 Generated with Claude Code

@coderabbitai coderabbitai Bot added the bug label Dec 16, 2025
Copy link
Copy Markdown
Contributor

@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: 0

🧹 Nitpick comments (3)
CHANGELOG.md (3)

5-5: Use descriptive link text instead of "here".

The link text should describe the destination rather than using generic terms like "here". Update to something like "upgrading guide for major updates".

-Migration instructions for the major updates can be found [here](https://www.shakacode.com/react-on-rails/docs/upgrading/upgrading-react-on-rails#upgrading-to-version-9).
+Migration instructions for the major updates can be found in the [upgrading guide](https://www.shakacode.com/react-on-rails/docs/upgrading/upgrading-react-on-rails#upgrading-to-version-9).

712-712: Update link text to match the new documentation path.

The URL has been correctly updated, but the link text still shows the old file path docs/guides/upgrading-react-on-rails.md. The link text should match the new location or use more descriptive text.

-For upgrade instructions, see [docs/guides/upgrading-react-on-rails.md](https://www.shakacode.com/react-on-rails/docs/upgrading/upgrading-react-on-rails).
+For upgrade instructions, see [upgrading guide](https://www.shakacode.com/react-on-rails/docs/upgrading/upgrading-react-on-rails).

1521-1521: Use descriptive link text instead of generic "doc".

The link text "doc" is too generic and violates markdown best practices. Replace with descriptive text like "Pro Node.js rendering documentation" or similar.

-- Support for Node.js server side rendering. See [#380](https://github.com/shakacode/react_on_rails/pull/380) by [alleycat](https://github.com/alleycat-at-git) and [doc](https://www.shakacode.com/react-on-rails/docs/pro/react-on-rails-pro#pro-integration-with-nodejs-for-server-rendering)
+- Support for Node.js server side rendering. See [#380](https://github.com/shakacode/react_on_rails/pull/380) by [alleycat](https://github.com/alleycat-at-git) and [Pro Node.js rendering documentation](https://www.shakacode.com/react-on-rails/docs/pro/react-on-rails-pro#pro-integration-with-nodejs-for-server-rendering)
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 482efe2 and e187e29.

📒 Files selected for processing (3)
  • CHANGELOG.md (10 hunks)
  • README.md (2 hunks)
  • docs/api-reference/javascript-api.md (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • docs/api-reference/javascript-api.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • README.md
🧰 Additional context used
📓 Path-based instructions (2)
CHANGELOG.md

📄 CodeRabbit inference engine (CLAUDE.md)

Update /CHANGELOG.md for open-source features, bug fixes, breaking changes, and performance improvements

Files:

  • CHANGELOG.md
**/*.{js,jsx,ts,tsx,json,css,scss,md}

📄 CodeRabbit inference engine (CLAUDE.md)

Use Prettier as the sole authority for formatting non-Ruby files

Files:

  • CHANGELOG.md
🧠 Learnings (15)
📚 Learning: 2025-12-16T03:39:07.970Z
Learnt from: CR
Repo: shakacode/react_on_rails PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-16T03:39:07.970Z
Learning: Applies to CHANGELOG.md : Update `/CHANGELOG.md` for open-source features, bug fixes, breaking changes, and performance improvements

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-04-26T21:55:55.874Z
Learnt from: alexeyr-ci2
Repo: shakacode/react_on_rails PR: 1732
File: spec/dummy/client/app-react16/startup/ReduxSharedStoreApp.client.jsx:40-44
Timestamp: 2025-04-26T21:55:55.874Z
Learning: In the react_on_rails project, files under `app-react16` directories are copied/moved to corresponding `/app` directories during the conversion process (removing the `-react16` suffix), which affects their relative import paths at runtime.

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-02-12T16:38:06.537Z
Learnt from: Romex91
Repo: shakacode/react_on_rails PR: 1697
File: package-scripts.yml:28-28
Timestamp: 2025-02-12T16:38:06.537Z
Learning: The file `node_package/lib/ReactOnRails.full.js` is autogenerated during the build process and should not be present in the repository.

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-12-16T03:39:07.970Z
Learnt from: CR
Repo: shakacode/react_on_rails PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-16T03:39:07.970Z
Learning: Applies to react_on_rails_pro/**/*.{js,ts,jsx,tsx,json,css,scss} : The `react_on_rails_pro/` directory has its own Prettier/ESLint configuration and will be linted separately in CI

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-12-16T03:39:07.970Z
Learnt from: CR
Repo: shakacode/react_on_rails PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-16T03:39:07.970Z
Learning: Applies to lib/react_on_rails/**/*.rb : Add RBS type signatures for new Ruby files in `lib/react_on_rails/` by creating corresponding `.rbs` files in `sig/react_on_rails/`

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-12-16T03:39:07.970Z
Learnt from: CR
Repo: shakacode/react_on_rails PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-16T03:39:07.970Z
Learning: Applies to lib/react_on_rails/**/*.rb : Validate RBS signatures with `bundle exec rake rbs:validate` and run Steep type checker with `bundle exec rake rbs:steep` for Ruby files

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-09-16T08:01:11.146Z
Learnt from: justin808
Repo: shakacode/react_on_rails PR: 1770
File: lib/generators/react_on_rails/templates/base/base/app/javascript/src/HelloWorld/ror_components/HelloWorld.client.jsx:2-2
Timestamp: 2025-09-16T08:01:11.146Z
Learning: React on Rails uses webpack CSS Modules configuration with namedExports: true, which requires the import syntax `import * as style from './file.module.css'` rather than the default export pattern. This configuration enables better tree shaking and bundle size optimization for CSS modules.

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-12-16T03:39:07.970Z
Learnt from: CR
Repo: shakacode/react_on_rails PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-16T03:39:07.970Z
Learning: Applies to packages/react-on-rails/src/**/*.tsx : For React component files, use TypeScript (.tsx extension) and follow the component registry pattern for registration

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-09-15T21:24:48.207Z
Learnt from: AbanoubGhadban
Repo: shakacode/react_on_rails PR: 1781
File: node_package/src/ClientSideRenderer.ts:82-95
Timestamp: 2025-09-15T21:24:48.207Z
Learning: In React on Rails, the force_load feature includes both explicit `data-force-load="true"` usage and the ability to hydrate components during the page loading state (`document.readyState === 'loading'`). Both capabilities require a Pro license, so the condition `!railsContext.rorPro && (isComponentForceLoaded || document.readyState === 'loading')` correctly gates both scenarios.

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-02-18T13:08:01.477Z
Learnt from: AbanoubGhadban
Repo: shakacode/react_on_rails PR: 1644
File: lib/react_on_rails/helper.rb:190-197
Timestamp: 2025-02-18T13:08:01.477Z
Learning: RSC support validation in React on Rails Pro is handled through a chain of validations:
1. Pro version check in `run_stream_inside_fiber`
2. RSC support check during pack generation via `ReactOnRailsPro.configuration.enable_rsc_support`
3. RSC support validation during component registration
This makes additional validation in the helper methods unnecessary.

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-02-18T13:08:01.477Z
Learnt from: AbanoubGhadban
Repo: shakacode/react_on_rails PR: 1644
File: lib/react_on_rails/helper.rb:190-197
Timestamp: 2025-02-18T13:08:01.477Z
Learning: RSC support validation is handled in deeper level calls of the React on Rails Pro codebase, so it doesn't need to be validated again in the `rsc_payload_react_component` helper method.

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-02-13T16:50:47.848Z
Learnt from: AbanoubGhadban
Repo: shakacode/react_on_rails PR: 1644
File: node_package/src/clientStartup.ts:18-21
Timestamp: 2025-02-13T16:50:47.848Z
Learning: In the react_on_rails module, the `reactOnRailsPageUnloaded` function in clientStartup.ts is intentionally kept private as it's only used internally as a callback for `onPageUnloaded`.

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-02-13T16:50:26.861Z
Learnt from: AbanoubGhadban
Repo: shakacode/react_on_rails PR: 1644
File: node_package/src/turbolinksUtils.ts:34-36
Timestamp: 2025-02-13T16:50:26.861Z
Learning: In React on Rails, when checking for Turbolinks version 5 using `turbolinksVersion5()`, always ensure `Turbolinks` exists first by checking `turbolinksInstalled()` to prevent TypeError when accessing properties.

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-07-08T05:57:29.630Z
Learnt from: AbanoubGhadban
Repo: shakacode/react_on_rails PR: 1745
File: node_package/src/RSCRequestTracker.ts:8-14
Timestamp: 2025-07-08T05:57:29.630Z
Learning: The global `generateRSCPayload` function in React on Rails Pro (RORP) is provided by the framework during rendering requests, not implemented in application code. The `declare global` statements are used to document the expected interface that RORP will inject at runtime.

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-10-23T17:22:01.074Z
Learnt from: AbanoubGhadban
Repo: shakacode/react_on_rails PR: 1875
File: lib/react_on_rails/utils.rb:112-124
Timestamp: 2025-10-23T17:22:01.074Z
Learning: In React on Rails, when Pro is installed but not licensed, the intended behavior is to raise an error on boot. The `react_on_rails_pro?` method validates licenses and should raise errors early (including during path resolution in methods like `server_bundle?`) to enforce licensing requirements rather than failing later with obscure errors.

Applied to files:

  • CHANGELOG.md
🪛 markdownlint-cli2 (0.18.1)
CHANGELOG.md

5-5: Link text should be descriptive

(MD059, descriptive-link-text)


1734-1734: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5

(MD001, heading-increment)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: markdown-link-check
🔇 Additional comments (6)
CHANGELOG.md (6)

291-291: Link path correctly updated.

The release notes link path has been correctly updated from the old docs structure to the new upgrading/release-notes location.


676-676: Link path correctly updated.

The configuration link has been correctly updated from docs/guides/configuration to the new docs/api-reference/configuration location.


1691-1691: Link path correctly updated.

The rspec configuration link has been correctly updated to the new docs/building-features/rspec-configuration location.


1718-1718: Link path correctly updated.

The turbolinks documentation link has been correctly updated to the new docs/building-features/turbolinks location.


1729-1729: Link path correctly updated.

The turbolinks documentation link has been correctly updated to docs/building-features/turbolinks.


1737-1737: Link path correctly updated.

The migration guide link has been correctly updated to the new docs/migrating/migrating-from-react-rails location.

Per CodeRabbit review feedback: link text showed old path
'docs/guides/upgrading-react-on-rails.md' while URL pointed to new
location. Updated to use descriptive text 'upgrading guide' instead.
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Dec 16, 2025

Code Review - PR #2229: Fix broken links from docs reorganization

✅ Overall Assessment

This is an excellent cleanup PR that fixes broken links resulting from the docs reorganization in PR #1845. The changes are purely documentation fixes with no code or functionality changes.

📋 What Was Reviewed

Changes Summary:

  • 21 total link fixes across 5 files
  • 7 local file path fixes (relative paths and file:// URLs)
  • 14 website URL fixes (shakacode.com documentation paths)
  • All changes are in documentation/reference files only

Files Modified:

  1. CHANGELOG.md - 12 URL fixes
  2. README.md - 4 path fixes (2 local + 2 URLs)
  3. NEWS.md - 3 local path fixes
  4. docs/api-reference/javascript-api.md - 1 URL fix
  5. docs/contributor-info/rbs-type-signatures.md - 1 local path fix

✅ Strengths

  1. Comprehensive: Addresses both local file paths and website URLs
  2. Well-documented: PR description includes detailed tables showing old → new paths
  3. Verified: All new paths have been confirmed to exist in the repository
  4. Consistent: All changes follow the same pattern from the docs reorganization
  5. Low risk: Documentation-only changes with zero code impact

🔍 Path Verification

I verified all target paths exist:

  • docs/upgrading/release-notes/16.0.0.md
  • docs/upgrading/upgrading-react-on-rails.md
  • docs/building-features/turbolinks.md
  • docs/building-features/i18n.md
  • docs/building-features/rspec-configuration.md
  • docs/core-concepts/auto-bundling-file-system-based-automated-bundle-generation.md
  • docs/api-reference/configuration.md
  • react_on_rails/sig/README.md
  • docs/pro/react-on-rails-pro (website path)
  • docs/migrating/migrating-from-react-rails (website path)

📝 Observations

  1. No breaking changes: All changes are backward-compatible link updates
  2. Follows project conventions: Matches the new directory structure from PR docs: Reorganize documentation into 10 user-journey-based categories #1845
  3. Good testing approach: PR description mentions comprehensive grep verification
  4. Proper changelog handling: This is a documentation fix, so it doesn't need a changelog entry per CLAUDE.md guidelines

🎯 Recommendations

No blocking issues found. The PR is ready to merge.

Optional follow-up (not blocking):

  • Consider adding a link checker to CI to catch these issues automatically (mentioned in related PR Migrate from markdown-link-check to lychee #2219)
  • The CLAUDE.md guidelines on "Managing File Paths" suggest running comprehensive greps after directory structure changes - this PR is exactly the kind of cleanup those guidelines prevent

🔐 Security & Performance

  • ✅ No security concerns (documentation only)
  • ✅ No performance impact (documentation only)
  • ✅ No runtime behavior changes

🧪 Testing

The PR description states all links were tested:

  • Local file paths verified to exist at new locations
  • Website URLs tested (old paths return 404)
  • Comprehensive grep search confirms no remaining old references

My verification confirms all new paths exist in the repository.


Verdict: ✅ APPROVE - This is a clean, well-documented fix that addresses a real issue with no risks. Ready to merge.

🤖 Review generated with Claude Code

Copy link
Copy Markdown
Contributor

@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 e187e29 and d82b029.

📒 Files selected for processing (1)
  • CHANGELOG.md (10 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
CHANGELOG.md

📄 CodeRabbit inference engine (CLAUDE.md)

Update /CHANGELOG.md for open-source features, bug fixes, breaking changes, and performance improvements

Files:

  • CHANGELOG.md
**/*.{js,jsx,ts,tsx,json,css,scss,md}

📄 CodeRabbit inference engine (CLAUDE.md)

Use Prettier as the sole authority for formatting non-Ruby files

Files:

  • CHANGELOG.md
🧠 Learnings (17)
📓 Common learnings
Learnt from: CR
Repo: shakacode/react_on_rails PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-16T03:39:07.970Z
Learning: Applies to CHANGELOG.md : Update `/CHANGELOG.md` for open-source features, bug fixes, breaking changes, and performance improvements
Learnt from: CR
Repo: shakacode/react_on_rails PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-16T03:39:07.970Z
Learning: Applies to CHANGELOG_PRO.md : Update `/CHANGELOG_PRO.md` for Pro-only features, bug fixes, and performance improvements
📚 Learning: 2025-12-16T03:39:07.970Z
Learnt from: CR
Repo: shakacode/react_on_rails PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-16T03:39:07.970Z
Learning: Applies to CHANGELOG.md : Update `/CHANGELOG.md` for open-source features, bug fixes, breaking changes, and performance improvements

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-04-26T21:55:55.874Z
Learnt from: alexeyr-ci2
Repo: shakacode/react_on_rails PR: 1732
File: spec/dummy/client/app-react16/startup/ReduxSharedStoreApp.client.jsx:40-44
Timestamp: 2025-04-26T21:55:55.874Z
Learning: In the react_on_rails project, files under `app-react16` directories are copied/moved to corresponding `/app` directories during the conversion process (removing the `-react16` suffix), which affects their relative import paths at runtime.

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-12-16T03:39:07.970Z
Learnt from: CR
Repo: shakacode/react_on_rails PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-16T03:39:07.970Z
Learning: Applies to {package.json,Rakefile,**/webpack.config.js,config/**/*.js} : Validate that no hardcoded paths need updating after resolving merge conflicts in build configuration files

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-02-12T16:38:06.537Z
Learnt from: Romex91
Repo: shakacode/react_on_rails PR: 1697
File: package-scripts.yml:28-28
Timestamp: 2025-02-12T16:38:06.537Z
Learning: The file `node_package/lib/ReactOnRails.full.js` is autogenerated during the build process and should not be present in the repository.

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-12-16T03:39:07.970Z
Learnt from: CR
Repo: shakacode/react_on_rails PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-16T03:39:07.970Z
Learning: Applies to react_on_rails_pro/**/*.{js,ts,jsx,tsx,json,css,scss} : The `react_on_rails_pro/` directory has its own Prettier/ESLint configuration and will be linted separately in CI

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-12-16T03:39:07.970Z
Learnt from: CR
Repo: shakacode/react_on_rails PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-16T03:39:07.970Z
Learning: Applies to lib/react_on_rails/**/*.rb : Add RBS type signatures for new Ruby files in `lib/react_on_rails/` by creating corresponding `.rbs` files in `sig/react_on_rails/`

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-12-16T03:39:07.970Z
Learnt from: CR
Repo: shakacode/react_on_rails PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-16T03:39:07.970Z
Learning: Applies to lib/react_on_rails/**/*.rb : Validate RBS signatures with `bundle exec rake rbs:validate` and run Steep type checker with `bundle exec rake rbs:steep` for Ruby files

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-09-16T08:01:11.146Z
Learnt from: justin808
Repo: shakacode/react_on_rails PR: 1770
File: lib/generators/react_on_rails/templates/base/base/app/javascript/src/HelloWorld/ror_components/HelloWorld.client.jsx:2-2
Timestamp: 2025-09-16T08:01:11.146Z
Learning: React on Rails uses webpack CSS Modules configuration with namedExports: true, which requires the import syntax `import * as style from './file.module.css'` rather than the default export pattern. This configuration enables better tree shaking and bundle size optimization for CSS modules.

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-12-16T03:39:07.970Z
Learnt from: CR
Repo: shakacode/react_on_rails PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-16T03:39:07.970Z
Learning: Applies to packages/react-on-rails/src/**/*.tsx : For React component files, use TypeScript (.tsx extension) and follow the component registry pattern for registration

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-09-15T21:24:48.207Z
Learnt from: AbanoubGhadban
Repo: shakacode/react_on_rails PR: 1781
File: node_package/src/ClientSideRenderer.ts:82-95
Timestamp: 2025-09-15T21:24:48.207Z
Learning: In React on Rails, the force_load feature includes both explicit `data-force-load="true"` usage and the ability to hydrate components during the page loading state (`document.readyState === 'loading'`). Both capabilities require a Pro license, so the condition `!railsContext.rorPro && (isComponentForceLoaded || document.readyState === 'loading')` correctly gates both scenarios.

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-02-18T13:08:01.477Z
Learnt from: AbanoubGhadban
Repo: shakacode/react_on_rails PR: 1644
File: lib/react_on_rails/helper.rb:190-197
Timestamp: 2025-02-18T13:08:01.477Z
Learning: RSC support validation in React on Rails Pro is handled through a chain of validations:
1. Pro version check in `run_stream_inside_fiber`
2. RSC support check during pack generation via `ReactOnRailsPro.configuration.enable_rsc_support`
3. RSC support validation during component registration
This makes additional validation in the helper methods unnecessary.

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-02-18T13:08:01.477Z
Learnt from: AbanoubGhadban
Repo: shakacode/react_on_rails PR: 1644
File: lib/react_on_rails/helper.rb:190-197
Timestamp: 2025-02-18T13:08:01.477Z
Learning: RSC support validation is handled in deeper level calls of the React on Rails Pro codebase, so it doesn't need to be validated again in the `rsc_payload_react_component` helper method.

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-02-13T16:50:47.848Z
Learnt from: AbanoubGhadban
Repo: shakacode/react_on_rails PR: 1644
File: node_package/src/clientStartup.ts:18-21
Timestamp: 2025-02-13T16:50:47.848Z
Learning: In the react_on_rails module, the `reactOnRailsPageUnloaded` function in clientStartup.ts is intentionally kept private as it's only used internally as a callback for `onPageUnloaded`.

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-02-13T16:50:26.861Z
Learnt from: AbanoubGhadban
Repo: shakacode/react_on_rails PR: 1644
File: node_package/src/turbolinksUtils.ts:34-36
Timestamp: 2025-02-13T16:50:26.861Z
Learning: In React on Rails, when checking for Turbolinks version 5 using `turbolinksVersion5()`, always ensure `Turbolinks` exists first by checking `turbolinksInstalled()` to prevent TypeError when accessing properties.

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-07-08T05:57:29.630Z
Learnt from: AbanoubGhadban
Repo: shakacode/react_on_rails PR: 1745
File: node_package/src/RSCRequestTracker.ts:8-14
Timestamp: 2025-07-08T05:57:29.630Z
Learning: The global `generateRSCPayload` function in React on Rails Pro (RORP) is provided by the framework during rendering requests, not implemented in application code. The `declare global` statements are used to document the expected interface that RORP will inject at runtime.

Applied to files:

  • CHANGELOG.md
📚 Learning: 2025-10-23T17:22:01.074Z
Learnt from: AbanoubGhadban
Repo: shakacode/react_on_rails PR: 1875
File: lib/react_on_rails/utils.rb:112-124
Timestamp: 2025-10-23T17:22:01.074Z
Learning: In React on Rails, when Pro is installed but not licensed, the intended behavior is to raise an error on boot. The `react_on_rails_pro?` method validates licenses and should raise errors early (including during path resolution in methods like `server_bundle?`) to enforce licensing requirements rather than failing later with obscure errors.

Applied to files:

  • CHANGELOG.md
🪛 markdownlint-cli2 (0.18.1)
CHANGELOG.md

5-5: Link text should be descriptive

(MD059, descriptive-link-text)


1734-1734: Heading levels should only increment by one level at a time
Expected: h3; Actual: h5

(MD001, heading-increment)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: markdown-link-check
  • GitHub Check: claude-review
🔇 Additional comments (1)
CHANGELOG.md (1)

1-1868: Link updates align with docs reorganization from PR #1845.

All visible documentation URL and local file path changes correctly reflect the reorganized docs structure documented in the PR objectives:

  • Website URLs now use correct path structure (e.g., /docs/upgrading/upgrading-react-on-rails instead of /docs/guides/upgrading-react-on-rails)
  • Local file paths reference correct locations (e.g., docs/upgrading/release-notes/16.0.0.md)
  • Changes are consistent across the changelog

The CHANGELOG.md updates are documentation-only and properly reflect the PR's stated changes. The file follows the pattern of documenting link fixes without modifying functional code.

Comment thread CHANGELOG.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant