[Admin Console]: Relay operations v2 (history, diagnostics, advanced NIP-66)
Mantenedores costumam responder em até 1 dia
@Ferryx349 já está trabalhando nisso.
Desde 15/7/2026.
Avaliação
Esta issue ainda não foi avaliada.
Descrição
Context
#669 delivers the first end-to-end NIP-66 monitor:
- shared probe engine
- relay-monitor worker
- basic kind
30166/10166publishing - latest network-health snapshot in admin
This issue is the next phase: turns that foundation into a practical relay operations layer.
Problem
After #669, operators can see a current health snapshot, but they still cannot easily:
- track failures over time
- compare advertised relay behavior vs measured behavior
- inspect mirror/worker/NIP-05/storage health from one place
- audit admin actions or receive alerts when things break
Goal
Extend the admin console into an operations platform without redoing #669.
Scope
1) Advanced NIP-66 telemetry
- Add
rtt-readandrtt-writeprobes - Detect NIP-42 auth requirements where applicable
- Enrich kind
30166tags (rtt-read,rtt-write,N,R,k, optional NIP-52g) - Add NIP-11 vs probe mismatch warnings (auth, limits, public URL mismatch)
- Monitor peer relays from
mirroring.static[]
2) Network Health operations
- Persist bounded probe history
GET /admin/network-health/history- Optional
POST /admin/network-health/probe(manual trigger + audit entry) - History charts/timeline in dashboard
nip66.*controls in settings editor (interval, targets, timeouts, retention)
3) Ops visibility panels
- Mirror Health: connection state, reconnects, last event, lag/failure reason
- Worker Ops: maintenance / mirroring / relay-monitor status and last run
- NIP-05 Verification: search/filter, age, failures, manual re-verify
- Storage (NIP-45 COUNT): counts by kind/time range, retention impact
- Tor/I2P visibility and explicit
.onionDNS-skip behavior
4) Trust and automation
- Append-only audit log (login, settings changes, manual probes, webhook config)
- Outbound webhooks:
probe.failed,probe.recovered,ssl.expiring,mirror.disconnected - OpenTelemetry probe/mirror metrics
- Redacted diagnostics export bundle (version, sanitized config, recent health, worker state)
Out of scope (handled by #669)
- Initial probe engine implementation
- First relay-monitor worker
- First publish path for kind
30166/10166 - First
GET /admin/network-healthlatest snapshot endpoint - First basic Network Health panel
Important constraint
Self-hosted probing validates public URL/DNS/TLS/routing from the relay’s own network location.
It is useful for operators, but not a substitute for independent external monitors.
UI and published NIP-66 data must label monitor identity/location and avoid presenting one monitor as authoritative.
Relevant NIPs
- NIP-66 (advanced monitor/discovery tags)
- NIP-11 (advertised vs observed mismatch checks)
- NIP-42 (auth probing)
- NIP-52 (optional geohash)
- NIP-45 (storage counts)
- NIP-05 (verification visibility)
- NIP-65 (monitor bootstrap continuity)
Dependencies
- #669 (NIP-66 foundation)
- Admin metrics SSE and dashboard groundwork
- Admin settings editor groundwork
Success criteria
- Operators can diagnose recurring DNS/TLS/WS/mirror/worker issues without SSH/SQL
- Probe history and mismatch warnings are visible in admin
- Admin mutations and manual probes are auditable
- Alerts are opt-in, reliable, and never expose secrets
- Nostream publishes richer NIP-66 data compatible with client aggregation models
- Linguagem predominante
- TypeScript
- Estrelas
- 829
- Forks
- 234
- Merge médio
- 2d 10h
- PRs com merge (30d)
- 24
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de cameri/nostream
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 45/100
Mantenedores costumam responder em até 1 dia
-
feat(nip77): advertise NIP-77 in NIP-11 and expose its settings in the admin consoleTalvez já em andamento @Priyanshubhartistm assumiu hoje. Abertaenhancement
cameri/nostream#819 · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
feat(nip77): NEG-OPEN/NEG-MSG/NEG-CLOSE wire protocol for the PostgreSQL backendTalvez já em andamento @Priyanshubhartistm assumiu há 1 dia. Abertaenhancement
cameri/nostream#817 · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
[Admin Console] Ops visibility panels (mirror, workers, NIP-05, storage)Talvez já em andamento @Ferryx349 assumiu há 1 dia. AbertaAdmin Console enhancement
cameri/nostream#816 · 1 responsável ·
Mantenedores costumam responder em até 1 dia
Todas as issues de cameri/nostream
Issues semelhantes
-
Documentation Link TypoAberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 83/100
Zettlr/Zettlr#6610 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Feil lovtekst i bekreftelsen når leder melder unntak fra oppfølgingsplanTalvez já em andamento @AudunSorheim assumiu hoje. Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 92/100
navikt/syfo-oppfolgingsplan-frontend#1110 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
db-ux-design-system/core-web#8461 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
Cannot run an integration on windows when power shell is selected as the default profile terminalAbertaPriority/Blocker Type/Bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
wso2/product-integrator#2767 ·
Mantenedores costumam responder em até 1 dia