Categoria soppressa inclusa nel digest

Abbiamo una categoria “Inappropriato” dove i moderatori possono spostare i post segnalati, in modo che possano comunque essere discussi anche se non adatti al nostro forum pubblico. Ovviamente non vogliamo che questa categoria sia inclusa nelle email di riepilogo e l’abbiamo esclusa nelle impostazioni del sito:

Screenshot from 2021-09-12 07-39-34

Tuttavia, un argomento di questa categoria è stato incluso nel nostro recente riepilogo. Ho deselezionato e selezionato nuovamente l’opzione nelle Impostazioni e ho notato un cambiamento nel registro:

14 è l’ID della categoria Inappropriato. La categoria Precedente 2 (probabilmente “Feedback sul sito”) è stata eliminata parecchio tempo fa, ma apparentemente era ancora inclusa nell’elenco delle categorie escluse. Potrebbe trattarsi di un bug che ha impedito all’elenco di funzionare come previsto?

3 Mi Piace

Ho appena controllato l’anteprima del riepilogo e la categoria è effettivamente ancora inclusa.

In realtà, l’eliminazione non funziona per nessuna categoria che io possa scegliere.

Sì, ho appena testato questo sul mio sito di sviluppo locale e riscontro la stessa cosa. Penso che il problema risieda nella logica utilizzata qui:

Modificando quella riga in topics = topics.where("topics.category_id NOT IN (?)", remove_category_ids) sembra risolvere il problema con le categorie aggiunte all’impostazione digest_suppress_categories, ma sarà necessario aggiungere una logica per gestire le categorie silenziate. Forse qualcosa del genere:

topics = topics.where("topics.category_id NOT IN (?)", remove_category_ids).where("topic_users.notification_level != (?)", TopicUser.notification_levels[:muted])
3 Mi Piace

Penso che il problema sia che l’utente di destinazione ha già visitato quell’argomento e per quell’utente è stato creato un record del modello TopicUser. In tal modo, quell’argomento supera la condizione sopra riportata in cui verifichiamo se è disattivato o meno. In questo caso, la PR sottostante dovrebbe risolvere il problema.

3 Mi Piace