تجاهل ضجيج الإدارة!

:information_source: ملخص يخفي تلقائيًا إشعارات قائمة المستخدم المختلفة للمشرفين
:hammer_and_wrench: مستودع الكود https://github.com/Lillinator/dismiss-admin-noise
:question: دليل التثبيت كيفية تثبيت سمة أو مكون سمة

تثبيت مكون السمة هذا

:woman_technologist:t2: نظرة عامة

مكون سمة خفيف لـ Discourse يخفي تلقائيًا (يُزيل) إشعارات النظام المحددة في قائمة المستخدم للمشرفين.

تم تصميم هذا المكون لتقليل الضوضاء البصرية والإدراكية في واجهة المستخدم — وهو أمر مفيد بشكل خاص للمشرفين من ذوي التنوع العصبي (مثلني)، أو لمن يقومون بتحديث نسخهم بشكل متكرر ويتتبعون التغييرات عبر Meta (مثلني)، أو ببساطة للمشرفين الذين يعيشون على الحافة في منتديات التطوير الخاصة بهم! (أيضًا مثلني) :grin:

:gear: الإعدادات

يمكن إخفاء الإشعارات التالية تلقائيًا في إعدادات مكون الإدارة:

الإعداد الوصف
No new features notifications إخفاء الإشعارات الخاصة بالميزات الجديدة
No invitee accepted notifications إخفاء الإشعارات الخاصة بقبول المدعوين
No membership accepted notifications إخفاء الإشعارات الخاصة بقبول عضوية المجموعة (ملاحظة: لا يؤثر على دمج إشعارات العضوية)
No granted badge notifications إخفاء الإشعارات الخاصة بالشارات الممنوحة
No upcoming change promoted notifications إخفاء الإشعارات الخاصة بالتغييرات القادمة التي تم ترويجها تلقائيًا
No review queue badges إخفاء الإشعارات الخاصة بالأعلام القابلة للمراجعة إذا لم يكن المشرف عضوًا في مجموعة المشرفين
لقطة شاشة للإعدادات

:light_bulb: ملاحظات هامة

  • لا يتأثر إلا المستخدمون المشرفون؛ على سبيل المثال، سيستمر غير المشرفين في تلقي إشعارات حول الشارات الممنوحة لهم أو الدعوات المقبولة بغض النظر عن الإعدادات المفعّلة في هذا المكون.

  • يرجى ملاحظة أن إعداد No review queue badges يؤثر فقط على إشعارات الأعلام إذا لم يكن المشرف عضوًا في مجموعة المشرفين. سيظل عدد الأعلام ظاهرًا في شريط قائمة المراجعة الجانبي، حتى يتمكن المشرفون من المتابعة.

  • تؤثر الإعدادات على جميع المستخدمين المشرفين. لا توجد دقة لتحديد مشرفين محددين فقط ضمن مجموعة المشرفين. سيتطلب ذلك تطويره كإضافة (plugin) تضيف الإعدادات إلى علامة تبويب preferences/notification للمستخدمين المشرفين، وهو ما لا أشعر بالرغبة في بنائه في الوقت الحالي — ما لم يكن لديك ميزانية وترغب في دفعي مقابل القيام بذلك. :slight_smile:

  • إذا تم تفعيل جميع إعدادات المكون، فقد ينتهي بك الأمر إلى الحصول على علامة تبويب إشعارات أخرى أو جميع الإشعارات فارغة، اعتمادًا على مدى نشاط إشعارات المنتدى الخاص بك.

  • يمكن الآن إخفاء إشعارات المشرفين الخاصة بـ التغييرات القادمة تلقائيًا باستخدام إعداد في تفضيلات المستخدم -> الإشعارات.

  • لا أتحمل المسؤولية إذا أدى هذا المكون بطريقة ما إلى تفويتك لإشعار مهم!


تصفح مشاريعي الأخرى على Discourse
14 إعجابًا

ربما هذا هو السبب، ضحكة. لدي تشخيص باضطراب فرط الحركة وتشتت الانتباه. أتمنى لو التقطت لقطة شاشة قبل بضع دقائق، لكنني استيقظت على حوالي 30 دعوة مقبولة، ولم أستطع رؤية سوى آخر 15 في مربع الإشعارات (أفضل عدم الاضطرار إلى زيارة /u/hydn/notifications فقط لأن الدعوات تشغل كل مساحات القائمة المنسدلة). على أقل تقدير، كان من المحبط عدم وجود طريقة مدمجة لإدارة ذلك.

شكرًا لك!

إعجابَين (2)

بالمناسبة، إذا كنت ترغب في اختبار إعدادات هذا المكون دون الاضطرار إلى تنفيذ الإجراءات الفعلية التي تُطلق هذه الإشعارات (وكان لديك وصول SSH)، فيمكنك استخدام الأوامر التالية في وحدة تحكم Rails لتفعيل إشعارات الأحداث المقابلة (استخدم المحفزات المناسبة لإعدادات مكونك):

cd /var/discourse
.launcher enter app
rails c
# ابحث عن متغير المستخدم الخاص بك وحدده
u = User.find_by_username("اسم مستخدم المسؤول الخاص بك")

# المحفز: ميزات جديدة
Notification.create!(
  user: u,
  notification_type: Notification.types[:new_features],
  read: false,
  data: {}.to_json
)

# المحفز: قبول المدعو
Notification.create!(
  user: u,
  notification_type: Notification.types[:invitee_accepted],
  read: false,
  data: { display_username: "مستخدم_رائع_جديد" }.to_json
)

# المحفز: قبول عضوية المجموعة
Notification.create!(
  user: u,
  notification_type: Notification.types[:membership_request_accepted],
  read: false,
  data: { group_name: "Trust_Level_4" }.to_json
)

# المحفز: منح شارة
Notification.create!(
  user: u,
  notification_type: Notification.types[:granted_badge],
  read: false,
  data: { badge_name: "موضوع رائع", badge_id: 10 }.to_json
)

# المحفز: ترقية التغيير القادم
Notification.create!(
  user: u,
  notification_type: Notification.types[:upcoming_change_automatically_promoted],
  read: false,
  data: { 
    upcoming_change_humanized_name: "CSS تجريبي",
    upcoming_change_name: "experimental_css"
  }.to_json
)

# بث (راقب متصفحك في نافذة أو تبويب آخر عند الضغط على Enter!)
u.publish_notifications_state

أفضل طريقة للاختبار هي تعطيل الإعداد في المكون الذي تريد اختباره، وتشغيل أمر المحفز المرتبط بـ Rails، وملاحظة ظهور الإشعار، ثم تمكين الإعداد وإجراء تحديث قوي (Hard Refresh) لرؤية اختفائه.

إعجاب واحد (1)

شكرًا لك، كنت أبحث عن هذا بشدة اليوم. أشعر وكأن هناك إشعارات حول هذا الموضوع كل يوم، لقد كنت على وشك المجنون! ههه :smiley:

إعجابَين (2)

يمكنني أن أتخيل منح المسؤولين (والمستخدمين) مزيدًا من التحكم في الإشعارات التي يتلقونها أو لا يتلقونها.

من الجيد وجود أمثلة عملية مثل هذه متاحةً للأشخاص الذين يحتاجون إليها في الوقت الحالي.

3 إعجابات

أدركتُ بعض التحسينات للإشعارات الجماعية (مثل تشغيل مجموعة من الشارات) وأضفتُ إعدادًا جديدًا لإخفاء إشعارات الأعلام المعلقة من قائمة المراجعة تلقائيًا إذا لم يكن المشرف عضوًا في مجموعة المشرفين. سيظل عدد الأعلام ظاهرًا في قسم قائمة المراجعة في الشريط الجانبي، لذا سيظل بإمكان المشرفين تتبعه، ولكن دون ضوضاء الإشعارات في قائمة المستخدم:

Screenshot 2026-07-07 at 8.26.03 PM

4 إعجابات