Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

La notification d'une réponse dans un billet lorsque celui-ci a été modifié mène à une erreur 404. #6512

Open
JulienBohy opened this issue Jun 21, 2023 · 1 comment
Labels
S-BUG Corrige un problème

Comments

@JulienBohy
Copy link

JulienBohy commented Jun 21, 2023

Description du bug

La notification d'une réponse dans un billet lorsque celui-ci a été modifié mène à une erreur 404.

Dans mes notifs => Mauvais lien Mauvais lien](https://zestedesavoir.com/billets/4492/le-point-sur-la-programmation-objet-poo/?page=1#p250970)

Ce qu'il devrait être=> Bon lien https://zestedesavoir.com/billets/4492/un-point-sur-la-programmation-objet-poo/?page=1#p251002

Comment reproduire ?

La liste des étapes qui permet de reproduire le bug :

  1. Le billet Un point sur la programmation objet (POO) créé par SpaceFox a été publié
  2. En temps qu'utilisateur, je met un commentaire sur ce billet
  3. Le contenu du billet est modifié/publié.
  4. Dans mes notifications, le lien mène à une erreur 404

Comportement attendu

le lien de la notification devrait changer également

Capture d'écran

Si possible, une capture d'écran qui explique le problème.

Informations techniques

  • OS: -
  • Navigateur: -
  • Version/environnement de zds: production
@JulienBohy JulienBohy added the S-BUG Corrige un problème label Jun 21, 2023
@philippemilink
Copy link
Member

Ce qu'il s'est passé, c'est que SpaceFox a renommé son billet après qu'il ait été publié. Il est tout à fait possible de faire ça, seulement là, un bug (qu'on connaît et qui a été corrigé, en attente de déploiement) s'est produit. La correction de ce bug demande de supprimer l'entité qui est identifiée par le lien https://zestedesavoir.com/billets/4492/le-point-sur-la-programmation-objet-poo/. C'est de là que vient l'erreur 404. Si le bug n'était pas survenu, l'entité derrière l'ancienne URL aurait redirigé vers la nouvelle URL. Sans cette entité, pas de redirection.

Je me demande s'il faut chercher à implémenter quelque chose pour corriger cette situation, qui ne devrait, en temps normal, pas se produire : là je supprime une entité depuis la zone d'admin de Django, normalement on ne fait jamais ça. Surtout que le problème qui nécessite cette manipulation est corrigé...

La correction n'est pas complètement évidente. On stocke directement l'URL dans les notifications. Ça veut dire que lorsqu'on supprime un PublishedContent, il faut sélectionner toutes les notifications qui pointent vers cette URL et... que faire avec ? On ne veut pas les supprimer, ça reste une notification et on n'a plus d'URL vers laquelle les faire pointer puisque qu'il n'y a plus de version publique du contenu... Admettons qu'on trouve une solution à ça, ça veut que lors de la republication du contenu, il faut mettre à jour l'URL de ces notifications... Ça me semble être du bricolage pour un cas qui ne devrait pas se produire, qui n'est pas grave (pas de corruption de données, pas de réelle gêne pour l'utilisateur) et on peut toujours marquer la notification comme lue pour pas qu'elle dérange.

Sinon, l'autre solution évoquée peut être de ne s'appuyer que sur l'id du contenu et non pas le slug pour rediriger vers l'URL de la version publique actuelle.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-BUG Corrige un problème
Projects
Status: À reproduire
Development

No branches or pull requests

2 participants