طلب تابع من إضافة حدث: مرشح إلى لغة استعلام تصفية الموضوع (ملحق لوحة أحداث Discourse):
تم دمج مرشح event: وهو يعمل الآن — شكراً جزيلاً!
ومع ذلك، واجهت ثغرة تحد من فائدته عملياً: مسار /filter (وبالتالي إضافة قوائم المواضيع المخصصة) يستعطف المواضيع العادية فقط. يتم استبعاد الرسائل بشكل كامل لأنها تستخدم نظام مسارات منفصلاً (/topics/private-messages-group/... / topics/private-messages/...).
وهذا يعني أن مجتمعاً يستخدم الرسائل جنباً إلى جنب مع النقاشات العامة لا يمكنه بناء عرض موحد واحد لـ “جميع الأحداث”. تحتاج إلى صفحتين منفصلتين ولا يمكنك جمع المرشحات عبر كلتا الصفحتين.
من الجدير بالذكر أن نظام البحث يقوم بالفعل بنطاق البحث عبر كل النماذج (archetypes) باستخدام in:all — لكنه لا يستطيع إخباري بأي النتائج هي أحداث. نظام المرشحات يعرف عن الأحداث — لكنه لا يرى الرسائل. لا يوجد أي منهما مفيداً بمفرده!
المشكلة
سيظهر event:any جميع العامة المواضيع التي تحتوي على أحداث، لكنه يتجاهل بصمت أي حدث تم إنشاؤه في رسالة خاصة (PM). بالنسبة للجماعات التي تستخدم الرسائل الخاصة للدعوات، أو التنسيق، أو الأحداث بدعوة فقط، فإن هذه نقطة عمياء مهمة.
نفس القيد واجهه @pfaffman — لا تصل الدالة findFilteredTopics إلى المواضيع ذات archetype = 'private_message':
الحل المقترح
السماح لمسار /filter بتضمين الرسائل الخاصة اختيارياً عبر محدد نموذج (archetype selector)، على سبيل المثال:
event:any archetype:regular,privatemessage
أو متغير منطقي أبسط:
event:any include-messages
حالة الاستخدام
بصفتي مدير مجتمع، أريد رابطاً واحداً في الشريط الجانبي يُظهر كل حدث على الموقع — عام أو خاص — حتى لا يضيع شيء بين عرضين منفصلين.