Recevoir de multiples notifications pour la même réponse

La première fois que j’ai remarqué une deuxième notification pour la même réponse alors qu’aucun lien, citation ou mention n’avait été ajouté lors de la modification, c’était après la modification sur Topics from some categories do not appear on /latest - #36 by JammyDodger. Ce cas est légèrement différent de mes étapes de reproduction ci-dessous, mais je pense que le problème sous-jacent est le même.

Le deuxième message où cela s’est produit était sur Messages section for sidebar - #13 by nathank. C’était similaire : la modification n’a rien ajouté qui entraînerait une notification - les citations étaient toutes deux présentes auparavant - et pourtant, j’ai été à nouveau notifié.

Voici les étapes pour reproduire que j’ai trouvées et qui ont fonctionné [1]

Vous avez besoin de 3 utilisateurs : OP, notifiedUsers, spammer

  1. OP crée un sujet
  2. L’utilisateur notifié répond
  3. OP répond au message de l’utilisateur notifié
    l’utilisateur notifié reçoit une notification pour la réponse (attendu)
  4. Le spammeur répond au message de l’utilisateur notifié. La réponse contient un lien vers un autre message de l’utilisateur notifié et une citation du message auquel vous répondez. (facultatif : vous pouvez également @mentionner l’utilisateur notifié)
    l’utilisateur notifié reçoit une notification pour la réponse (attendu)
    [Si vous avez ajouté une @mention, la notification concerne la @mention (attendu)]
  5. L’utilisateur notifié lit les nouvelles réponses pour marquer les notifications comme lues et navigue ailleurs afin que nous ne manquions pas une notification.
  6. Le spammeur modifie la réponse et corrige une faute de frappe (ou ajoute edit1)
    l’utilisateur notifié reçoit une notification pour avoir été cité (inattendu, il a déjà été notifié de cette réponse et la citation était déjà là, pas besoin de le lui dire)
  7. Le spammeur modifie à nouveau la réponse pour corriger une autre faute de frappe (ou ajoute edit2)
    l’utilisateur notifié reçoit une notification pour avoir été lié (inattendu, il a déjà été notifié de cette réponse et le lien était déjà là, pas besoin de le lui dire)

La vidéo ne montre que les étapes finales 5 à 7. Le spammeur est à gauche, l’utilisateur notifié à droite


  1. au moins la plupart du temps, parfois même l’ajout d’une @mention lors de la modification ne déclenche pas de nouvelle notification ↩︎

2 « J'aime »

Dans post_alerter.rb

Change lines 589-599 from:
 # linked, quoted, mentioned, chat_quoted may be suppressed if you already have a reply notification
 if [
      Notification.types[:quoted],
      Notification.types[:linked],
      Notification.types[:mentioned],
      Notification.types[:chat_quoted],
    ].include?(type)
   if existing_notifications.find { |n| n.notification_type == Notification.types[:replied] }
     return
   end
 end

 To:
 # linked, quoted, mentioned, chat_quoted may be suppressed if you already have any notification about this 
 post
 if [
      Notification.types[:quoted],
      Notification.types[:linked],
      Notification.types[:mentioned],
      Notification.types[:chat_quoted],
    ].include?(type)
   return if existing_notifications.any?
 end

Cela fonctionnera, mais je m’inquiète un peu car il y a d’autres notifications qui pourraient passer ici. (les notifications des plugins par exemple, que nous pourrions vouloir supprimer)

@lindsey il y a une question de produit ici, quand devrions-nous supprimer une notification ?

Je suppose que le petit correctif est un pas en avant ?