Si vous êtes un administrateur, usurpez l’identité de l’utilisateur temporaire et essayez de supprimer la notification. (Whah ha ha !)
Atténuation
Un administrateur peut supprimer le message, ce qui supprimera la notification. L’astuce consiste à trouver la notification. Je la gère en utilisant cette requête :
-- [params]
-- int :user_id
SELECT *
from notifications
where user_id = :user_id
and high_priority
and not read
Je ne pense pas que l’utilisateur puisse supprimer la notification par lui-même car il ne peut pas accéder au MP même s’il a l’URL.
Solution possible
Lorsqu’une personne est retirée d’une conversation, supprimez également la notification.
Pour ce que ça vaut, je pense toujours que la notification devrait être supprimée/effacée si le destinataire ne peut plus afficher le message. Avoir un filet de sécurité (le bouton « Ignorer ») est bien, mais c’est toujours un peu comme faire du gaslighting à l’utilisateur que la notification reste là. De plus, le bouton ignore tout, ce qui n’est peut-être pas ce que l’utilisateur souhaite. (Bien que, en toute honnêteté, la plupart des gens ne remarqueront le problème que s’ils ont effacé toutes leurs autres notifications de la manière habituelle.)
Salut Jon, c’est une petite gêne que nous pouvons éliminer très facilement, mais je n’ai pas pu la reproduire :
La notification dans le menu utilisateur est également supprimée dès que nous cliquons sur le MP (ce qui mène à une page « Oops ! Cette page n’existe pas ou est privée », car le compte n’y a pas accès).
J’ai testé avec un modérateur sur notre système de production et la page « Oops ! Cette page n’existe pas ou est privée » n’a pas effacé la notification. Mais notre système de production est toujours sur 2.9.0.beta14. Tout à l’heure, lorsque j’ai effectué ce test sur mon propre serveur Discourse, qui est en 3.1.0.beta2, la notification disparaît lorsque le destinataire essaie l’URL. Donc, peut-être que cette partie du problème est déjà résolue ?
Cependant, je ne vois aucun moyen pour le destinataire de voir le message après qu’il ait été retiré du fil de discussion du MP. Je pourrais transmettre l’URL au destinataire hors bande, mais cela ne se produira probablement pas dans une situation réelle. Au lieu de cela, le destinataire aura une notification sans aucun moyen de connaître l’URL ni même qui l’a initiée. Voici une capture d’écran d’un compte tout neuf qui a été notifié d’un MP auquel il ne peut pas accéder :
Ceci est sur la version 3.1.0.beta2. Vous pouvez voir la notification ajoutée si vous avez une autre fenêtre ouverte sur la vue de l’utilisateur temporaire. Mais il n’y a aucun élément à sélectionner après que l’utilisateur ait été retiré.
Je ne vois pas “A test pm” dans la vidéo ni dans la capture d’écran de la vue de l’utilisateur factice. J’ai trouvé beaucoup plus simple de déboguer avec un utilisateur factice complètement nouveau.
Hier, j’ai signalé ce même bug (je n’avais pas trouvé ce sujet). Il semble dépendre de la navigation du menu Hérité, et il était déjà présent dans les dernières versions de la 2.8.
La solution de contournement du bouton Tout rejeter ne semble pas fonctionner s’il s’agit de la seule notification restante, car le bouton est désactivé dans ce cas. Peut-être que cela fonctionne s’il y a plus de notifications — mais alors la personne pourrait rejeter des choses qui pourraient être pertinentes.
En l’état, les utilisateurs seront simplement confus et/ou frustrés. Les quelques personnes qui se plaindront pourront se faire dire d’utiliser le bouton, mais cela ne fonctionnera que dans certains cas. Ne faudrait-il pas déplacer cela vers Bug peut-être ?
Un nouveau sujet sur un comportement similaire a été ouvert dans Bug avec des instructions plus détaillées sur ce comportement :
Je vais donc fermer celui-ci, marqué comme résolu, en faveur de l’autre. C’est un problème mineur, mais il est plus approprié de le signaler dans Bug, d’autant plus qu’il a été signalé plusieurs fois.