Skip to content

feat(protocol-dashboard): show validator stats from /health-check and link to /console#14376

Merged
raymondjacobson merged 1 commit into
mainfrom
claude/competent-chatelet-0ce497
May 21, 2026
Merged

feat(protocol-dashboard): show validator stats from /health-check and link to /console#14376
raymondjacobson merged 1 commit into
mainfrom
claude/competent-chatelet-0ce497

Conversation

@raymondjacobson
Copy link
Copy Markdown
Member

Mirrors OpenAudio/staking#2 on the protocol dashboard — same code, applied here since the NodeOverview / useNodeHealth components are nearly identical between the two repos.

Summary

  • Replaces the old uptime/disk/db health rows on the validator node page with stats parsed from the validator /health-check endpoint: Node Type, Peers (recursive count over nested groupings like inbound/outbound), Current Height, Storage Type, Last Restart (computed from timestamp - uptime), and Git SHA (short, full on hover).
  • Adds a View Console button on the validator overview that opens ${endpoint}/console in a new tab.
  • Drops the IndividualNodeUptimeChart section for validators only. Content Node and Discovery Node pages are unchanged.
  • Guards the ServiceTable country flag against missing or non-ISO-3166 alpha-2 codes (validators may not report a country) — renders a neutral fallback instead.

Implementation notes vs. the staking PR

  • The View Console button reuses the existing styles.modifyBtn / styles.modifyBtnText classes (matching the Manage Node button) instead of the staking app's global gradient-button manageNodeButton classes, which don't exist in this repo.

Test plan

  • Navigate to a validator node page — confirm the six new stats render and the View Console button opens the validator's console in a new tab.
  • Confirm Peers count matches reality on a node whose core.peers is grouped (e.g. inbound/outbound) — recursion sums across nested groups.
  • Confirm Content Node and Discovery Node pages are visually unchanged (still show disk/db/peer-reachability/uptime chart).
  • Confirm a validator with no core.peers shows 0 rather than blank.
  • Confirm fetch failure renders the "Failed to fetch health data" row instead of an empty section.
  • Confirm the ServiceTable falls back to a neutral 🏁 icon for rows whose country is missing or not a 2-letter code.

🤖 Generated with Claude Code

… link to /console

- Replaces the old uptime/disk/db health rows on the validator node page with stats parsed from the validator /health-check endpoint: Node Type, Peers (recursive count over nested groupings), Current Height, Storage Type, Last Restart (computed from timestamp - uptime), and Git SHA (short, full on hover).
- Adds a View Console button on the validator overview that opens ${endpoint}/console in a new tab.
- Drops the IndividualNodeUptimeChart section for validators only. Content/Discovery pages are unchanged.
- Guards the ServiceTable country flag against missing or non-ISO-3166 alpha-2 codes (validators may not report a country), rendering a neutral fallback.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 21, 2026

⚠️ No Changeset found

Latest commit: 955749c

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@raymondjacobson raymondjacobson merged commit 6c05553 into main May 21, 2026
3 checks passed
@raymondjacobson raymondjacobson deleted the claude/competent-chatelet-0ce497 branch May 21, 2026 18:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant