Reaktionen werden manchmal nicht angezeigt, wenn die Reaktionsanzahl fehlt

Das liegt daran, dass discourse_reactions_like_sync_enabled auf false gesetzt ist. Dies geschah absichtlich durch die Migration von Mai 2024, um bestehende Daten nicht zu stören.

Wenn diese Einstellung deaktiviert ist, läuft der ReactionLikeSynchronizer nicht. Dieser Synchronisierer ist verantwortlich für:

  • Das Erstellen von PostAction (Like)-Einträgen für Reaktionen
  • Das Aktualisieren von posts.like_count, um Reaktionen widerzuspiegeln

Ohne laufende Synchronisierung:

  1. Reaktionen existieren in discourse_reactions_reaction_users
  2. Aber es gibt keine entsprechenden PostAction-Einträge
  3. Und posts.like_count bleibt bei 0

Ihre Vermutung bezüglich des Zeitpunkts ist genau richtig – die Beiträge aus 2023/Anfang 2024 erhielten Reaktionen, als diese Synchronisierung nicht aktiv war, sodass ihr like_count nie aktualisiert wurde. Die alte Serializer-Logik hat dann die Like-Aktion komplett weggelassen, wenn sowohl count = 0 ALS AUCH can_act = false (Rücknahmefrist abgelaufen) war.

Die Korrektur behebt die zugrunde liegende Dateninkonsistenz nicht – sie stellt lediglich sicher, dass die Benutzeroberfläche Reaktionen korrekt anzeigt, auch wenn die PostAction/like_count-Daten nicht synchronisiert sind. Auf Seiten, auf denen discourse_reactions_like_sync_enabled = false ist, ist das unabhängige Vorhandensein von Reaktionen zu PostAction-Einträgen das erwartete Verhalten.

1 „Gefällt mir“