Discourse AI ne respecte pas le groupe "tout le monde"

Ceci est toujours un problème. Si « Groupes autorisés pour le robot IA » est défini sur everyone, le robot ne répond pas.

Je pense que le bogue se situe ici

return false if (SiteSetting.ai_bot_allowed_groups_map & post.user.group_ids).blank?

Si le paramètre est everyone, cela renvoie false, car 0 ne fait pas partie de post.user.group_ids.

Le modèle correct est !user.in_any_groups?(SiteSetting.ai_bot_allowed_groups_map)

ce qui a un cas spécial pour everyone :

  def in_any_groups?(group_ids)
    group_ids.include?(Group::AUTO_GROUPS[:everyone]) ||
      (is_system_user? && (Group.auto_groups_between(:admins, :trust_level_4) & group_ids).any?) ||
      (group_ids & belonging_to_group_ids).any?
  end
4 « J'aime »