Oui, je viens de tester cela sur mon site de développement local et je constate la même chose. Je pense que le problème vient de la logique utilisée ici :
Modifier cette ligne en topics = topics.where("topics.category_id NOT IN (?)", remove_category_ids) semble résoudre le problème avec les catégories ajoutées au paramètre digest_suppress_categories, mais il faudra ajouter une logique pour gérer les catégories mises en sourdine. Peut-être quelque chose comme :
topics = topics.where("topics.category_id NOT IN (?)", remove_category_ids).where("topic_users.notification_level != (?)", TopicUser.notification_levels[:muted])