Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Static mirroring worker (417 lines) has no unit tests

Aberta
#904 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
72/100
Tipo de issue
Funcionalidade
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
typescript
Domínio
backend, testing

Direção de pesquisa

Start with src/app/static-mirroring-worker.ts and the existing test/unit/app/relay-monitor-worker.spec.ts to understand the worker's dependencies and test conventions. Add unit coverage for reconnect state and accounting, heartbeat fields, and subscription cleanup on config change or shutdown. Run the relevant unit spec; done means these behaviors have tests that pass.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Gap

src/app/static-mirroring-worker.ts (417 lines) — the worker that mirrors relay events to configured upstream relays — has no unit tests. No spec file in the suite references it, directly or otherwise.

This is a core data path: connection lifecycle, subscription management, event relaying, reconnection. The relay-monitor worker does have a spec (test/unit/app/relay-monitor-worker.spec.ts), so again the gap is specific, not systemic.

How measured

Import graph over the suite: 175 spec files vs 325 src/**/*.ts files — zero references to this module.

What's worth covering

  • Reconnect behavior: backoff, reconnectCount accounting, connectionState transitions (connecting/open/closed)
  • The ops heartbeat publishing added recently — lastError/lastEventAt/reconnectCount correctness (the relay-monitor's keepalive had a state-clobbering bug of exactly this shape; this worker's keepalive republishes full state, but nothing pins that)
  • Subscription lifecycle: what happens on config change / shutdown (the interval cleanup)
Linguagem predominante
TypeScript
Estrelas
829
Forks
234
Merge médio
18h 18min
PRs com merge (30d)
69

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de cameri/nostream

Todas as issues de cameri/nostream

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.