Reazioni a volte non visualizzate quando manca il conteggio delle reazioni

Questo accade perché discourse_reactions_like_sync_enabled è impostato su false. Ciò è stato fatto intenzionalmente dalla migrazione da maggio 2024 per evitare di interrompere i dati esistenti.

Quando questa impostazione è disabilitata, il ReactionLikeSynchronizer non viene eseguito. Questo sincronizzatore è responsabile di:

  • Creare record PostAction (like) per le reazioni
  • Aggiornare posts.like_count per riflettere le reazioni

Senza l’esecuzione della sincronizzazione:

  1. Le reazioni esistono in discourse_reactions_reaction_users
  2. Ma non ci sono record PostAction corrispondenti
  3. E posts.like_count rimane a 0

La tua intuizione sui tempi è esatta: i post del 2023/inizio 2024 hanno avuto reazioni aggiunte quando questa sincronizzazione non era attiva, quindi il loro like_count non è mai stato aggiornato. La vecchia logica del serializzatore ha quindi omesso completamente l’azione “mi piace” quando sia count = 0 CHE can_act = false (la finestra di annullamento è scaduta).

La correzione non risolve la discrepanza sottostante dei dati, ma assicura semplicemente che l’interfaccia utente visualizzi correttamente le reazioni anche quando i dati PostAction/like_count non sono sincronizzati. Sui siti in cui discourse_reactions_like_sync_enabled = false, l’esistenza di reazioni indipendenti dai record PostAction è il comportamento previsto.

1 Mi Piace