feat(admin): add Network Health panel to observability dashboard - #764
feat(admin): add Network Health panel to observability dashboard#764Ferryx349 wants to merge 6 commits into
Conversation
🦋 Changeset detectedLatest commit: 2386e20 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
| router.get( | ||
| '/network-health', | ||
| adminRateLimitMiddleware, | ||
| adminAuthMiddleware, |
|
Verdict: Approve with comments — no blocking defects; land it after #753 merges. Stacking / merge order (process)#753 ( BlockingNone. Auth and rate limiting are correct ( Important
Minor
Nit
Summary: a well-tested, XSS-safe dashboard panel on a spec-compliant NIP-66 publisher. The real gate is sequencing with #753; the substantive comments are the missing subscriber broadcast, the 10002 relay-list target, and the #698 scope. |
After each probe run, sign and store NIP-66 relay discovery and monitor announcement events from the monitor identity, bootstrap kind 0/10002 on first run, and persist via the parameterized replaceable event path. Fixes #696
Knex already parses jsonb event_tags as an array; JSON.parse on that value caused CI failures. Assert the d tag via the event_tags table instead.
Render NIP-66 probe snapshots in the admin Metrics view with per-target DNS/TLS/WS/NIP-11 cards and 60s polling.
CodeQL flagged unused getElementById bindings; run status and target count are updated via setStatusText/setMetricValue instead.
Broadcast newly persisted NIP-66 events, prefer relay_url in bootstrap relay list, clamp frequency tags to the worker minimum, add bootstrap TTL, and complete Network Health dashboard coverage for issue #698.
4442db8 to
2386e20
Compare
Description
This PR adds the Network Health panel to the admin observability dashboard. It also polls /admin/network-health and renders NIP-66 probe results (DNS, TLS, WS RTT, NIP-11) per target.
Related Issue
Closes #698.
And stacked on #753 chain.
Motivation and Context
How Has This Been Tested?
Screenshots (if appropriate):
Video demonstration : https://github.com/user-attachments/assets/c63e043f-6c0b-49d4-badb-9dfdf3639f5b
Types of changes
Checklist: