Ich bin auf ein ernstes Problem mit meinem Discourse-Forum gestoßen.
Kürzlich habe ich festgestellt, dass alle Beiträge, die beobachtete Wörter enthalten, die eine Markierung auslösen, automatisch ausgeblendet werden.
Diese Beiträge müssen manuell von einem Administrator wieder eingeblendet werden, um wieder sichtbar zu werden.
Nach einiger Recherche habe ich festgestellt, dass der Wert score_to_hide_post meiner Website derzeit 0,0 beträgt.
Auf einer anderen Discourse-Instanz, die ich betreibe, liegt dieser Wert bei etwa 8,3, was normal zu sein scheint.
Aufgrund dieses Wertes von 0,0 blendet jede Markierung – selbst eine einzelne von einem beobachteten Wort – den Beitrag sofort aus.
Ich habe kürzlich keine Einstellungen geändert. Warum sollte score_to_hide_post auf 0,0 gesetzt werden?
Wie kann ich ihn auf einen normalen Schwellenwert (wie 8,3) zurücksetzen, damit Beiträge nicht sofort ausgeblendet werden?
Ich habe festgestellt, dass da score_to_hide_post 0,0 ist, selbst eine einzelne Markierung von einem neuen Benutzer sofort den Beitrag ausblendet, was die Situation ziemlich ernst macht. Was soll ich tun?
Sie können dies beheben, indem Sie die Website-Einstellung Hide Post Sensitivity anpassen. Stellen Sie sie auf eine geeignete Stufe wie Medium oder High ein – dies aktualisiert automatisch den internen Wert score_to_hide_post zurück auf einen gesunden Schwellenwert.
Beachten Sie nur, dass je niedriger die Empfindlichkeit ist, desto weniger Flaggen-Score ist erforderlich, um einen Beitrag auszublenden – weshalb Beiträge sofort ausgeblendet wurden.
Vielen Dank für den Vorschlag! Ich habe versucht, die Website-Einstellung Hide Post Sensitivity im Admin-Panel anzupassen, die vier Optionen hat: Disabled, Low, Medium und High.
Ich habe jedoch festgestellt, dass nur Disabled funktioniert. Unabhängig davon, ob ich Low, Medium oder High wähle, bleibt der Wert score_to_hide_post auf 0.
Wissen Sie, warum das passiert?
Ich verstehe, dass score_to_hide_post dynamisch basierend auf überprüfbaren Elementen berechnet wird, aber ist es unter normalen Umständen möglich, dass es jemals als 0 berechnet wird?
Wenn es 0 anzeigt, deutet das auf ein Systemproblem hin?
AFIK sollte im Standardbetrieb mit „Hide Post Sensitivity“ auf „Low, Medium oder High“ eingestellt, der Schwellenwert eine positive Zahl sein. Wenn Sie score_to_hide_post = 0 sehen, wenn die Empfindlichkeit NICHT „Disabled“ ist, deutet dies auf eine Fehlkonfiguration des Systems hin. Mögliche Ursachen sind:
Beschädigte oder fehlende Werte im PluginStore
Probleme mit Ihren SiteSettings (z. B. falsch konfigurierte reviewable_default_visibility)
Die Einstellung reviewable_default_visibility hat noch ihren Standardwert: low. Nachdem das Problem aufgetreten war, habe ich sogar versucht, die Website neu zu erstellen, aber das hat das Problem nicht behoben. Ich möchte verstehen, wie dieses Problem überhaupt entstanden ist und ob es behoben werden kann.
Ich habe den Code sorgfältig studiert und festgestellt, dass score_to_hide_post durch die folgenden drei Methoden bestimmt wird:
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
# Wir wollen, dass dies schwer zu erreichen ist
((high.to_f * ratio) * scale).truncate(2)
end
def self.sensitivity_score(sensitivity, scale: 1.0)
# Wenn der Score niedriger als die Standard-Sichtbarkeit ist, erhöhen wir ihn auf dieses Niveau.
# Andernfalls haben wir die verwirrende Situation, dass ein Beitrag ausgeblendet wird und
# Moderatoren ihn nie sehen würden!
[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
Anders ausgedrückt: score_to_hide_post = ((high.to_f * ratio) * scale).truncate(2)
wobei
high.to_f unerwartet 0 sein kann (normalerweise sollte es ein positiver Wert sein),
ratio = sensitivity / sensitivities[:low].to_f,
sensitivity aus der Einstellung stammt (z. B. 3, 6 oder 9),
sensitivities[:low] = 9,
scale = 1.0.
Das bedeutet, score_to_hide_post sollte niemals 0 sein, daher ist es eindeutig ein Fehler, wenn es 0 wird.