Send swallowed auth/migration DB errors to Sentry, and stop reporting routine 4xx
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 72/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Tranquilo
- Stack tecnológico
- typescript
- Área
- backend, observability-sre
Línea de trabajo
Empieza con el hook onError en platform/src/server.ts:30-32 y, después, inspecciona los fallos silenciados en server.ts:48 y en instance-auth.ts:139 y :275. Lee los usos existentes de captureException en instance-auth.ts y la implementación en platform/src/util/sentry.ts. Se considera terminado cuando se capturen los tres errores de DB, se omitan los errores 4xx rutinarios y los logs y las respuestas HTTP existentes permanezcan sin cambios.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Two related problems with how we report errors to Sentry.
First, three database failures in the client-auth path get logged with console.error and then forgotten. They never reach Sentry, so we're blind to them in production.
Second, the Elysia onError hook sends every error to Sentry, including routine 4xx like favicon bots hitting NOT_FOUND. That noise buries the errors we actually care about.
They sit in overlapping code, so it's easier to fix them together.
1. Capture the three swallowed DB errors. Each one currently console.errors and moves on:
platform/src/server.ts:48— migration run failure (runMigrations()).platform/src/auth/instance-auth.ts:139— startup DB-probe (reachability) failure; auth degrades to the shape-checked forward path.platform/src/auth/instance-auth.ts:275— runtime client-lookup failure; request fails closed.
Each of these needs an explicit captureException(err, …) next to the log it already writes. captureException is already imported in instance-auth.ts:7 and used elsewhere in that file (lines 158, 251, 312), so those two sites are just inconsistent with the rest of it. server.ts needs the import adding (import { captureException } from "./util/sentry").
2. Skip 4xx in the onError hook. Request errors only reach Sentry through the onError hook at platform/src/server.ts:30-32, and it calls captureException(error) for everything. Add a status check so we only capture 5xx and unexpected errors, and skip the routine 4xx like NOT_FOUND. Elysia hands us the error code and status on the onError context, so the guard lives right there in the hook.
Sentry is wired in platform/src/util/sentry.ts (captureException is a no-op when SENTRY_DSN is unset) and initialised from platform/src/index.ts:4.
Acceptance criteria
- Migration failure at
platform/src/server.ts:48callscaptureException, with the import added toserver.ts. - Startup DB-probe failure at
platform/src/auth/instance-auth.ts:139callscaptureException. - Runtime client-lookup failure at
platform/src/auth/instance-auth.ts:275callscaptureException. - The
onErrorhook (platform/src/server.ts:30-32) only captures 5xx/unexpected errors; 4xx (e.g.NOT_FOUND) is skipped. - No behaviour change to the HTTP responses themselves —
onErrorstill returns nothing so Elysia produces its normal error body/status. - Existing log lines retained; Sentry capture is additive.
- Lenguaje dominante
- Jupyter Notebook
- Estrellas
- 5
- Forks
- 10
- Merge medio
- 2 d 6 h
- PR fusionados (30 d)
- 16
Preparar el entorno
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 OpenFn/apollo
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 2 días
-
platform
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 2 días
-
Apollo 3.3.0 is stalledAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
OpenFn/apollo#696 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
Los mantenedores suelen responder en 2 días
Todos los issues de OpenFn/apollo
Issues similares
-
bug needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
DataDog/dd-trace-go#5469 ·
Los mantenedores suelen responder en 1 día
-
Team: SCM
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
[Bug]: Reusing BFSDeepCrawlStrategy leaks the previous crawl's max_pages budget into a fresh runAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
unconfirmed bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Rapptz/discord.py#10529 ·
Los mantenedores suelen responder en 1 día
-
[Bug]: MRV2 prepare_inputs signature is incompatible with updated vLLM num_active_loras argumentAbiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
vllm-project/vllm-ascend#17710 ·
Los mantenedores suelen responder en 1 día