Bloqueo de publicaciones en el foro: mejora del mensaje de error 418 o 502 Bad Gateway

En el foro, cuando un mensaje es bloqueado, aparece una ventana emergente con un error 418 o un aviso de 502 Bad Gateway. Este mensaje no es muy preciso. ¿En qué parte del foro se podría optimizar este aviso para proporcionar al usuario una información más detallada?

Si el usuario accede a las DevTools del navegador (clic derecho > Inspeccionar > Consola), normalmente se registra allí un mensaje de error. También en /logs (visible para los administradores).

¿Hay alguna forma de modificar este mensaje de error? Por ejemplo, cambiar el texto de este cuadro de diálogo a “Error de red/gateway”.

Podría tratarse de un problema más profundo. Errores de este tipo no son tan comunes.

Creo que he encontrado de dónde proviene este mensaje.

Cuando Discourse no puede encontrar un mensaje de error estructurado en la respuesta, recurre al código de estado HTTP y a statusText:

if (!parsedError) {
  if (error.status && error.status >= 400) {
    parsedError = error.status + " " + error.statusText;
  }
}

Código fuente de Discourse: alternativa para errores HTTP.[1]

Esto significa que 502 Bad Gateway no es una entrada normal de texto del sitio. Se crea a partir del estado de la respuesta HTTP y del texto de estado.

El mensaje resultante se pasa luego al cuadro de diálogo de alertas de Discourse aquí.[2]

Discourse ya utiliza cadenas traducidas cuando el servidor devuelve una error_key u otro error estructurado. Sin embargo, para una respuesta 502 sin procesar, se alcanza la alternativa mencionada anteriormente.

Un plugin podría reemplazar el mensaje antes de mostrar su propio cuadro de diálogo de error, pero no veo un gancho de la API de plugins público para cambiar esta alternativa globalmente. Probablemente se necesitaría un cambio en el núcleo o un nuevo gancho de la API de plugins para hacer que estos mensajes de alternativa HTTP sean personalizables/ traducibles globalmente.


  1. ↩︎

  2. ↩︎

1 me gusta