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])