Importar la clase User en lugar de usar User

Hola, querida comunidad,
Tengo un poco de tiempo para solucionar las advertencias en nuestra comunidad. Una de ellas es la siguiente:

Aviso de obsolescencia: Importa la clase User en lugar de usar User (obsoleto desde Discourse 2.4.0) (eliminación en Discourse 2.6.0)

Estoy intentando depurar desde las Herramientas de Desarrollador, pero no me permiten entrar al archivo donde proviene la advertencia. Dice:

No se pudo cargar el contenido para URL/assets/var/www/discourse/public/assets/_application-d88a387e24ec4397c59d853355d071080a32aa58498a2ea0a509cebee72839c0.js: código de estado HTTP: 404

De todos modos, entré en el modo seguro dejando solo el tema. Parece que la advertencia proviene de mi tema. En mi tema, descubrí que uso en un archivo HTML:

<script type="text/discourse-plugin" version="0.8.13">
api.decorateWidget('header:before', helper => {
  // ... código
  var currentUser = Discourse.User.current();
  // ... código
});
</script>

Así que mis preguntas técnicas son las siguientes:

  1. ¿Podría provenir la advertencia de esta línea? De ser así, ¿cómo debería importar User y solucionar la advertencia?
  2. ¿Cómo debería depurar los archivos JS comprimidos desde las Herramientas de Desarrollador?

¡Gracias de antemano! :slight_smile:

Cambia

var currentUser = Discourse.User.current();

por

var currentUser = api.getCurrentUser();

¿No es necesario importar nada como dice el mensaje?

No, ya que la API ya te proporciona eso.

¡Genial! Muchas gracias :slight_smile:
Parece que tengo más lugares que corregir, como Discourse.Site.currentProp('trustLevels').
¿Existe documentación adecuada que pueda consultar para entender qué método usar en lugar de los antiguos?

Igual aquí, ¿necesitaría reemplazar Discourse.Site.currentProp('user_fields') (véase aquí) con otra cosa?

Supongo que este tema debería pertenecer a la categoría Support - Discourse Meta de soporte.

Tengo el mismo problema: Aviso de obsolescencia: Importe la clase User en lugar de usar User (obsoleto desde Discourse 2.4.0) (eliminación en Discourse 2.6.0) en la última versión, 2.6.0.beta3.

Mi foro funciona lentamente la primera vez que un usuario lo visita.

¿Podrías explicarme por dónde debo empezar? ¿Cómo cambiar ese valor? ¿Desde el área de administración?

Gracias

Estos avisos de obsolescencia están dirigidos a desarrolladores de temas y complementos.

“Si no sabes cómo hacerlo, no eres la persona que debería hacerlo”.

Como desarrollador de temas, si estás utilizando algo más que User.current(), entonces la sustitución es la siguiente:

const User = require('discourse/model/user').default;