Erreurs 404 aléatoires lors de la modification des publications

Je rencontre des erreurs 404 aléatoires lors de la modification de réponses sur mon forum.

Lorsque les modifications fonctionnent, une requête PUT est envoyée vers le point de terminaison /posts/:post_id avec une réponse 200.

Cependant, lorsqu’elles échouent, je peux voir dans les outils de développement une requête PUT vers /post_replies/:post_id qui renvoie une erreur 404. Lorsque j’actualise la page, les erreurs disparaissent et je peux enregistrer la modification correctement (via /posts/:post_id, le :post_id ne change pas).

Je ne sais pas s’il existe une condition particulière qui pourrait faire passer /posts par erreur à /post_replies, ou s’il s’agit d’un problème différent. J’ai récemment quadruplé la RAM de mon serveur et je n’ai rien d’anormal constaté dans les journaux.

Toute aide serait appréciée.

2 « J'aime »

Je continue à rencontrer ces erreurs aléatoires lors de la tentative de sauvegarde d’une modification sur les publications d’autres personnes. Cela se produit aussi bien sur les anciennes que sur les nouvelles publications, mais toujours de manière aléatoire :

Et cela disparaît lorsque je rafraîchis la page et que j’enregistre la modification :

Je suis sur la dernière version et je peux confirmer que le problème persiste : lorsque j’essaie de sauvegarder une modification sur le message d’un autre utilisateur, une boîte de dialogue contenant le message not_found s’affiche de manière aléatoire :

L’URL ou la ressource demandée est introuvable.

Si je recharge la page et que je clique à nouveau sur le bouton « Enregistrer la modification », l’erreur disparaît et la modification est bien enregistrée.

Ces deux requêtes effectuent un PUT vers des URL différentes.

D’accord. Mais pourquoi ? Je clique sur le même bouton « Enregistrer la modification » dans le même message. La seule différence est un rafraîchissement de la page.

Essayez peut-être de vérifier la trace de débogage du navigateur la prochaine fois que cela se produit ? Puisqu’il touche différents points de terminaison, cela peut passer par différentes méthodes dans l’application EmberJS.

1 « J'aime »

@Falco Ça vient de se produire à nouveau. Voici tout ce que je vois lorsque j’ouvre la console après avoir rencontré l’erreur :

image

Et si j’essaie de sauvegarder à nouveau avec la console ouverte :

Ensuite, je rafraîchis la page et cela me permet de modifier :

image

Voici le chemin de l’initiateur (VM73:1 Script) :

1 « J'aime »

Je viens de mettre à jour vers la version 2.7.0.beta2 et le problème persiste :

  • Essayez de modifier la réponse au post 47994
  • PUT https://mydomain.com/post_replies/47994 => 404 L’URL ou la ressource demandée est introuvable. Dans la console : Échec du chargement de la ressource : le serveur a répondu avec une erreur 404 () /post_replies/47994:1
  • Rechargez la page
  • Essayez de modifier la réponse au post 47994
  • PUT https://mydomain.com/posts/47994 => 200 succès

Si vous avez besoin d’autres informations pour déboguer le problème, je serai ravi de les fournir.

C’est arrivé 3 fois aujourd’hui en moins d’une heure :sweat_smile:

Y a-t-il autre chose que je pourrais faire pour aider à localiser ce bug ?

@Falco J’ai enfin compris comment reproduire systématiquement ce bug :

  1. Désactiver enable filtered replies view
  2. Cliquer sur la flèche d’une réponse :
  3. Cliquer sur la flèche pour accéder au message d’origine : image
  4. Cliquer sur l’icône de modification :
  5. Effectuer une modification et cliquer sur « Enregistrer les modifications ». Une boîte de dialogue s’affichera indiquant que l’URL ou la ressource n’a pas été trouvée (404).
4 « J'aime »

Merci @Nacho_Caballero, les étapes spécifiques étaient très utiles. J’ai soumis une PR avec une correction : FIX: 404 error when editing an expanded reply by pmusaraj · Pull Request #12504 · discourse/discourse · GitHub

7 « J'aime »

Pas de problème ! Une correction si simple :sweat_smile:

3 « J'aime »

Comme d’habitude, merci pour votre patience, Nacho. Lorsque vous fournissez des reproductions très détaillées, nous parvenons presque toujours à préparer une correction !

4 « J'aime »