فشل تضمين Discourse (اختلاط المرجع)

مرحبًا،

أنا بصدد تضمين Discourse في مثيل Mediawiki، ويبدو أن هناك مشكلة غريبة لدي.

عندما أربط صفحة الويكي الخاصة بي بموضوع Discourse موجود، يعمل كل شيء بشكل مثالي:

window.DiscourseEmbed = { discourseUrl: 'https://forum.dev.tripleperformance.fr/',|
                          topicId: 18};

ولكن عندما أحاول إنشاء الموضوع، يفشل الأمر:

window.DiscourseEmbed = { discourseUrl: 'https://forum.dev.tripleperformance.fr/',|
                          discourseEmbedUrl = 'https:' + mw.config.get('wgServer') + '/wiki/' + mw.config.get('wgPageName')};

يتم تحميل إطار الـ iframe أول مرة مع:

<meta id="data-embedded" data-referer="https://wiki.dev.tripleperformance.fr/wiki/Sandbox">

ثم، بعد 30 ثانية (بسبب meta http-equiv="refresh" في إطار الـ iframe)، يتم إعادة تحميل الإطار مع:

<meta id="data-embedded" data-referer="https://forum.dev.tripleperformance.fr/embed/comments?embed_url=https%3A%2F%2Fwiki.dev.tripleperformance.fr%2Fwiki%2FSandbox">`

في هذه المرحلة، تظهر رسالة خطأ في وحدة التحكم:

فشل تنفيذ 'postMessage' على 'DOMWindow': أصل الهدف المقدم ('https://forum.dev.tripleperformance.fr') لا يتطابق مع أصل نافذة المستلم ('https://wiki.dev.tripleperformance.fr').

هذا على الأرجح لأن المرجع في سمة data-embedded أصبح الآن ذاتيًا وليس الصفحة الأصلية (وهو ما قد يكون متوقعًا في الواقع نظرًا لأن مُحدث التحديث هو الذات).

ملاحظة: أنا على جهاز تطوير بطيء بسبب Docker وكل شيء. من الممكن جدًا أن أكون في حالة سباق أو شيء مشابه…؟

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

مرحبًا برتراند!
آمل أن تكون هذه المشكلة قد حُلت لديك حتى الآن، ولكن إذا لم يكن الأمر كذلك، فقد ترغب في تجربة الكود في الفرع test-passed، الذي يحتوي على إصلاح اليوم لمشكلة ذات أعراض مشابهة.

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

تحياتي!

3 إعجابات

مرحباً ليوناردو،

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

يؤسفني سماع ذلك، لكنه كان يستحق المحاولة :slight_smile:
تحياتي!