Skip to content

Fix two dead links in the docs - #23744

Merged
MikeMcQuaid merged 1 commit into
Homebrew:mainfrom
rawsun007:fix-dead-doc-links
Sep 2, 2026
Merged

Fix two dead links in the docs#23744
MikeMcQuaid merged 1 commit into
Homebrew:mainfrom
rawsun007:fix-dead-doc-links

Conversation

@rawsun007

@rawsun007 rawsun007 commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

  • Have you followed our Contributing guidelines?
  • Have you checked for other open Pull Requests for the same change?
  • Have you explained what your changes do? Performance claims (e.g. "this is faster") must include brew benchmark results.
  • Have you explained why you'd like these changes included, not just what they do?
  • For bug fixes, have you given step-by-step brew commands to reproduce the bug?
  • Have you written new tests (excluding integration tests)? Here's an example.
  • Have you successfully run brew lgtm (style, typechecking and tests) locally?

  • I did not use AI/LLM to create this PR, or I disclosed the tool/model below and reviewed its output; I did not attribute commits to AI and will answer maintainer questions and review comments myself without AI/LLM.

What these changes do

Two dead links in docs/, found by requesting every URL in that directory.

docs/Cask-Cookbook.md illustrates "if the result conflicts with an existing cask or formula, prepend the name of the vendor or developer" with Casks/u/unison.rb and Casks/p/panic-unison.rb. Both return 404 from the GitHub contents API on HEAD. unison was renamed to unison-appcask_renames.json carries {"unison": "unison-app"} — which is the following bullet's rule (append -app for a formula clash), and panic-unison no longer exists at all. So the example demonstrated neither half of the rule it was attached to, and its surviving half now demonstrates a different rule.

Replaced with caffeine and domzilla-caffeine. Both are live, both are named exactly "Caffeine", and their homepages are different vendors (intelliscapesolutions.com and caffeine-app.net), so the pair shows a real name clash resolved by prepending the developer. I chose it by listing all 7,721 tokens from formulae.brew.sh/api/cask.json and keeping pairs where both vendor-name and name exist and the display names match.

docs/Troubleshooting.md sent readers to the Discourse archive as "read-only historical material". discourse.brew.sh is NXDOMAIN — the Google and Cloudflare resolvers both return no record, while docs.brew.sh resolves — so there is nothing there to search. The sentence now says the archive is offline and keeps the warning that quoted material is outdated, which is still useful when it surfaces in an old thread. The GitHub Discussions link on the line above is untouched and returns 200.

Why I would like them included

Both links sit in the paths people are sent to when they are already stuck: the cookbook rule a first-time cask author reads, and the troubleshooting page. A 404 there costs the reader the example that was supposed to explain the rule.

On the three unticked boxes

  • Not a bug fix in code, so there are no brew commands to reproduce it. The reproduction is requesting the two URLs, both of which I re-verified through the contents API and nslookup rather than the HTML pages.
  • Documentation prose only, so no tests.
  • I could not run brew lgtm. brew bundle exec bundle install in docs/ fails on this machine with Could not find 'bundler' (4.0.16) against the system Ruby 2.6, and I did not want to install a Ruby toolchain to check a two-line prose change. brew lgtm covers Ruby style, Sorbet and RSpec, none of which this diff touches; CI owns the docs build.

I also left last_review_date alone in both files. It records that a maintainer reviewed the page, and I touched two lines, so bumping it would claim more than I did.

AI/LLM disclosure

Claude (Opus), via Claude Code, ran the link sweep, searched the cask API for a replacement pair and drafted this description. I reviewed the diff and the claims. No commit is attributed to AI: there is no Assisted-by or Co-developed-by trailer, per the rule in CONTRIBUTING.md. Every URL claim was re-verified through the GitHub contents API because github.com rate-limited the bulk sweep, and a 429 is indistinguishable from a 404 in a bulk check — domzilla-caffeine.rb looked dead for exactly that reason and was not. This is my only AI-assisted PR open here, per the one-at-a-time rule. I will answer review comments myself.

Apologies for the first version of this description: I annotated three of the checkbox lines with parentheses instead of leaving them verbatim and explaining below, which is what tripped the template check.

The Cask Cookbook example for disambiguating a name clash by prepending the
vendor pointed at Casks/u/unison.rb and Casks/p/panic-unison.rb. Both 404:
unison was renamed to unison-app, which is the *next* bullet's rule, and
panic-unison no longer exists at all, so the example demonstrated neither
half of the rule it illustrated. caffeine and domzilla-caffeine are both
live, are both named "Caffeine" with different vendors, and show the rule
exactly.

Troubleshooting pointed readers at the Discourse archive. discourse.brew.sh
is NXDOMAIN, so there is nothing to search.
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Thanks for your pull request. This has been closed because it appears to be missing the pull request template, perhaps because this was written by an AI not a human. We require humans to read and fill in these templates.

Please edit this pull request to fill in the current pull request template. This workflow will reopen this pull request automatically once the template is complete. Do not open a new pull request for this.

@github-actions github-actions Bot closed this Sep 2, 2026
@github-actions github-actions Bot reopened this Sep 2, 2026

@MikeMcQuaid MikeMcQuaid left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks!

@MikeMcQuaid
MikeMcQuaid added this pull request to the merge queue Sep 2, 2026
Merged via the queue into Homebrew:main with commit 07798f8 Sep 2, 2026
145 of 147 checks passed
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.

2 participants