Las mayúsculas en el nombre de usuario rompen la verificación de mención accesible en el editor

¡Buen hallazgo @thoka!

El problema está aquí

users devuelve {"username_lower" => objeto de usuario }

Sin embargo, si name no está en minúsculas, users[name] no existe.

Solución:

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

O mejor: convierte todos los nombres a minúsculas al inicio del método, ya que hay muchos problemas allí. groups maneja bien .where("lower(name) IN (?)", @names.map(&:downcase)), pero funciones como visible_group_ids_for_allowed_check, topic_allowed_group_ids, mentionable_group_ids y members_visible_group_ids usan where(name: @names), lo que también introduce problemas de sensibilidad a mayúsculas y minúsculas.

3 Me gusta