تعديل تاريخ انتهاء الحدث → لم يتم تحديث تاريخ ما بعد الحدث في عنوان الموضوع

تم الاختبار على 3.6.0.beta2، على حد علمي، لم تظهر المشكلة في beta1

الخطوات:

  1. إنشاء موضوع جديد بتاريخ بدء حدث في الماضي وتاريخ انتهاء في المستقبل (على سبيل المثال، بعد 3 ساعات)
  2. نشر الموضوع، يتم عرض تاريخ الحدث في عنوان الموضوع بشكل صحيح
  3. تحديث تاريخ انتهاء الحدث إلى وقت لاحق أو سابق
  4. تحدث المشكلة: يبقى تاريخ الحدث في عنوان الموضوع كما هو

حاولت تحديث HTML أيضًا، لكن المشكلة مستمرة

تعديل: واجهت نفس المشكلة عند تعديل تاريخ بدء الحدث فقط، لكن لم أتمكن من تكرارها بعد…

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

كيف تقوم بتحرير الحدث، عبر واجهة المستخدم أم عبر ماركداون.

هل يتصرف كلاهما بشكل مختلف؟

على حد علمي، ظهرت المشكلة في كلتا الحالتين، لكنني لا أتذكر بنسبة 100%.

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

لقد قدمت طلب سحب (PR) صغيرًا قام بإصلاحه إلى حد ما. نحن نستخدمه كإضافة مساعدة في الوقت الحالي.

الحل البديل الحالي هو أيضًا:

  1. قم بتحرير المنشور وأزل رمز BB الخاص بالحدث، واحفظ المنشور
  2. قم بتحرير المنشور، وأعد إضافة رمز BB الخاص بالحدث بالتاريخ المطلوب، واحفظ المنشور

هذا يعيد كتابة تواريخ الحدث من البداية في الموضوع.

مرحباً،

قمت بفتح FIX: Refresh event dates in topic lists - Pull Request #43285 - discourse/discourse - GitHub لهذا الغرض.

ثم قمت بتسجيل شاشة لاختبار يدوي مقابل التزامن الرئيسي للطلب:

يعتمد الطلب على main.

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

لقد أدرجت توقياتي الدقيقة للاختبار و BBCode أدناه كملاحظات مكملة.

الاختبار الأول — تعديل النهاية فقط

التوقيتات المقصودة:

البداية بداية بعد التعديل النهاية نهاية بعد التعديل
16:22 بدون تعديل 16:25 16:28

كان BBCode في البداية:

[event start="2026-09-04 16:22" status=public timezone=Europe/London end="2026-09-04 16:25"]
this is an event description
[/event]

قمت بتغييره صراحةً إلى:

[event start="2026-09-04 16:22" status=public timezone=Europe/London end="2026-09-04 16:28"]
this is an event description
[/event]
الاختبار الثاني — تعديل البداية فقط

التوقيتات المقصودة:

البداية بداية بعد التعديل النهاية نهاية بعد التعديل
16:31 16:32 16:35 بدون تعديل

ارتكبت خطأً في الإعداد في هذه الجولة: كان BBCode الأولي في الواقع:

[event start="2026-09-04 17:00" end="2026-09-04 18:00" status="public" timezone="Europe/London" reminders="notification.15.minutes"]
[/event]

ثم قمت بتغييره صراحةً إلى:

[event start="2026-09-04 16:32" status=public timezone=Europe/London end="2026-09-04 16:35" reminders=notification.15.minutes]
[/event]

لذلك، يجب ألا يُنظر إلى هذه الجولة على أنها مقارنة نظيفة لتعديل البداية فقط من 16:31 إلى 16:32.

الاختبار الثالث — تعديل البداية والنهاية

التوقيتات المقصودة:

البداية بداية بعد التعديل النهاية نهاية بعد التعديل
16:38 16:39 16:42 16:45

كان BBCode في البداية:

[event start="2026-09-04 16:38" status=public timezone=Europe/London end="2026-09-04 16:42" reminders=notification.15.minutes]
[/event]

قمت بتغييره صراحةً إلى:

[event start="2026-09-04 16:39" status=public timezone=Europe/London end="2026-09-04 16:45" reminders=notification.15.minutes]
[/event]
الاختبار الرابع — تعديل النهاية فقط

التوقيتات المقصودة:

البداية بداية بعد التعديل النهاية نهاية بعد التعديل
16:47 بدون تعديل 16:50 16:53

كان BBCode في البداية:

[event start="2026-09-04 16:47" status=public timezone=Europe/London end="2026-09-04 16:50"]
[/event]

قمت بتغييره صراحةً إلى:

[event start="2026-09-04 16:47" status=public timezone=Europe/London end="2026-09-04 16:53"]
[/event]
الاختبار الخامس — تعديل البداية فقط

التوقيتات المقصودة:

البداية بداية بعد التعديل النهاية نهاية بعد التعديل
16:56 16:57 17:00 بدون تعديل

كان BBCode النهائي:

[event start="2026-09-04 16:57" status=public timezone=Europe/London end="2026-09-04 17:00" reminders=notification.15.minutes]
[/event]

يؤكد فحص قاعدة البيانات لاحقاً أن هذا المنشور تم تعديله مرة واحدة بواسطة كاتبه خلال فترة السماح لتعديل Discourse البالغة 300 ثانية (self_edits = 1). وبسبب أن التعديل كان ضمن فترة السماح تلك، بقي المنشور عند الإصدار 1 ولم يُنشأ أي تعديل/قلم مرئي.

لذلك، لم يعد بإمكاننا الحصول على القيمة الخام الأصلية من post_revisions، لكن الاختبار لم يكن منشوراً غير معدّل.

الاختبار السادس — تعديل البداية والنهاية

التوقيتات المقصودة:

البداية بداية بعد التعديل النهاية نهاية بعد التعديل
17:03 17:04 17:07 17:10

كان BBCode النهائي:

[event start="2026-09-04 17:04" end="2026-09-04 17:10" status="public" timezone="Europe/London" reminders="notification.15.minutes"]
[/event]

يؤكد فحص قاعدة البيانات لاحقاً أن هذا المنشور تم تعديله مرة واحدة بواسطة كاتبه خلال فترة السماح لتعديل Discourse البالغة 300 ثانية (self_edits = 1). وبسبب أن التعديل كان ضمن فترة السماح تلك، بقي المنشور عند الإصدار 1 ولم يُنشأ أي تعديل/قلم مرئي.

لذلك، لم يعد بإمكاننا الحصول على القيمة الخام الأصلية من post_revisions، لكن الاختبار لم يكن منشوراً غير معدّل.