Misleading comments and small redundancies in the core path
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- Meio dia
- Facilidade para iniciantes
- 75/100
- Tipo de issue
- Refatoração
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- go
- Domínio
- cli, networking
Direção de pesquisa
Comece pelas sete linhas citadas: os comentários JSON desatualizados em internal/output/writer.go e internal/tui/model.go, a chamada de log resolveWithLog em internal/dns/resolver.go, a chamada duplicada de validateArgs entre main_session.go e main.go, e os dois avisos fmt.Fprintf em tuiOptions. Está concluído quando os comentários descrevem a saída em streaming, -v não imprime mais Error: <nil> para um resultado NODATA, a validação duplicada é removida e os avisos da TUI passam por diag. Verifique com make test usando -simulate ou o servidor de teste local, não um domínio ativo.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Summary
A checklist of small items: three comments that still say JSON output is buffered, a verbose log line that labels a definitive negative as a failure with Error: <nil>, a validation call that runs twice, and two TUI warnings that bypass the diagnostics writer.
Where
internal/output/writer.go:28internal/tui/model.go:329internal/tui/model.go:346internal/dns/resolver.go:479main_session.go:288main.go:304main_session.go:230
Details
Checklist, each item read at the cited line:
- writer.go:28: "FormatJSON buffers results and emits a single JSON array at completion". Since #181 it streams each element (
writeJSONElement, writer.go:255-284); the comment onEmitat 175-178 says so correctly. - tui/model.go:329-330 and 346-347: "finalize structured output so buffered JSON/CSV is written" and "buffered JSON array emitted": same stale description of JSON.
- resolver.go:478-479:
l.Logf("Failed to resolve: %s (Error: %v) in %s", domain, err, elapsed)also runs when the lookup succeeded with no records of the requested types (err == nil, the NODATA caseResolvehandles at 500-505), so-vprintsFailed to resolve: x (Error: <nil>)for a definitive negative. - main_session.go:288 calls
validateArgs, andvalidateFlags(called at 318) calls it again as its first statement (main.go:304). The second call can never fail. - main_session.go:230 and 240:
tuiOptionswrites its two warnings straight to stderr withfmt.Fprintf, bypassing thediagwriter built ten lines earlier (main_session.go:162), so-tui -log-format jsonemits plain text lines among JSON ones.
Impact
Readers are told JSON output is held in memory when it is not (relevant to anyone reasoning about memory or partial output), verbose logs label negatives as failures, and two small inconsistencies add noise. None changes results.
Suggested fix
Reword the three comments to "streamed as array elements; Finish closes the array". In resolveWithLog, branch on err == nil and log "No records: %s (%s) in %s". Drop the validateArgs call from validateFlags or from configure. Route the two TUI warnings through diag.Notice.
Acceptance criteria
- Each checklist item under Details is fixed
-
-vno longer printsError: <nil>
Getting started
- Relevant files:
internal/output/writer.go,internal/tui/model.go,internal/dns/resolver.go,main_session.go - How to run tests:
make test(orgo test ./...). Tests must stay hermetic: use-simulate,-simulate-zoneor the local DNS test server, never a live domain. - Related docs:
docs/DEVELOPER_GUIDE.md,docs/ARCHITECTURE.md
Filed by repo-audit/full-audit at d0c56f0. Severity: low. Effort: S. audit-key: tech-debt|internal/output/writer.go|comments
- Linguagem predominante
- Go
- Estrelas
- 1
- Forks
- 1
- Merge médio
- 6h 42min
- PRs com merge (30d)
- 7
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- 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 TMHSDigital/subenum
-
area: docs documentation good first issue severity: low
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
TMHSDigital/subenum#327 ·
Mantenedores costumam responder em até 1 dia
-
area: release dependencies good first issue severity: low
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
TMHSDigital/subenum#324 ·
Mantenedores costumam responder em até 1 dia
-
ci good first issue severity: low
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
TMHSDigital/subenum#323 ·
Mantenedores costumam responder em até 1 dia
-
area: output bug good first issue severity: low
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
TMHSDigital/subenum#319 ·
Mantenedores costumam responder em até 1 dia
-
community documentation good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
TMHSDigital/subenum#135 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de TMHSDigital/subenum
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
GillMacedo/godebugdiff#13 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
GillMacedo/racesift#14 ·
-
IsTextFile reads the whole file into memory (OOM on large files in the file watcher)Talvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
gtsteffaniak/filebrowser#3395 ·
Mantenedores costumam responder em até 1 dia
-
effort:s impact:low raised-by:worker risk:low
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 70/100
medici-finance/assay#6496 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
kind/bug require/reproduce require/severity
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia