Lors de la publication d’un message sur le forum, si celui-ci est bloqué, une fenêtre contextuelle s’affiche avec une erreur 418 ou un message « 502 Bad gateway ». Ce message n’est pas très précis. Où sur le forum ce message pourrait-il être optimisé pour fournir des informations plus détaillées à l’utilisateur ?
Si l’utilisateur accède aux DevTools du navigateur (clic droit > Inspecter > Console), un message d’erreur y est généralement consigné. Il est également visible dans /logs (réservé aux administrateurs).
Existe-t-il une méthode pour modifier ce message d’erreur ? Par exemple, remplacer le message dans cette boîte de dialogue par « Erreur réseau/gateway » ?
Il pourrait s’agir d’un problème plus profond. Ce type d’erreurs n’est pas si fréquent.
Je pense avoir trouvé l’origine de ce message.
Lorsque Discourse ne parvient pas à trouver un message d’erreur structuré dans la réponse, il se rabat sur le code de statut HTTP et statusText :
if (!parsedError) {
if (error.status && error.status >= 400) {
parsedError = error.status + " " + error.statusText;
}
}
Source de Discourse : repli en cas d’erreur HTTP.[1]
Cela signifie que 502 Bad Gateway n’est pas une entrée normale de texte de site. Il est créé à partir du statut de la réponse HTTP et du texte de statut.
Le message résultant est ensuite transmis à la boîte de dialogue d’alerte de Discourse ici.[2]
Discourse utilise déjà des chaînes traduites lorsque le serveur renvoie une error_key ou une autre erreur structurée. Cependant, pour une réponse 502 brute, c’est le repli ci-dessus qui est atteint.
Un plugin pourrait remplacer le message avant d’afficher sa propre boîte de dialogue d’erreur, mais je ne vois pas de point d’accrochage d’API publique de plugin permettant de modifier globalement ce repli. Une modification du noyau ou un nouveau point d’accrochage d’API de plugin serait probablement nécessaire pour rendre ces messages de repli HTTP globalement personnalisables/traduisibles.
