Skip to content

Remove dead Madrone Co link and fix link checker for unreleased tags#2586

Merged
justin808 merged 1 commit intomasterfrom
jg/remove-madrone-link-fix-linkcheck
Mar 11, 2026
Merged

Remove dead Madrone Co link and fix link checker for unreleased tags#2586
justin808 merged 1 commit intomasterfrom
jg/remove-madrone-link-fix-linkcheck

Conversation

@justin808
Copy link
Copy Markdown
Member

@justin808 justin808 commented Mar 11, 2026

Summary

  • Removes the dead madroneco.com link from PROJECTS.md (site is no longer live), keeping the text reference to Madrone Analytics
  • Replaces 4 individual historical compare link exclusions in .lychee.toml with a single pattern that excludes all GitHub compare links from this repo — the latest changelog entry always references a tag that hasn't been created yet, causing the link checker to fail

Test plan

  • Verify check-markdown-links CI job passes
  • Verify Madrone Analytics text still appears in PROJECTS.md without a link

🤖 Generated with Claude Code


Note

Low Risk
Documentation and CI link-check configuration only; no runtime code paths or data/security-sensitive logic affected.

Overview
Removes the dead madroneco.com link from PROJECTS.md, keeping the Madrone Analytics entry as plain text.

Updates .lychee.toml to stop special-casing a few historical missing-tag compare URLs and instead exclude all github.com/shakacode/react_on_rails/compare/ links (to avoid link-check failures for the latest, not-yet-tagged release compare link).

Written by Cursor Bugbot for commit 7f94618. Configure here.

Summary by CodeRabbit

  • Documentation

    • Updated project reference formatting in documentation.
  • Chores

    • Updated link validation configuration for improved maintainability.

- Remove madroneco.com link from PROJECTS.md (site is no longer live),
  keeping the text reference to Madrone Analytics
- Replace individual historical compare link exclusions with a single
  pattern excluding all GitHub compare links from this repo, since the
  latest changelog entry always references a tag that doesn't exist yet

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

coderabbitai Bot commented Mar 11, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 066d8106-2f76-45aa-b3c9-ba011c5d215c

📥 Commits

Reviewing files that changed from the base of the PR and between abdffd3 and 7f94618.

📒 Files selected for processing (2)
  • .lychee.toml
  • PROJECTS.md

Walkthrough

Configuration and documentation updates were made to exclude GitHub compare links and adjust project listing formatting. The changes involve updating URL exclusion patterns in Lychee configuration and removing a hyperlink from the projects documentation.

Changes

Cohort / File(s) Summary
Lychee Configuration
.lychee.toml
Replaced enumerated GitHub compare URL exclusions with a single broad prefix pattern ^https://github\.com/shakacode/react_on_rails/compare/ and added explanatory comments about auto-generated link nature.
Project Documentation
PROJECTS.md
Converted Madrone Analytics entry from a hyperlinked item to a plain bold text label, removing the URL reference while retaining the description.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰✨ A hop through config, a link set free,
Compare-links grouped in harmony,
Madrone bold, no web to roam,
Cleaner docs, a tidy home! 📚

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch jg/remove-madrone-link-fix-linkcheck

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.

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Mar 11, 2026

Greptile Summary

This PR performs two focused maintenance tasks: removes a dead madroneco.com link from PROJECTS.md, and consolidates four historical GitHub compare link exclusions in .lychee.toml into a single broad pattern to prevent CI failures caused by the latest CHANGELOG entry referencing a not-yet-created tag.

Key changes:

  • PROJECTS.md: Removes broken madroneco.com hyperlink while keeping the "Madrone Analytics" text reference — clean and correct.
  • .lychee.toml: Replaces four specific anchored regex patterns (e.g. '^https://github\.com/shakacode/react_on_rails/compare/8\.0\.6\.\.\.8\.0\.7$') with one broad prefix pattern ('^https://github\.com/shakacode/react_on_rails/compare/'). This solves the immediate CI problem but also silences link checking for all historically valid compare links in the changelog — a minor trade-off for maintainability.

Confidence Score: 5/5

  • This PR is safe to merge — it only modifies a link checker config and a documentation file with no functional code changes.
  • Both changes are documentation/tooling only. The .lychee.toml exclusion pattern is broader than strictly needed but works correctly for its purpose. No logic, tests, or application code is touched.
  • No files require special attention.

Important Files Changed

Filename Overview
.lychee.toml Replaces 4 specific historical compare link exclusions with a single broad prefix pattern that excludes all GitHub compare links for the repo. Technically correct but slightly over-broad.
PROJECTS.md Removes dead madroneco.com hyperlink while preserving the Madrone Analytics text reference. Clean, minimal, and correct change.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[CI: check-markdown-links] --> B[Lychee scans all .md files]
    B --> C{URL matches exclude pattern?}
    C -- Yes --> D[Skip / Ignore URL]
    C -- No --> E[HTTP request to URL]
    E --> F{Response OK?}
    F -- Yes --> G[Pass]
    F -- No --> H[Fail CI]

    subgraph "New broad pattern"
      P1["'^https://github.com/shakacode/react_on_rails/compare/'"]
    end

    subgraph "Old specific patterns (removed)"
      P2["compare/8.0.6...8.0.7 $"]
      P3["compare/8.0.7...9.0.0 $"]
      P4["compare/10.1.1...10.1.2 $"]
      P5["compare/10.1.2...10.1.3 $"]
    end

    P1 --> D
    P2 -.->|replaced by| P1
    P3 -.->|replaced by| P1
    P4 -.->|replaced by| P1
    P5 -.->|replaced by| P1
Loading

Last reviewed commit: 7f94618

@justin808 justin808 merged commit c7a86c9 into master Mar 11, 2026
31 of 32 checks passed
@justin808 justin808 deleted the jg/remove-madrone-link-fix-linkcheck branch March 11, 2026 03:12
Comment thread .lychee.toml
# release link always references a tag that doesn't exist yet (created after
# the changelog is committed). Exclude all compare links since they're
# auto-generated by changelog tooling.
'^https://github\.com/shakacode/react_on_rails/compare/',
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Overly broad exclusion silences valid link checks

The new pattern '^https://github\.com/shakacode/react_on_rails/compare/' excludes all GitHub compare links for this repo — including historical ones that already resolve correctly. The stated goal is to handle the single "unreleased latest tag" link that's committed before the tag is pushed.

A slightly more targeted approach would be to match only the HEAD or unreleased-tag pattern (e.g. anchoring on the latest version). However, the main practical risk here is that if a future CHANGELOG entry contains a compare link with a typo or invalid tag range (other than the expected "unreleased" one), the link checker will silently skip it rather than flag it.

This is a reasonable trade-off for CI stability, but it's worth noting that this is broader than the original intent of "only exclude unreleased tags."

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 11, 2026

PR Review

This is a clean, low-risk documentation and CI configuration PR. Changes are reasonable and well-motivated.

.lychee.toml — Trade-off worth noting

The new broad exclusion pattern covers the ongoing problem (new CHANGELOG entries referencing not-yet-created tags), but has two subtle downsides:

  1. Lost historical context — The removed comments explicitly documented a real tagging mistake (versions 8.0.7, 10.1.2, 10.1.3 were never tagged, referencing issue Link checker cleanup: Fix 62 broken links across codebase #2232). That was useful project history. Consider preserving it as a comment block inside the new section even though the pattern now covers those URLs automatically.

  2. Coverage reduction — Any future compare link that is genuinely wrong (e.g. a typo in a release header or wrong base tag) will now be silently skipped. Since these links are CHANGELOG-only and auto-generated by tooling, this is low risk in practice.

A middle-ground would be scoping the exclusion to only CHANGELOG.md via exclude_path rather than excluding the URL pattern globally — but lychee does not support per-path URL exclusions, so this approach is correct given the tool's capabilities.

PROJECTS.md — Looks good

Straightforward dead-link cleanup. Keeping the text reference without a link is the right call.

Overall: Minor suggestion — add a brief note in the new comment block referencing the historical tagging issue or issue #2232 so future contributors have that context.

Comment thread .lychee.toml
# release link always references a tag that doesn't exist yet (created after
# the changelog is committed). Exclude all compare links since they're
# auto-generated by changelog tooling.
'^https://github\.com/shakacode/react_on_rails/compare/',
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The broad exclusion is pragmatic, but it silently skips ALL compare links — including any that might be genuinely malformed in future docs. Consider adding a comment preserving the historical context about why specific old tags were missing (see removed comment referencing issue #2232), so future contributors understand the history:

Suggested change
'^https://github\.com/shakacode/react_on_rails/compare/',
'^https://github\.com/shakacode/react_on_rails/compare/',
# Note: some historical releases (8.0.7, 10.1.2, 10.1.3) were never tagged —
# their changelog entries were rolled into the next release. See issue #2232.

justin808 added a commit that referenced this pull request Mar 13, 2026
…k cleanup (#2596)

## Summary
- Added missing changelog entries for PRs #2439, #2477, #2554
- Stamped version header for 16.4.0.rc.9 (collapsed rc.8 into rc.9)
- **Fixed rake task bug**: `collapse_prerelease_sections` removed
section headers but left behind orphaned compare links at the bottom of
CHANGELOG.md. Added `cleanup_collapsed_prerelease_links` to remove these
links and update `[unreleased]` to compare from the last stable version.

## Changes
1. **CHANGELOG.md**: New entries + rc.9 stamp + removed orphaned
`[16.4.0.rc.8]` link
2. **update_changelog.rake**: Added `cleanup_collapsed_prerelease_links`
function, called from `prepare_changelog_for_auto_version`
3. **update_changelog_rake_helpers_spec.rb**: 3 new tests covering link
cleanup (multi-prerelease chain, single prerelease, no prereleases)

## Skipped PRs (not user-visible)
- #2593 — test only (lock instrumentation)
- #2591 — test only (Jest clearMocks)
- #2588 — internal refactoring (Thor shell output)
- #2584 — docs restructuring
- #2587 — internal tooling (release script)
- #2589 — docs fix (JWT claim name)
- #2586 — docs/CI (dead link removal)

## Test plan
- [x] All 13 rake helper tests pass (3 new)
- [ ] CI passes
- [ ] After merge, run `rake release` to publish 16.4.0.rc.9

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

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
  * Fixed bin/setup failing in pnpm workspace member directories.

* **New Features**
* Added host configuration option for the Node Renderer Fastify worker.

* **Improvements / Changed**
* Automatic installation of react_on_rails_pro enabled for --rsc/--pro
flags.
* Clarified Pro-installation signaling related to immediate hydration
warnings.
* Updated changelog to include RC9 entries and ensure Unreleased links
point to the correct base.

* **Documentation**
* Added startup warning and remediation guidance for unsafe compression
middleware callbacks.

* **Tests**
  * Added tests covering changelog prerelease-link cleanup behavior.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude Opus 4.6 <[email protected]>
justin808 added a commit that referenced this pull request Mar 30, 2026
…k cleanup (#2596)

## Summary
- Added missing changelog entries for PRs #2439, #2477, #2554
- Stamped version header for 16.4.0.rc.9 (collapsed rc.8 into rc.9)
- **Fixed rake task bug**: `collapse_prerelease_sections` removed
section headers but left behind orphaned compare links at the bottom of
CHANGELOG.md. Added `cleanup_collapsed_prerelease_links` to remove these
links and update `[unreleased]` to compare from the last stable version.

## Changes
1. **CHANGELOG.md**: New entries + rc.9 stamp + removed orphaned
`[16.4.0.rc.8]` link
2. **update_changelog.rake**: Added `cleanup_collapsed_prerelease_links`
function, called from `prepare_changelog_for_auto_version`
3. **update_changelog_rake_helpers_spec.rb**: 3 new tests covering link
cleanup (multi-prerelease chain, single prerelease, no prereleases)

## Skipped PRs (not user-visible)
- #2593 — test only (lock instrumentation)
- #2591 — test only (Jest clearMocks)
- #2588 — internal refactoring (Thor shell output)
- #2584 — docs restructuring
- #2587 — internal tooling (release script)
- #2589 — docs fix (JWT claim name)
- #2586 — docs/CI (dead link removal)

## Test plan
- [x] All 13 rake helper tests pass (3 new)
- [ ] CI passes
- [ ] After merge, run `rake release` to publish 16.4.0.rc.9

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

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
  * Fixed bin/setup failing in pnpm workspace member directories.

* **New Features**
* Added host configuration option for the Node Renderer Fastify worker.

* **Improvements / Changed**
* Automatic installation of react_on_rails_pro enabled for --rsc/--pro
flags.
* Clarified Pro-installation signaling related to immediate hydration
warnings.
* Updated changelog to include RC9 entries and ensure Unreleased links
point to the correct base.

* **Documentation**
* Added startup warning and remediation guidance for unsafe compression
middleware callbacks.

* **Tests**
  * Added tests covering changelog prerelease-link cleanup behavior.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude Opus 4.6 <[email protected]>
justin808 added a commit that referenced this pull request Apr 6, 2026
…k cleanup (#2596)

## Summary
- Added missing changelog entries for PRs #2439, #2477, #2554
- Stamped version header for 16.4.0.rc.9 (collapsed rc.8 into rc.9)
- **Fixed rake task bug**: `collapse_prerelease_sections` removed
section headers but left behind orphaned compare links at the bottom of
CHANGELOG.md. Added `cleanup_collapsed_prerelease_links` to remove these
links and update `[unreleased]` to compare from the last stable version.

## Changes
1. **CHANGELOG.md**: New entries + rc.9 stamp + removed orphaned
`[16.4.0.rc.8]` link
2. **update_changelog.rake**: Added `cleanup_collapsed_prerelease_links`
function, called from `prepare_changelog_for_auto_version`
3. **update_changelog_rake_helpers_spec.rb**: 3 new tests covering link
cleanup (multi-prerelease chain, single prerelease, no prereleases)

## Skipped PRs (not user-visible)
- #2593 — test only (lock instrumentation)
- #2591 — test only (Jest clearMocks)
- #2588 — internal refactoring (Thor shell output)
- #2584 — docs restructuring
- #2587 — internal tooling (release script)
- #2589 — docs fix (JWT claim name)
- #2586 — docs/CI (dead link removal)

## Test plan
- [x] All 13 rake helper tests pass (3 new)
- [ ] CI passes
- [ ] After merge, run `rake release` to publish 16.4.0.rc.9

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

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
  * Fixed bin/setup failing in pnpm workspace member directories.

* **New Features**
* Added host configuration option for the Node Renderer Fastify worker.

* **Improvements / Changed**
* Automatic installation of react_on_rails_pro enabled for --rsc/--pro
flags.
* Clarified Pro-installation signaling related to immediate hydration
warnings.
* Updated changelog to include RC9 entries and ensure Unreleased links
point to the correct base.

* **Documentation**
* Added startup warning and remediation guidance for unsafe compression
middleware callbacks.

* **Tests**
  * Added tests covering changelog prerelease-link cleanup behavior.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude Opus 4.6 <[email protected]>
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