J’ai rencontré un problème sérieux avec mon forum Discourse.
Récemment, j’ai constaté que tous les messages contenant des mots surveillés qui déclenchent un signalement sont automatiquement masqués.
Ces messages doivent être manuellement révélés par un administrateur pour redevenir visibles.
Après quelques recherches, j’ai remarqué que la valeur score_to_hide_post de mon site est actuellement de 0.0.
Sur une autre instance Discourse que j’administre, cette valeur est d’environ 8.3, ce qui semble normal.
En raison de cette valeur de 0.0, tout signalement — même un seul provenant d’un mot surveillé — masque immédiatement le message.
Je n’ai apporté aucune modification aux paramètres récemment. Pourquoi score_to_hide_post deviendrait-il 0.0 ?
Comment puis-je le restaurer à un seuil normal (comme 8.3) afin que les messages ne soient pas masqués immédiatement ?
J’ai constaté que puisque score_to_hide_post est de 0,0, même un seul signalement d’un nouvel utilisateur masquera immédiatement le message, ce qui rend la situation assez grave. Que dois-je faire ?
Vous pouvez résoudre ce problème en ajustant le paramètre de site Masquer la sensibilité des publications. Définissez-le sur un niveau approprié tel que Moyen ou Élevé — cela mettra automatiquement à jour la valeur interne score_to_hide_post à un seuil acceptable.
Notez simplement que plus la sensibilité est faible, plus le score de signalement requis pour masquer une publication est bas — c’est pourquoi les publications étaient masquées immédiatement.
Référence pour la façon dont cela est mappé en interne :
Merci pour la suggestion ! J’ai essayé d’ajuster le paramètre du site Hide Post Sensitivity dans le panneau d’administration, qui propose quatre options : Désactivé, Faible, Moyen et Élevé.
Cependant, j’ai constaté que seule l’option Désactivé fonctionne. Peu importe si je choisis Faible, Moyen ou Élevé, la valeur de score_to_hide_post reste à 0.
Savez-vous pourquoi cela se produit ?
Salut, j’ai une question concernant score_to_hide_post.
Je comprends que score_to_hide_post est calculé dynamiquement en fonction des éléments révisables, mais est-il possible qu’il soit calculé comme 0 dans des circonstances normales ?
S’il affiche 0, cela indique-t-il un problème système ?
À ma connaissance, en fonctionnement standard avec Hide Post Sensitivity réglé sur « Faible, Moyen ou Élevé », le seuil doit être un nombre positif. Si vous voyez score_to_hide_post = 0 alors que la sensibilité n’est PAS « Désactivé », cela indique une mauvaise configuration du système. Les causes possibles incluent :
Valeurs corrompues ou manquantes dans le PluginStore
Problèmes avec vos SiteSettings (par exemple, reviewable_default_visibility mal configuré)
Le paramètre reviewable_default_visibility est toujours à sa valeur par défaut, low. Après la survenue du problème, j’ai même essayé de reconstruire le site, mais cela n’a pas résolu le problème. J’aimerais comprendre comment ce problème est apparu en premier lieu et s’il peut être résolu.
J’ai étudié le code attentivement et j’ai constaté que score_to_hide_post est déterminé par les trois méthodes suivantes :
def self.sensitivity_score_value(sensitivity, scale)
return Float::MAX if sensitivity == 0
ratio = sensitivity / sensitivities[:low].to_f
high =
(PluginStore.get("reviewables", "priority_#{priorities[:high]}") || typical_sensitivity).to_f
# Nous voulons que ce soit difficile à atteindre
((high.to_f * ratio) * scale).truncate(2)
end
def self.sensitivity_score(sensitivity, scale: 1.0)
# Si le score est inférieur à la visibilité par défaut, augmentez-le à ce niveau.
# Sinon, nous avons la situation confuse où un message pourrait être caché et
# les modérateurs ne le verraient jamais !
[sensitivity_score_value(sensitivity, scale), min_score_for_priority].max
end
def self.score_required_to_hide_post
sensitivity_score(SiteSetting.hide_post_sensitivity)
end