500 responses send Prisma's error text to the client
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 55/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
Línea de trabajo
Start by reading ErrorHandler and the PrismaClientKnownRequestError branch, then inspect StudiesController.ts for plain Errors whose messages are intended for users. Update the handling so client responses do not expose error details while user-facing messages use UnprocessableError; log errors server-side. Done means the described 500 responses no longer expose query data or internal error text.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
ErrorHandler ends with a catch-all that returns { message: 'Internal Server Error', details: err.message } for any error it doesn't recognise, so Prisma's own error text goes to the client. #880 sanitised the 422 ValidateError branch for #879, but not this one.
For example, PATCH /profiles/current with a key the request type allows but the profile table doesn't have, such as password, returns a 500 whose details is Prisma's dump of the query: the values sent, including the password, and every column the model accepts. logger.error writes the same text to the logs. The PrismaClientKnownRequestError branch returns err.meta as details for every code, and err.message for codes other than P2002 and P2025.
Fix: return a fixed message with no details from both branches, and log the error on the server instead. First turn the plain Errors that carry a message meant for users into UnprocessableError, such as "Study with that name already exists" in StudiesController.ts, because the admin portal shows that text from the 500's details today.
Related: #879, #880, #418, #919, #943.
- Lenguaje dominante
- TypeScript
- Estrellas
- 4
- Forks
- 0
- Merge medio
- 14 h 50 min
- PR fusionados (30 d)
- 5
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 Garvan-Data-Science-Platform/ctrl
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 82/100
-
admin-client backend bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
backend bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Garvan-Data-Science-Platform/ctrl#970 · 1 comentario ·
-
backend bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
backend bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Todos los issues de Garvan-Data-Science-Platform/ctrl
Issues similares
-
`cf complete zsh >> .zshrc` fails on vanilla zshQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
cloudflare/cf#340 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Rename Madson cameraAbierto
Dificultad 2/5 Menos de una hora Aptitud para principiantes 75/100
StoDevX/AAO-React-Native#8785 ·
Los mantenedores suelen responder en 1 día
-
Broken links in the docsAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
-
bnv-manager-v2: accept_invite creates the Mailcow domain admin before the commitPosiblemente ocupada @myOmikron la tomó hoy. Abiertobug ready-for-agent
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100