Retirer un autre utilisateur d'une conversation crée une notification impossible à effacer

Comment reproduire

  1. Créez un utilisateur temporaire. (N’oubliez pas que vous pouvez utiliser l’astuce du plus. Donc username+whatever@gmail.com.)
  2. Envoyez un message à l’utilisateur temporaire. (Cela créera une notification de haute priorité.)
  3. Supprimez l’utilisateur temporaire du message personnel. (J’espère que votre orthographe est meilleure que la mienne.)
  4. 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.

1 « J'aime »

Donc, si je retirais quelqu’un, il recevrait une notification, mais si je retirais cela, il ne la recevrait pas ?

1 « J'aime »

L’utilisateur peut-il simplement cliquer sur le bouton Dismiss dans le menu des notifications ?

5 « J'aime »

Oh, mon Dieu. Je ne savais même pas que ce bouton existait. Il efface maintenant la notification maintenant que je sais qu’il existe.

3 « J'aime »

Ah d’accord, je vois maintenant ce que vous voulez dire.

2 « J'aime »

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.)

2 « J'aime »

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).

Ai-je manqué quelque chose dans vos étapes de reproduction ?

2 « J'aime »

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é.

PM

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.

2 « J'aime »

Vous utilisez le menu de notification hérité, qui est également lié aux notifications du menu de l’avatar.

Je peux reproduire votre problème avec le menu de notification hérité.

Les notifications ont en effet été retravaillées et le menu de notification hérité ne sera plus pris en charge et sera supprimé à l’avenir.

Je vous suggère de régler le paramètre menu de navigation sur « Barre latérale » ou « Menu déroulant d’en-tête » :slight_smile:

2 « J'aime »

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 ?

1 « J'aime »

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.

3 « J'aime »