Importa la classe User invece di usare User

Ciao cara community,
Ho un po’ di tempo per risolvere gli avvisi nella nostra community. Uno di questi è il seguente:

Avviso di deprecazione: Importare la classe User invece di utilizzare User (deprecata dalla versione 2.4.0 di Discourse) (rimozione nella versione 2.6.0 di Discourse)

Sto cercando di eseguire il debug tramite DevTools, ma non mi permette di accedere al file da cui proviene l’avviso. Dice:

Impossibile caricare il contenuto per l’URL/assets/var/www/discourse/public/assets/_application-d88a387e24ec4397c59d853355d071080a32aa58498a2ea0a509cebee72839c0.js : Codice di stato HTTP: 404

Comunque, ho attivato la modalità sicura lasciando solo il tema. Sembra che l’avviso provenga dal mio tema. Nel mio tema ho scoperto di utilizzare in un file HTML:

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

Le mie domande tecniche sono quindi le seguenti:

  1. Potrebbe l’avviso provenire da questa riga? In tal caso, come dovrei importare User e risolvere l’avviso?
  2. Come dovrei eseguire il debug dei file JS compressi tramite DevTools?

Grazie in anticipo! :slight_smile:

Modifica

var currentUser = Discourse.User.current();

in

var currentUser = api.getCurrentUser();

Non è necessario importare nulla, come indicato nel messaggio?

No, poiché l’API lo fornisce già per te.

Fantastico! Grazie mille :slight_smile:
Sembra che ci siano altri punti da correggere, come Discourse.Site.currentProp('trustLevels').
Esiste una documentazione ufficiale che potrei consultare per capire quale metodo utilizzare al posto di quelli obsoleti?

Anch’io, dovrei sostituire Discourse.Site.currentProp('user_fields') (vedi qui) con qualcos’altro?

Immagino che questo argomento dovrebbe rientrare nella categoria Support - Discourse Meta.

Ho lo stesso problema: Avviso di deprecazione: importa la classe User invece di utilizzare User (deprecato dalla versione 2.4.0 di Discourse) (rimozione nella versione 2.6.0 di Discourse) nell’ultima versione, 2.6.0.beta3.

Il mio forum è lento al primo accesso da parte di un utente.

Potresti spiegarmi da dove iniziare? Come modificare quel valore? Dall’area di amministrazione?

Grazie

Questi avvisi di deprecazione sono rivolti agli sviluppatori di temi e plugin.

“Se non sai come farlo, non sei la persona che dovrebbe occuparsene”.

Come sviluppatore di temi, se stai utilizzando qualcosa di più di User.current(), la sostituzione è questa:

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