Logs are not structured, so nothing can be queried
Los mantenedores suelen responder en 4 días
@jamal-exe ya está trabajando en esto.
Desde el 16/10/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Background
The service logs through pino, which emits JSON, but the messages themselves are prose with values interpolated into sentences. Finding every failure for one pair means a substring search, and counting them is impossible.
What to build
- Values as fields, not inside the sentence: route, pair, network, venue, status, duration, request id.
- One logging helper so a new call site cannot invent its own shape.
- Keep the human-readable message; move the data out of it.
Acceptance criteria
- Log lines carry values as fields
- One helper is used by every call site touched
- A documented query answers "every failure for this pair in the last hour"
- No value appears only inside a prose message
Drips Wave · Complexity: Easy · 100 points
Repo: Divinity-Labs/Lens. Node + Fastify + Prisma + Postgres. Tests are vitest (npm test), not jest — jest against this repo fails every file and tells you nothing.
The spec is enforced. tests/openapi.test.ts boots the server and fails if a registered route is missing from openapi.yaml. Operator-only and non-HTTP routes are excluded through the commented allow-list in src/openapi/coverage.ts. A new route or a changed response means the spec changes in the same PR.
?network= is validated on every request and an unrecognised value is a 400. Routes that answer per network declare the parameter in the spec; the ones that do not are listed in the README. If the two ever disagree, the spec is the thing to fix.
Never elide a contract id or an issuer. Take addresses from the protocol's own documentation and write them whole. A sibling repo's issue wrote CD2W5LUR…XZ4L and five contributors invented plausible contract ids to fill the gap.
Change one thing. These are scoped so they land independently. A PR that also reformats a file it did not need to touch is a PR nobody can review against its issue.
Required: Before submitting, join the contributor Telegram so your work can be tracked and counted toward the Stellar Wave: https://t.me/+fxHXq8f1SwlkZDBk
- Lenguaje dominante
- TypeScript
- Estrellas
- 4
- Forks
- 71
- Merge medio
- 3 d 22 h
- PR fusionados (30 d)
- 142
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Divinity-Labs/Lens
-
Webhook retries have no jitter, so failures synchronisePosiblemente ocupada @Richard-tobi la tomó hace 19 días. Abiertoarea:reliability difficulty:easy help wanted points:100 Stellar Wave
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
Divinity-Labs/Lens#341 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 4 días
-
[Wave 10 Attribution] Link merged PRs & resolved issues for @sparkysolutions10-pixel on Drips WaveAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 5/100
Divinity-Labs/Lens#627 ·
Los mantenedores suelen responder en 4 días
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
Divinity-Labs/Lens#626 ·
Los mantenedores suelen responder en 4 días
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
Divinity-Labs/Lens#625 ·
Los mantenedores suelen responder en 4 días
-
Live Service Spec Drift ReportAbiertoarea:tests automated live-spec-report
Dificultad 4/5 3-5 días Aptitud para principiantes 28/100
Divinity-Labs/Lens#606 · 12 comentarios ·
Los mantenedores suelen responder en 4 días
Todos los issues de Divinity-Labs/Lens
Issues similares
-
needs-area-label
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 2 días
-
Website: the hero tip's video play() has no catch, so a refused play is an unhandled rejectionAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
liberation-data/drivine#615 ·
Los mantenedores suelen responder en 1 día
-
backend bug ready-for-agent
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
geolens-io/geolens#3639 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
radius-project/ai-extensions#1196 ·
Los mantenedores suelen responder en 1 día
-
good first issue
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100