مدخلات عدة مكررة لملخص البريد الإلكتروني

إليك مثال آخر تم إرساله للتو إلى حساب مستخدم غير نشط:

  • آخر ظهور في 2024-09-12
  • تكرار الملخص: يومي
  • “تضمين المحتوى من المستخدمين الجدد في رسائل البريد الإلكتروني الملخصة”: محدد
  • لا توجد علامات ذات صلة مكتومة

المواضيع الشائعة:

“الذكاء الاصطناعي - هل الأكبر أفضل؟” – تكررت 3 مرات. الموضوع له 3 علامات، 0 ردود، 0 إعجابات.
“تحديات الهندسة الاجتماعية” – تكررت مرتين. الموضوع له علامتين، رد واحد، 0 إعجابات.

جديد لك:

“طلبات العلامات الجديدة” – لم تتكرر. الموضوع له 0 علامات، 0 ردود، 0 إعجابات.

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

في آخر ملخص تلقته إحدى حساباتي، لم تكن هناك مواضيع مكررة، ولكن التعليقات الموجودة أسفلها كانت كذلك (“المشاركات الشائعة”). كانت هناك خمس خانات وتكرارين (ثلاث مشاركات فريدة)، كلاهما من نفس الموضوع.

تعديل: أقوم بالبحث في بعض الملخصات التاريخية التي تم إرسالها إلى حسابات اختبار/مسؤول مختلفة:

  • الملخص السابق يحتوي أيضًا على تكرارين في المشاركات الشائعة، وكلاهما من نفس الموضوع.
  • الملخص الذي سبقه كان يحتوي على موضوع مكرر ولكن لم يكن هناك مشاركات شائعة مكررة. يوجد تكرار في “جديد لك”.
  • الملخص الذي سبقه لا يحتوي على أي تكرارات.
إعجاب واحد (1)

، سيكون من المثير للاهتمام معرفة عدد العلامات التي كانت لدى مواضيع ملخصك. في عيناتي الأخيرة، يتوافق التكرار مع عدد العلامات في موضوع ما. قد يكون ذلك مصادفة - أو قد لا يكون كذلك.

3 إعجابات

لقد تمكنت من إعادة إنتاج المشكلة على موقع Discourse المحلي الخاص بي عن طريق إضافة علامة إلى إعداد الموقع digest suppress tags ثم إنشاء موضوع بعلامات متعددة.

الكود التالي يسبب المشكلة: discourse/app/models/topic.rb at main · discourse/discourse · GitHub

    if SiteSetting.digest_suppress_tags.present?
      tag_ids = Tag.where_name(SiteSetting.digest_suppress_tags.split("|")).pluck(:id)
      if tag_ids.present?
        topics =
          topics.joins("LEFT JOIN topic_tags tg ON topics.id = tg.topic_id").where(
            "tg.tag_id NOT IN (?) OR tg.tag_id IS NULL",
            tag_ids,
          )
      end
    end

تعديل: لا أعتقد أن LEFT JOIN مطلوب هنا. لا يبدو أن الأعمدة من جدول topic_tags المنضم إليها تُستخدم لاحقًا في الطريقة. يمكن أن يكون الإصلاح بسيطًا مثل:

if SiteSetting.digest_suppress_tags.present?
tag_ids = Tag.where_name(SiteSetting.digest_suppress_tags.split("|")).pluck(:id)
  if tag_ids.present?
  topics =
    topics.where.not(id: TopicTag.where(tag_id: tag_ids).select(:topic_id))
  end
end

سأترك الأمر لفريق Discourse لتحديد النهج الأفضل. طريقة for_digest تعمل كثيرًا وتحتاج إلى أن تكون فعالة.

4 إعجابات

نعم، كان لجميع المشاركات المكررة علامتين.

إعجابَين (2)

@simon – شكراً جزيلاً لك على متابعة هذا الأمر! :smiley: أنا متأكد من أنه كان هناك الكثير لفرزه. أتطلع إلى عودة فريق Discourse \u0026 العمل بناءً على تحليلك.

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

أؤكد فقط أن إزالة العلامة التي كانت لدي في digest suppress tags أعادت الملخصات إلى طبيعتها. (أنا أعتمد على digest suppress categories في الوقت الحالي.)

4 إعجابات

@simon كان على حق :+1: لقد كانت هذه بالفعل المشكلة

7 إعجابات

أخبار رائعة! :smiley:

لست متأكدًا تمامًا من موعد توفر الـ commits المدمجة في قناة البيتا. إذا كنت على الإصدار 3.4.0.beta3-dev (53f9c81790) ولم يطلب تحديثًا لواجهة المستخدم الرسومية، فهل سيقوم تحديث سطر الأوامر بالتقاط هذا التغيير؟

لا يزال بإمكانك سحب واجهة المستخدم دون أن يطلب منك ذلك، وسيقوم بسحب الالتزامات الجديدة. ولكن أيضًا، قد يؤدي إعادة بناء سطر الأوامر إلى سحبها أيضًا.

إعجابَين (2)

تم إغلاق هذا الموضوع تلقائيًا بعد 3 أيام. لم يعد يُسمح بالردود الجديدة.