استيراد فئة 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 => {
  // ... code
  var currentUser = Discourse.User.current();
  // ... code
});
</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;