Importer la classe User au lieu d'utiliser User

Bonjour chère communauté,

J’ai un peu de temps pour corriger les avertissements de notre communauté. L’un d’eux est le suivant :

Avis de dépréciation : Importez la classe User au lieu d’utiliser User (déprécié depuis Discourse 2.4.0) (suppression prévue dans Discourse 2.6.0)

J’essaie de déboguer cela via les Outils de développement, mais cela ne me permet pas d’accéder au fichier à l’origine de l’avertissement. Il indique :

Impossible de charger le contenu pour l’URL /assets/var/www/discourse/public/assets/_application-d88a387e24ec4397c59d853355d071080a32aa58498a2ea0a509cebee72839c0.js : code d’état HTTP : 404

Quoi qu’il en soit, j’ai activé le mode sans échec en ne conservant que le thème. Il semble que l’avertissement provienne de mon thème. Dans celui-ci, j’ai remarqué que j’utilise dans un fichier HTML :

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

Mes questions techniques sont donc les suivantes :

  1. L’avertissement peut-il provenir de cette ligne ? Si oui, comment dois-je importer User et résoudre l’avertissement ?
  2. Comment puis-je déboguer les fichiers JS compressés depuis les Outils de développement ?

Merci d’avance ! :slight_smile:

Remplacez

var currentUser = Discourse.User.current();

par

var currentUser = api.getCurrentUser();

6 « J'aime »

Pas besoin d’importer quoi que ce soit, comme l’indique le message ?

Non, car l’API le fait déjà pour vous.

2 « J'aime »

Super ! Merci beaucoup :slight_smile:
Il semble que j’aie d’autres endroits à corriger, comme Discourse.Site.currentProp('trustLevels').
Existe-t-il une documentation appropriée que je pourrais consulter pour comprendre quelle méthode utiliser à la place des anciennes ?

Moi aussi, devrais-je remplacer Discourse.Site.currentProp('user_fields') (voir ici) par autre chose ?

1 « J'aime »

Je suppose que ce sujet devrait appartenir à la catégorie Support - Discourse Meta.

Je rencontre le même problème : Avis de dépréciation : Importez la classe User au lieu d’utiliser User (déprécié depuis Discourse 2.4.0) (suppression dans Discourse 2.6.0) dans la dernière version, 2.6.0.beta3.

Mon forum est lent lors de la première visite d’un utilisateur.

Pourriez-vous m’expliquer par où commencer ? Comment modifier cette valeur ? Depuis la zone d’administration ?

merci

Ces avis de dépréciation s’adressent aux développeurs de thèmes et de plugins.

« Si vous ne savez pas comment faire cela, ce n’est pas à vous de le faire. »

3 « J'aime »

En tant que développeur de thème, si vous utilisez autre chose que User.current(), le remplacement est le suivant :

const User = require('discourse/model/user').default;
2 « J'aime »