Skip to content

docs: fix 104 dead documentation links across all language trees - #187

Open
boleklebovski wants to merge 1 commit into
InjectiveLabs:mainfrom
boleklebovski:docs/fix-dead-documentation-links
Open

docs: fix 104 dead documentation links across all language trees#187
boleklebovski wants to merge 1 commit into
InjectiveLabs:mainfrom
boleklebovski:docs/fix-dead-documentation-links

Conversation

@boleklebovski

Copy link
Copy Markdown

Problem

32 distinct external documentation URLs referenced from these docs are dead (HTTP 404). They appear 104 times across 47 files, in all four language trees (root, cn, jp, ko).

Three separate causes:

  1. docs.cosmos.network retired the /main/, /master/ and old versioned .html trees — 28 URLs.
  2. Tendermint's docs were superseded by CometBFT — the v0.35 spec/abci/apps.html page no longer exists anywhere — 1 URL.
  3. x/circuit was extracted from the cosmos-sdk monorepo after v0.50, so blob/main/proto/cosmos/circuit/v1/tx.proto now 404s — 3 URLs.

What I verified

  • Each of the 32 URLs was requested with a browser user-agent, following redirects: all 404.
  • Each replacement returns 200 and a topic-matching page title — e.g. x/bank, Setting up the keyring, ADR 036: Arbitrary Message Signature Specification. Status codes alone were not treated as sufficient.
  • Soft-404 control test: deliberately bogus paths such as /sdk/latest/totally-made-up-abcxyz return a real 404 on that host, so a 200 here means the page genuinely exists rather than an SPA fallback.
  • Every anchor was checked against the target page's HTML — all nine anchored replacements contain the referenced id (#antehandlers, #message-routing, #step-1-antehandler, #3-add-genesis-accounts, #the-transaction-execution-pipeline, #broadcasting-a-transaction, #parameters).
  • Links that merely look stale were deliberately left alone because they still resolve: docs.tendermint.com/master/introduction/what-is-tendermint.html#intro-to-abci (6 occurrences), docs.tendermint.com/v0.34/tendermint-core/configuration.html (4), the bare docs.cosmos.network/ and docs.tendermint.com/ links, and 107 of the 110 cosmos-sdk/blob/... links.

The proto citations needed more than a tag swap

The three tx.proto references used line ranges from an older layout of that file: #L25-L75, #L77-L93, #L95-109. In every tag that still carries the file it is only 83 lines long, so two of those ranges point past the end of the file — the reference would render but highlight nothing.

I re-derived each range from the current file so that every citation highlights exactly the message its heading names:

heading in this doc reference
MsgAuthorizeCircuitBreaker #L25-L40 (doc comment + message)
MsgTripCircuitBreaker #L47-L60
MsgResetCircuitBreaker #L67-L78

I pinned the tag x/circuit/v0.1.0, which this same file already uses for its x/circuit/ante/circuit.go reference, rather than introducing a different pin. (As a side effect this also fixes #L95-109, which was missing the second L.)

Choosing replacement paths

Where a retired page has a current equivalent I used /sdk/latest/..., resolved and confirmed one path at a time. /sdk/latest/ was reorganised relative to the old /main/ tree, so a single prefix rewrite does not work — for example /main/basics/accounts becomes /sdk/latest/learn/concepts/accounts, while /main/modules/bank becomes /sdk/latest/modules/bank/README.

Scope

URL text only. Every one of the 76 changed lines differs from the original in the URL alone — no prose, formatting or frontmatter was touched. (104 replacements land on 76 lines because some lines carry several links, such as the module list in inj-coin.mdx.)

All four language trees are updated in the same change so the translations do not drift out of parity — the same reason docs(cn): sync ... PRs exist.

Full mapping

× dead URL replacement
13 cosmos/v0.46/run-node/keyring.html cosmos/sdk/latest/node/keyring
12 cosmos/main/build cosmos/sdk/latest/learn
4 cosmos/main/basics/accounts cosmos/sdk/latest/learn/concepts/accounts
4 cosmos/main/basics/tx-lifecycle cosmos/sdk/latest/learn/concepts/lifecycle
4 cosmos/main/build/architecture/adr-036-arbitrary-signature cosmos/sdk/latest/reference/architecture/adr-036-arbitrary-signature
4 cosmos/main/build/modules/auth#gas--fees cosmos/sdk/latest/modules/auth/auth#antehandlers
4 cosmos/main/learn/beginner/gas-fees cosmos/sdk/latest/learn/concepts/context-gas-events
4 cosmos/main/modules/auth#parameters cosmos/sdk/latest/modules/auth/auth#parameters
4 cosmos/main/modules/authz cosmos/sdk/latest/modules/authz/README
4 cosmos/main/modules/bank cosmos/sdk/latest/modules/bank/README
4 cosmos/main/modules/crisis cosmos/sdk/latest/modules/crisis/README
4 cosmos/main/modules/distribution cosmos/sdk/latest/modules/distribution/README
4 cosmos/main/modules/gov cosmos/sdk/latest/modules/gov/README
4 cosmos/main/modules/mint cosmos/sdk/latest/modules/mint/README
4 cosmos/main/modules/slashing cosmos/sdk/latest/modules/slashing/README
4 cosmos/main/modules/staking cosmos/sdk/latest/modules/staking/README
4 cosmos/v0.45/modules/auth/03_antehandlers.html cosmos/sdk/latest/modules/auth/auth#antehandlers
2 cosmos/main/learn/advanced/baseapp#antehandler cosmos/sdk/latest/learn/concepts/baseapp#antehandler
2 cosmos/main/learn/advanced/baseapp#msg-service-router cosmos/sdk/latest/learn/concepts/baseapp#message-routing
2 cosmos/main/learn/beginner/tx-lifecycle#antehandler cosmos/sdk/latest/learn/concepts/lifecycle#step-1-antehandler
2 cosmos/main/modules/feegrant cosmos/sdk/latest/modules/feegrant/README
2 cosmos/main/run-node/run-node#adding-genesis-accounts cosmos/sdk/latest/node/run-node#3-add-genesis-accounts
2 cosmos/master/basics/gas-fees.html#antehandler cosmos/sdk/latest/learn/concepts/context-gas-events
2 cosmos/master/core/baseapp.html#runtx cosmos/sdk/latest/learn/concepts/baseapp#the-transaction-execution-pipeline
2 cosmos/master/run-node/txs.html#broadcasting-a-transaction cosmos/sdk/latest/node/txs#broadcasting-a-transaction
2 tendermint/v0.35/spec/abci/apps.html#consensus-connection cosmos/cometbft/latest/spec/abci/Methods
2 sdk-repo/blob/main/proto/cosmos/circuit/v1/tx.proto#L25-L75 sdk-repo/blob/x/circuit/v0.1.0/proto/cosmos/circuit/v1/tx.proto#L25-L40
2 sdk-repo/blob/main/proto/cosmos/circuit/v1/tx.proto#L77-L93 sdk-repo/blob/x/circuit/v0.1.0/proto/cosmos/circuit/v1/tx.proto#L47-L60
2 sdk-repo/blob/main/proto/cosmos/circuit/v1/tx.proto#L95-109 sdk-repo/blob/x/circuit/v0.1.0/proto/cosmos/circuit/v1/tx.proto#L67-L78
1 cosmos/main/learn/advanced/transactions cosmos/sdk/latest/learn/concepts/transactions
1 cosmos/main/modules/auth/vesting/ cosmos/sdk/latest/modules/auth/vesting
1 cosmos/v0.50/build/modules/staking cosmos/sdk/latest/modules/staking/README

docs.cosmos.network retired its /main, /master and old versioned .html
trees; Tendermint's docs were superseded by CometBFT; and x/circuit was
extracted from the cosmos-sdk monorepo after v0.50. 32 distinct URLs
404 as a result, in 104 places across 47 files.

Each replacement was confirmed to return 200 with a topic-matching page
title, every anchor was checked against the target page, and links that
still resolve were left untouched. The three tx.proto references also
had their line ranges re-derived, because two of them pointed past the
end of an 83-line file.

Signed-off-by: boleklebovski <160799963+boleklebovski@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Important

Review available on request

  • 🔍 Trigger review

Reviews should be triggered manually for repositories with fewer than 10 stars. Select Trigger review above or comment @coderabbitai review to review the latest changes. For a full review, comment @coderabbitai full review.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 7ea0d052-8182-4614-9685-bdfd4da2b632


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.

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