Lo siento, pero tengo que rechazar este PR. Ese cambio es demasiado complejo y difícil de mantener. Las razones principales son:
- El ámbito (scope) no siempre es necesario y no debe ser forzado;
- Cambiarlo y mantenerlo posteriormente en todos los lugares, como los plugins, sería una cantidad enorme de trabajo;
PlaceholderGuardianno resuelve el problema sino que añade un ámbito falso (con la intención de arreglarlo más tarde);- La mayoría de las veces, la serialización debería ocurrir en el controlador, y el ámbito se añadirá automáticamente.
Mostrar un nombre de usuario o un nombre completo basado en el grupo es bastante complicado. En lugar de intentar fusionarlo en el núcleo de Discourse, ¿podemos empezar creando un plugin? Si tu comunidad es pequeña, así es como puede funcionar:
- Establece
SiteSetting.enable_namesenfalsepara usar siempre el nombre de usuario; - Define un endpoint que devuelva un mapa de nombre de usuario → nombre completo para usuarios TL3;
- Usa la llamada a la API
formatUsernamepara añadir el nombre completo o reemplazarlo para usuarios TL3 - discourse/app/assets/javascripts/discourse/app/lib/plugin-api.gjs at main · discourse/discourse · GitHub