Skip to content

bug: remove dead Mocha testnet community endpoints and add weekly health check#2482

Open
Copilot wants to merge 5 commits intomainfrom
copilot/fix-broken-endpoints
Open

bug: remove dead Mocha testnet community endpoints and add weekly health check#2482
Copilot wants to merge 5 commits intomainfrom
copilot/fix-broken-endpoints

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 15, 2026

Resolves #2481

Several community endpoints listed in the Mocha testnet docs had accumulated with fails=3675, indicating persistent failures. Removes the dead ones and adds a cron workflow to surface future breakage automatically.

Removed endpoints (mocha-testnet/page.mdx)

Pruned from DA gRPC, Community RPC, Community gRPC, and Community API sections:

Endpoint Reason
public-celestia-mocha-4-consensus.numia.xyz (ports 9090, 26657) STUCK
grpc.celestia-mocha.com:443 STUCK
celestia-t-{grpc,rpc}.noders.services + API STUCK (provider down)

Added: weekly endpoint health check (.github/workflows/check-endpoints.yml)

Runs every Monday at 09:00 UTC (+ workflow_dispatch). Checks all remaining Mocha community endpoints — TCP for gRPC/RPC, HTTP for API — and opens or updates a endpoint-check-labeled GitHub issue listing any unreachable endpoints and the doc file to edit.

on:
  schedule:
    - cron: "0 9 * * 1"
  workflow_dispatch:

HTTP failures distinguish connection errors (000) from non-2xx responses, so transient 4xx from an otherwise-live server won't false-positive.

Copilot AI linked an issue Apr 15, 2026 that may be closed by this pull request
Copilot AI changed the title [WIP] Fix broken community endpoints bug: remove dead Mocha testnet community endpoints and add weekly health check Apr 15, 2026
Copilot AI requested a review from jcstein April 15, 2026 13:16
Replace hardcoded Mocha-only endpoint list with a Node.js script that
dynamically extracts community endpoints from all three network pages
(mainnet-beta, mocha-testnet, arabica-devnet). Broken endpoints are
removed (bullet lists) or replaced with `-` (table cells). The workflow
now creates a PR with the changes instead of filing an issue.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
github-advanced-security[bot]

This comment was marked as resolved.

github-advanced-security[bot]

This comment was marked as resolved.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 15, 2026

🚀 Preview Deployment

Your preview is ready: https://celestiaorg.github.io/docs-preview/pr-2482/

jcstein and others added 2 commits April 15, 2026 08:43
Pass the summary through an environment variable to avoid the CodeQL
script injection warning on the PR body field.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@jcstein jcstein marked this pull request as ready for review April 15, 2026 15:00
Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

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

Devin Review found 1 potential issue.

View 6 additional findings in Devin Review.

Open in Devin Review

Comment on lines +450 to +452
if (allFailed) {
// Every endpoint in this line/row is down — remove the whole line
linesToRemove.add(lineIndex);
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.

🔴 Removing a bullet-point endpoint leaves its indented sub-bullets orphaned, attaching them to the wrong parent

When extractMochaBulletEndpoints identifies an endpoint like celestia-testnet-consensus.itrocket.net (mocha line 115), only the endpoint's own line index is tracked. The removal logic at scripts/check-endpoints.mjs:450-452 adds only that single line to linesToRemove. However, this endpoint has indented sub-bullets at lines 116–117 ( - RPC port: 26657 / - gRPC port: 9090) that are not detected or removed. After filtering at line 468, those orphaned sub-bullets become children of the preceding endpoint (rpc-mocha.pops.one), producing misleading documentation that associates the wrong port information with the wrong host. Since this script auto-creates PRs, the error could easily slip through review.

Prompt for agents
In the removal logic in main() around line 450, when a bullet-list line is marked for removal (linesToRemove.add(lineIndex)), the code should also scan forward for any contiguous indented sub-bullet lines (lines starting with whitespace followed by -) immediately after the removed line and add those indices to linesToRemove as well. This applies specifically to the Mocha bullet-list format.

The relevant code is in scripts/check-endpoints.mjs inside the for loop at line 446. After linesToRemove.add(lineIndex), add a forward scan like:

  let next = lineIndex + 1;
  while (next < lines.length && /^\s+-/.test(lines[next])) {
    linesToRemove.add(next);
    next++;
  }

This ensures that when celestia-testnet-consensus.itrocket.net at mocha-testnet/page.mdx:115 is removed, its sub-bullets at lines 116-117 (RPC port: 26657, gRPC port: 9090) are also removed, preventing them from being incorrectly associated with the preceding endpoint rpc-mocha.pops.one.
Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

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.

chore: fix broken endpoints

3 participants