Plots2: Masquer les réponses aux commentaires qui ont été spammés ou qui ne sont pas encore modérés

Créé le 15 déc. 2020  ·  23Commentaires  ·  Source: publiclab/plots2

Il semble que les réponses aux commentaires ne soient pas filtrées pour le spam. Nous devrions voir ce message :

"Es-tu sûr? L'utilisateur ne pourra plus se connecter ni publier, et son contenu sera masqué à l'exception des commentaires. semble faux

Exemple de ce qui se passe : https://publiclab.org/notes/bhamster/09-02-2020/public-lab-virtual-event-on-all-things-microplastics

Voir cette réponse à un commentaire :

image

Au lieu de cela, il devrait avoir un message comme celui-ci, qui fonctionne pour les commentaires réguliers (ceux qui répondent à un message, pas un autre commentaire :

image

PROBLÈME

(Cela pourrait être corrigé maintenant... écrivons un test pour le confirmer et corriger les échecs pouvant découler du test):

Les réponses aux commentaires ne filtrent pas les commentaires indésirables. Nous utilisons cette méthode replied_comments à plusieurs endroits, nous devrons donc peut-être faire ce correctif plusieurs fois.

https://github.com/publiclab/plots2/search?q=replied_comments

Nous ne pouvons pas le faire dans la définition car il s'agit en fait d'une relation ActiveRecord, pas d'une méthode personnalisée à laquelle nous pouvons ajouter des filtres : https://github.com/publiclab/plots2/blob/828321c2a8fd91e7a55140a511ed4e6dda718b61/app/models/comment.rb# L10

Nous devrions filtrer status = 0 dans la définition de comment.replied_comments , et aussi pour status = 4 afficher le message ci-dessus.

Ensuite, nous devons écrire quelques tests de base :

https://github.com/publiclab/plots2/blob/876d0fc084064aaecc23f8003630d7d1ab858fa1/test/functional/comment_controller_test.rb#L57 -L61

Ruby help wanted testing

Commentaire le plus utile

@17sushmita Oui, définitivement, allez-y, ce serait très apprécié !

Tous les 23 commentaires

Cela semble un peu dans ma timonerie ! Je peux le décomposer en sous-problèmes à un moment où je me sens en avance sur mon travail.

Je testais cela localement pour le casser en ftos, il semble que le problème soit déjà résolu. Quelqu'un pourrait-il également confirmer que c'est le cas de son côté ... @noi5e peut-être que vous l'avez résolu quelque part dans votre projet..

@cesswairimu Hmm !! Je pense que quelqu'un d'autre l'a fait

@cesswairimu Quelqu'un pourrait écrire un test pour ça, si je n'y arrive pas ? C'est un peu trop compliqué pour un FTO, mais je pense que la rédaction de tests peut beaucoup apprendre aux candidats. Aussi peut-être que nous ne devrions pas fermer ce problème jusqu'à ce qu'un test soit écrit

@noi5e Je suis d'accord, je vais mettre à jour ceci pour qu'il s'agisse davantage d'un problème d'écriture de test. Merci

Hmm, je ne suis pas sûr -- peut-être que le test peut venir en premier pour confirmer si c'est vraiment corrigé ?

Parce que nous ne pouvons filtrer que sur l'utilisation, pas dans la définition has_many , semble-t-il, et je ne vois pas de .where.not(status: 0) sur ceux-ci :

https://github.com/publiclab/plots2/blob/ebf57e0cdd1dcc9d5cc884a15e7cd5b5bbe78390/app/views/notes/_comments.html.erb#L8

https://github.com/publiclab/plots2/blob/401874455490c6300270ef54490fe9452e0ca522/app/views/questions/show.html.erb#L69

https://github.com/publiclab/plots2/blob/ebf57e0cdd1dcc9d5cc884a15e7cd5b5bbe78390/app/views/notes/_comment.html.erb#L162

Qu'est-ce que tu penses?

Merci a tous!!! ??

ah et je suppose que sur ces includes() , il faudrait le nommer, alors peut-être... .where('comments.status != 0') ?

Oui, je pense que c'est correct, voir l'utilisation ici :

https://github.com/publiclab/plots2/blob/672d63ab11c2159e28d2cc502c47a3b3c83730b9/app/models/node.rb#L1114

@jywarren @cesswairimu @noi5e Puis-je travailler sur l'écriture de tests pour cela ?

@17sushmita Oui, définitivement, allez-y, ce serait très apprécié !

Il semble que les réponses aux commentaires ne soient pas filtrées pour le spam. Nous devrions voir ce message :

"Es-tu sûr? L'utilisateur ne pourra plus se connecter ni publier, et son contenu sera masqué à l'exception des commentaires. semble faux

@jywarren Qu'est-ce que cela signifie en disant que ce message semble faux ? N'est-il pas censé s'afficher lorsque le modérateur essaie de marquer le commentaire comme spam ? Merci de lui donner un peu plus de contexte.

@ 17sushmita Je suis un peu confus par cela aussi. Je pense que Jeffrey voulait peut-être dire que le texte apparaissait en jaune dans l'image ci-dessous, au lieu de Moderate first-time comment ? Si c'est le cas, cela semble faux.

102243313-05b48f80-3ec9-11eb-919a-d2dd39d84c45

En attendant des éclaircissements, vous pouvez toujours passer un test. Je vais juste poster ici quelques suggestions qui pourraient être utiles.

Pour commencer, vous pouvez insérer un commentaire de spam/poster pour la première fois dans la base de données de test qui est une réponse à un autre commentaire :

nodes(node_name).add_comment({
  uid: user_id,
  body: comment_text
  reply_to: parent_comment_id
  status: 0 # comment status: 0 for banned, 4 for first-time poster (a moderator has to approve the comment)
})

Ensuite, écrivez le reste du test à partir de là, en vous assurant que la méthode que nous utilisons pour récupérer les commentaires n'obtient pas de réponses aux commentaires avec le statut 0 ou 4.

Quelque chose comme ca! Vous devrez probablement faire des recherches. Laissez certainement un commentaire ici si vous êtes bloqué ou si vous avez besoin de pointeurs pour savoir où chercher dans la base de code. Nous sommes là pour vous aider !

@noi5e , Merci beaucoup pour votre aide 😃️ !! J'ai besoin d'une précision supplémentaire. Dois-je créer un nouveau fichier pour les tests de réponse aux commentaires ou apporter des modifications dans peut-être /plots2/test/functional/admin_controller_test.rb ou /plots2/test/system/spam2_test.rb ou /plots2/test/functional/comment_controller_test.rb ou un autre fichier ?

@17sushmita Je ne suis pas sûr à 100%, mais je pense à /test/functional/comment_controller_test.rb . L'autre endroit auquel je pensais était un test unitaire pour les commentaires. Des pensées de quelqu'un d'autre ?

En attendant, n'hésitez pas à commencer à travailler là-dessus en attendant que les autres interviennent.

@17sushmita Je ne suis pas sûr à 100%, mais je pense à /test/functional/comment_controller_test.rb . L'autre endroit auquel je pensais était un test unitaire pour les commentaires. Des pensées de quelqu'un d'autre ?

En attendant, n'hésitez pas à commencer à travailler là-dessus en attendant que les autres interviennent.

Merci, j'ai commencé à écrire les tests, mais une chose que j'ai observée est que même après avoir marqué le commentaire comme spam, il apparaît et selon le logiciel, il est correct car tout en le marquant comme spam, il génère un avertissement comme mentionné par @jywarren ci-dessus "Êtes-vous sûr ? L'utilisateur ne pourra plus se connecter ni publier, et son contenu sera masqué à l' exception des commentaires ." mais, est-il vraiment approprié d'afficher des commentaires marqués comme spam ?🤔️

est-il vraiment approprié d'afficher des commentaires marqués comme spam ?🤔️

Je ne pense pas !

Ce texte que vous mentionnez est assez intéressant :

« Êtes-vous sûr ? L'utilisateur ne pourra plus se connecter ni publier, et son contenu sera masqué à l' exception des commentaires. »

Cela me fait penser que peut-être à l'époque, nous n'avons pas modéré les commentaires. Je pense que ce morceau de texte est tout simplement obsolète.

Quoi qu'il en soit, je pense que nous sommes tous d'accord pour dire que nous devons absolument filtrer tous les commentaires ! Ainsi, nous pouvons éviter les spambots mentionnés à l'origine par @jywarren .

Je viens de tester cela localement, et il me semble que cela n'a pas été corrigé. Nous ne filtrons actuellement pas le spam ou les RÉPONSES aux commentaires modérés pour la première fois... Veuillez garder à l'esprit que les commentaires réguliers (qui ne sont pas des RÉPONSES à d'autres commentaires) sont filtrés, donc cela ne s'applique qu'aux réponses. (J'ai testé les commentaires qui ne sont PAS des réponses, et ceux-ci sont en cours de modération)

Je vais décomposer cela un peu plus loin. Localement, j'ai créé un nouveau compte et posté un commentaire sur une note. C'est ce que je vois quand je poste un commentaire. Jusqu'ici tout va bien:

Screen Shot 2021-03-22 at 11 39 30 AM

En tant qu'utilisateur, le message _"En attente d'approbation par les modérateurs de la communauté"_ me fait penser que mon commentaire n'apparaîtra pas publiquement.

Cependant, le commentaire ne semble publiquement! Lorsque je visite la même note dans une fenêtre de navigation privée qui est déconnectée du site, le commentaire apparaît exactement tel qu'il est apparu à l'utilisateur _cisco_ :

Screen Shot 2021-03-22 at 11 43 21 AM

L'interdiction de l'utilisateur _cisco_ ne semble pas non plus changer grand-chose. Le message _"En attente d'approbation"_ disparaît, mais le commentaire est toujours visible depuis une fenêtre de navigation privée :

Screen Shot 2021-03-22 at 11 46 06 AM

Alors oui, cela doit absolument changer.

@17sushmita Allez-y et continuez à travailler dessus !

De plus, si vous ne l'avez pas encore trouvé, nous avons un utilisateur _spammer_ banni déjà créé dans /test/fixtures/users.yml

@noi5e C'était une explication très claire. J'ai aussi testé de manière très similaire sur mon système local et les résultats étaient les mêmes, ce qui m'a fait penser que oui. Donc, je vais d'abord travailler pour supprimer les commentaires de spam, puis écrire un test pour savoir s'il est corrigé ou non.

En passant, il semble que les réponses aux commentaires n'apparaissent pas actuellement dans le tableau de bord de modération des spams de l'administrateur :

Screen Shot 2021-03-22 at 11 40 21 AM

Et si l'utilisateur Cisco publie une réponse de commentaire, cela ne les fait pas apparaître dans les utilisateurs actifs :

Screen Shot 2021-03-22 at 11 40 35 AM

Problème potentiel pour le projet de modération du spam Outreachy mentionné dans #9257 ?

Merci @17sushmita et @noi5e pour avoir si soigneusement @noi5e est tout à fait correct - nous avons juste besoin du message plus simple "Commentaire modéré pour la première fois".

filtrage du spam ou des commentaires modérés pour la première fois

Et une bonne prise qui n'est toujours pas résolue pour les RÉPONSES.

Super apprécie toute votre aide, vous deux. ??

Je noterai le problème du tableau de bord des spams dans la nouvelle description du projet !!!

Salut @jywarren @noi5e , Désolé de demander à nouveau mais j'ai eu une autre confusion. Doit-on afficher un commentaire qui n'est pas du spam mais dont l'utilisateur est banni ? Que faire dans de tels cas ?

Oui, actuellement le statut des utilisateurs bannis n'affecte pas la visibilité de leur
commentaires. Merci!

Le mer. 24 mars 2021, 08:17 Sushmita @ . * > a écrit :

Salut @jywarren https://github.com/jywarren @noi5e
https://github.com/noi5e , Désolé de demander à nouveau mais j'en avais un de plus
confusion. Doit-on afficher un commentaire qui n'est pas un spam mais que l'utilisateur est
banni? Que faire dans de tels cas ?

-
Vous recevez ceci parce que vous avez été mentionné.
Répondez directement à cet e-mail, consultez-le sur GitHub
https://github.com/publiclab/plots2/issues/8854#issuecomment-805774370 ,
ou se désinscrire
https://github.com/notifications/unsubscribe-auth/AAAF6J4WSMFWF64K72GXR5TTFHJ6NANCNFSM4U4TWDIQ
.

En passant, il semble que les réponses aux commentaires n'apparaissent pas actuellement dans le tableau de bord de modération des spams de l'administrateur :

Screen Shot 2021-03-22 at 11 40 21 AM

Et si l'utilisateur Cisco publie une réponse de commentaire, cela ne les fait pas apparaître dans les utilisateurs actifs :

Screen Shot 2021-03-22 at 11 40 35 AM

Problème potentiel pour le projet de modération du spam Outreachy mentionné dans #9257 ?

@noi5e Je ne peux pas reproduire le problème des réponses aux commentaires localement. Je me suis connecté en tant que nouvel utilisateur, j'ai répondu au commentaire, je me suis déconnecté, puis je me suis connecté en tant qu'administrateur, puis j'ai marqué la réponse au commentaire comme spam. Je suis allé sur la page de modération des spams et j'ai trouvé la réponse au commentaire sous commentaires.

image

image

Y a-t-il quelque chose qui m'échappe ?

Salut @TildaDares , je pense que ce problème a été résolu dans #9381

Merci @jcads

Cette page vous a été utile?
0 / 5 - 0 notes