Импортируйте класс User вместо использования User

Здравствуйте, уважаемое сообщество,
У меня есть время, чтобы исправить предупреждения в нашем сообществе. Одно из них следующее:

Уведомление об устаревании: Импортируйте класс User вместо использования User (устарело с версии Discourse 2.4.0) (удаление в версии Discourse 2.6.0)

Я пытаюсь отладить это через DevTools, но они не позволяют мне открыть файл, из которого исходит предупреждение. Система сообщает:

Не удалось загрузить содержимое для URL/assets/var/www/discourse/public/assets/_application-d88a387e24ec4397c59d853355d071080a32aa58498a2ea0a509cebee72839c0.js : Код состояния HTTP: 404

В любом случае, я перешел в безопасный режим, оставив только тему. Похоже, что предупреждение исходит из моей темы. В теме я обнаружил, что в одном из HTML-файлов использую:

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

Таким образом, мои технические вопросы следующие:

  1. Может ли предупреждение исходить из этой строки? Если да, то как мне импортировать User и исправить предупреждение?
  2. Как мне отлаживать сжатые JS-файлы через DevTools?

Заранее спасибо! :slight_smile:

Измените

var currentUser = Discourse.User.current();

на

var currentUser = api.getCurrentUser();

Не нужно ничего импортировать, как сказано в сообщении?

Нет, поскольку API уже предоставляет это для вас.

Отлично! Большое спасибо :slight_smile:
Похоже, мне нужно исправить ещё несколько мест, например Discourse.Site.currentProp('trustLevels').
Есть ли какая-то документация, которую я мог бы прочитать, чтобы понять, какой метод использовать вместо устаревших?

У меня та же ситуация. Нужно ли мне заменить Discourse.Site.currentProp('user_fields') (см. здесь) на что-то другое?

Думаю, эта тема должна относиться к категории Support - Discourse Meta.

У меня та же проблема: Уведомление о устаревании: Импортируйте класс User вместо использования User (устарело с версии Discourse 2.4.0) (удаление в версии Discourse 2.6.0) в последней версии 2.6.0.beta3.

Мой форум работает медленно при первом посещении пользователем.

Не могли бы вы объяснить, с чего мне начать? Как изменить это значение? Через панель администратора?

Спасибо.

Эти уведомления об устаревании адресованы разработчикам тем и плагинов.

«Если вы не знаете, как это сделать, значит, это не ваша работа».

Если вы разработчик тем и используете что-то помимо User.current(), то замена выглядит так:

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