Alle Beiträge mit beobachteten Wörtern werden automatisch ausgeblendet — score_to_hide_post ist 0,0

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.