Richie
(Richie Rich)
19 يونيو 2025، 12:02م
1
يعمل حاليًا Discourse 3.5.0.beta7-dev (7562bc2b15 )
لا يتم إرسال رسائل البريد الإلكتروني الخاصة بإشعارات الموضوعات عند جدولة نشر مشاركة ضمن ظروف معينة.
لقد واجهنا خطأً غير عادي للغاية، وبينما نقوم بتشغيل أحدث إصدار، حدث هذا عدة مرات في الأشهر الأخيرة، لذا فإن المشكلة موجودة منذ فترة.
لدينا فئة تسمى #Announcements وجميع المستخدمين معينون على Watching First Post افتراضيًا.
خطواتنا لتكرار المشكلة:
إنشاء موضوع جديد في فئة مخفية مخصصة للموظفين فقط
تطبيق لون للموظفين على المنشور الأول في الموضوع الجديد
تعيين مؤقت للموضوع، جدولة النشر، تعيين الفئة إلى #Announcements وتعيين الوقت/التاريخ
ما يجب أن يحدث:
ينتقل الموضوع من #staff إلى #Announcements
يتم إرسال عشرات الآلاف من رسائل البريد الإلكتروني
يتلقى كل مستخدم إشعارًا
ما يحدث:
ينتقل الموضوع من #staff إلى #Announcements
لا يتم إرسال أي رسائل بريد إلكتروني
يتلقى كل مستخدم إشعارًا
أثناء انتظار وصول وقت النشر المجدول، يمكنني رؤية هاتين المهمتين معلقتين (مفلترة حسب معرف المنشور):
بعد عشر دقائق عندما تم نشر الموضوع في #Announcements، اختفت المهام:
تم إرسال الإشعارات، إليك ما تلقاه حساب اختبار:
لكن لم يتم إرسال أي رسائل بريد إلكتروني.
عادةً في هذه المرحلة، نرى عشرات الآلاف من رسائل البريد الإلكتروني تبدأ في التراكم في Scheduled وتنتقل تدريجيًا إلى Enqueued، ولكن لا يحدث شيء، ولا يتم إرسال أي رسائل بريد إلكتروني.
لا يوجد شيء أيضًا في سجلات أخطاء Discourse.
احتوت المشاركات على استطلاع رأي، لكنني أشك في أن محتوى المنشور غير ذي صلة، ومع ذلك، أذكر ذلك هنا فقط في حالة أن يكون للاستطلاع أيضًا أي أهمية.
يمكن العثور على اختبار اليوم الفاشل هنا إذا كان يساعد أي شخص: https://greyarro.ws/t/do-you-own-a-drone-thats-not-on-the-what-do-you-fly-list/98146.json
يبدو أن مفتاح هذا الفشل ناتج عن إجراء إضافة لون للموظفين إلى المنشور الأول في الموضوع المجدول للنشر.
كل منشور آخر مجدول للنشر يرسل بريدًا إلكترونيًا بشكل جيد، وإضافة لون للموظفين تجعله يفشل في كل مرة.
3 إعجابات
يمكنني تكرار هذا.
خطواتي الأساسية خطوة بخطوة:
اضبط email time window على دقيقة واحدة (اختياري، ولكنه يسرع الأمور)
بصفتك مسؤولاً، تأكد من أن المستخدم التجريبي يتابع المنشور الأول لفئة اختبار
بصفتك مسؤولاً، أنشئ موضوعًا في فئة Staff
استخدم مفتاح الربط الخاص بالمنشور لإضافة لون الموظفين إلى المنشور الأول/الوحيد
اضبط مؤقت الموضوع على جدولة النشر في فئة الاختبار في غضون دقيقة واحدة
احلم قليلاً بالآيس كريم وانتظر حتى يتم نشر الموضوع ولمدة دقيقة أخرى لتغطية نافذة البريد الإلكتروني
بصفتك مسؤولاً، تحقق من إشعارات المستخدم التجريبي، ثم تحقق من سجلات البريد الإلكتروني للموقع
النتيجة المتوقعة: يتلقى المستخدم التجريبي إشعارًا حول الموضوع المجدول ويوجد سجل بريد إلكتروني يشير إلى إرسال إشعار بريد إلكتروني مصاحب.
النتيجة الفعلية: يتلقى المستخدم التجريبي إشعارًا على الموقع ولكن لا يتم إرسال أي بريد إلكتروني.
(أجريت هذا الاختبار أيضًا بدون خطوة لون الموظفين كضابط تحكم. كل شيء يعمل بشكل جيد. تم إرسال كل من الإشعار على الموقع والإشعار عبر البريد الإلكتروني)
هل له علاقة بتعديل لون الموظفين لنوع المنشور إلى ‘2’ (moderator_action) وعدم حساب ذلك في الكود؟
4 إعجابات
Richie
(Richie Rich)
21 يونيو 2025، 7:00ص
3
لقد عرفت أنني سأنسى إحدى خطوات إعادة الإنتاج
هذا ملاحظة مثيرة للاهتمام:
إعجابَين (2)
sam
(Sam Saffron)
22 يونيو 2025، 11:57م
4
نعم، بمجرد تحويل منشور إلى منشور للموظفين يصبح Post.types[:moderator_action]، أعتقد أنه يجب علينا الإخطار هنا، يبدو أن الإغفال كان خطأً. تمت إضافة أولوية متوسطة (في وقت ما خلال الأسابيع الأربعة القادمة) حتى يتمكن الفريق من إلقاء نظرة.
إعجابَين (2)
Richie
(Richie Rich)
23 يونيو 2025، 10:40ص
5
للمهتمين، هل يؤدي الرد على مستخدم وتعيين لون للموظفين على الرد أيضًا إلى عدم إرسال إشعار البريد الإلكتروني إلى هذا المستخدم؟
تأتي متأخراً خير من ألا تأتي أبداً؟!
main ← fix/staff-coloured-posts-email-notifications
opened 10:26AM - 11 Feb 26 UTC
When a staff member applies "Staff Colour" to a post, it changes `post_type` fro… m `regular` (1) to `moderator_action` (2). The `NotificationEmailer` only sent emails for `regular` and `whisper` post types, so staff-coloured posts silently skipped email delivery. The same issue affected `PostAlerter`'s `@here` mention expansion which also filtered on post type.
This is safe to fix because the only two places that needed updating are `NotificationEmailer::EMAILABLE_POST_TYPES` and
`PostAlerter#expand_here_mention`. System-generated moderator posts (close/split/merge) never reach this code — `PostJobsEnqueuer` skips them via `skip_after_create?`, so they never generate the notification types that flow through `NotificationEmailer`. Similarly, system moderator posts don't contain `@here` mentions, so adding `moderator_action` to `expand_here_mention` is equally safe.
https://meta.discourse.org/t/370857
إعجابَين (2)
Richie
(Richie Rich)
11 فبراير 2026، 10:53ص
8
zogstrip:
أفضل متأخرًا من أبدًا؟
بالتأكيد، ما هي سوى بضعة أسابيع بين الأصدقاء
هل يمكنني فقط التأكد من أن هذا الإصلاح سيحل هذا السيناريو؟
Richie:
خطواتنا لتكرار المشكلة:
إنشاء موضوع جديد في فئة مخفية مخصصة للموظفين فقط
تطبيق لون الموظفين على المنشور الأول في الموضوع الجديد
تعيين مؤقت للموضوع، وجدولة النشر، وتعيين الفئة إلى #Announcements وتعيين الوقت/التاريخ
ما الذي يجب أن يحدث:
ينتقل الموضوع من #staff إلى #Announcements
يتم إرسال عشرات الآلاف من رسائل البريد الإلكتروني
يتلقى كل مستخدم إشعارًا
ماذا يحدث:
ينتقل الموضوع من #staff إلى #Announcements
لا يتم إرسال أي رسائل بريد إلكتروني
يتلقى كل مستخدم إشعارًا
zogstrip
تم إغلاقه في
14 فبراير 2026، 7:00ص
10
تم إغلاق هذا الموضوع تلقائيًا بعد يومين. لم يعد الرد مسموحًا به.