IMAP مزامنة مراحل مستخدم جديد إذا لم يتم تعيين Group.incoming_email إلى Group.email_username

في حين التجربة مع مزامنة IMAP، تم إنشاء مستخدم مؤقت لـ Group.email_username أثناء الاستيراد من حساب IMAP.
وعند محاولة فهم ما حدث، لاحظت أن Group.find_by_email لا يأخذ Group.email_username في الاعتبار، مما يستلزم تعيين Group.incoming_email لتشمل هذه القيمة على الأقل.

خطوات إعادة إنتاج المشكلة:

  • تمكين مزامنة IMAP
  • تكوين خيارات مزامنة البريد الإلكتروني لمجموعة ما، مع ترك Group.incoming_email غير مُعد
  • إرسال بريد إلكتروني إلى Group.email_username
إعجاب واحد (1)

أعتقد أن IMAP لا تزال قيد التطوير بعض الشيء يا @sam؟

ينبغي أن يكون مدعومًا بشكل معقول، فنحن نستخدمه في الإنتاج على ميتا.

@martin هل يمكنك إلقاء نظرة سريعة على هذه التقرير؟

شكرًا لك @thoka، لقد تفحصت الأمر. أعتقد أنك محق في أن Group.find_by_email تحتاج إلى إضافة email_username إليها، لكن هذا ليس سبب إنشاء مستخدم البريد الإلكتروني للمجموعة كمرحلة مؤقتة في هذه الحالة. يحدث هذا فعليًا لاحقًا في المستقبل حيث نضيف عناوين أخرى إلى الموضوع الذي تم إنشاؤه حديثًا. الجزء المهم هنا هو should_invite?

والذي يقارن بدوره البريد الإلكتروني بـ group_incoming_emails_regex:

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

5 إعجابات

تم إصلاح هذه المشكلة عبر https://github.com/discourse/discourse/pull/13220، وقد خضع واجهة المستخدم لإعداد البريد الإلكتروني للمجموعات لتحديث حديث. ومع ذلك، لا يزال بروتوكول IMAP في مرحلة ألفا، لذا يُرجى استخدام هذه الميزة على مسؤوليتك الخاصة.

3 إعجابات