Notification non voulu et persistante

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

J'ai un souci de notification qui est apparu sans que je ne le veuille et qui ne veut pas s'en aller (même en cliquant sur le sujet). Pour plus de contexte :

  • Je suis PAS abonné au forum "Les autres savoirs"
  • Je n'ai pas demandé à suivre le nouveau sujet qui persiste
  • Je n'ai jamais ouvert le sujet avant que la notif' n'arrive

Bug notif

Voili voila.

ZdS, le best du Zeste ! Tuto Arduino, blog, etc

+0 -0

Je suis désolé Eskimon mais je n'ai pas la moindre idée de comment c'est possible qu'une telle chose soit arrivé.

Est-ce qu'un admin peut me dire si Eskimon a bien une souscription pour ce sujet, à quoi ressemble l'objet s'il existe et à quoi ressemble la notification ?

+0 -0
Auteur du sujet

Je suis désolé Eskimon mais je n'ai pas la moindre idée de comment c'est possible qu'une telle chose soit arrivé.

Andr0

Je m'attendais à un peu ce genre de réponses :D (et soit pas désolé, ca me rappelle mes premières semaines ZdS ou je pouvais faire des rapports de bugs à la pelle :D #Nostalgie )

ZdS, le best du Zeste ! Tuto Arduino, blog, etc

+0 -0
Staff

L'admin est pas bien configuré pour les notifs et abonnements, je ne peux pas y accéder. @admins : svp n'essayez pas, ça tue un worker à chaque fois, c'est pas bien.

J'y ai néanmoins trouvé une notification pour Eskimon sur ce sujet mais je ne peux pas en dire plus puisque j'ai pas accès à l'objet. Pas trouvé d'abonnement.

Je parle de JavaScript et d'autres trucs sur mon blog : https://draft.li/blog

+0 -0
Auteur du sujet

Sinon je viens de remarquer que je suis incapable de la supprimer :D

Elle n'apparait pas dans la page https://zestedesavoir.com/forums/notifications/ et pas non plus de trace du sujet dans la sidebar "sujets suivis" (logique, je ne suis pas le sujet).

Bref, j'ai une notif' persistante ^^ (attrapez-les toutes !)

(Si vous voulez que je fasse d'autres actions pour débugguer hésitez pas à me le dire !)

ZdS, le best du Zeste ! Tuto Arduino, blog, etc

+0 -0

Si la notification est sans souscription, ça serait vraiment bizarre puisqu'une notification est générée à partir d'une souscription obligatoirement. Grosso modo, l'algo est le suivant :

  1. Récupère toutes les souscriptions pour l'objet notifiable.
  2. Itère sur chaque souscription.
  3. Appelle sur l'objet de souscription la méthode send_notification.
+0 -0

Non, ça c'est pas bien surprenant. Le signal, pour marquer une notification comme lue, est envoyé quand le système détecte qu'il y a des messages non lus par rapport à ta souscription. Si tu voulais te débarrasser de cette notification, il suffirait de suivre le sujet, marquer le premier message comme non lu et retourner lire la notification. Normalement, ça devrait faire l'affaire.

+0 -0
Staff

Pour le problème de qwerty, le fix a été mergé il y a quelques semaines déjà, le bug ne se produira plus dès que ce sera mis en prod.

Pour les notifs persistantes on n'a pas encore de fix, ça dépendra de qui s'y colle. :)

Je parle de JavaScript et d'autres trucs sur mon blog : https://draft.li/blog

+1 -0
Staff

Merci ! Ça venait d'oú et la mise en prod vient d'ou ?

qwerty

L'issue est ici et le fix ici. En résumé, il n'y avait pas de contrainte d'unicité entre un contenu notifiable et un utilisateur. En plus, le bouton 'suivre ce sujet/forum' ne désactivait pas lors du clique. Du coup cliquer 2x sur le bouton engendrait des notifications dupliquées, et lors de la lecture du sujet quand le backend tentait de récupérer la notification à marquer comme 'lue', la base retournait plusieurs notifications et paf tout foirait (il attendait une notif à enlever, en recevait plusieurs et abandonnait là).

Je parle de JavaScript et d'autres trucs sur mon blog : https://draft.li/blog

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte