Les lettres majuscules dans le nom d'utilisateur cassent la vérification des mentions accessibles dans le compositeur

Bonne trouvaille @thoka !

Le problème se trouve ici

users retourne {"username_lower" => objet User }

Cependant, si name n’est pas en minuscules, users[name] n’existe pas.

Correction :

if user = users[name.downcase]
...
elsif group = groups[name.downcase]
...

Ou mieux : mettez tous les noms en minuscules au début de la méthode, car il y a beaucoup de problèmes. groups utilise correctement .where("lower(name) IN (?)", @names.map(&:downcase)), mais des fonctions comme visible_group_ids_for_allowed_check, topic_allowed_group_ids, mentionable_group_ids et members_visible_group_ids utilisent toutes where(name: @names), ce qui introduit également des problèmes de sensibilité à la casse.

3 « J'aime »