يا لها من توقيت رائع! لا نشاط لمدة أسبوع، ثم حلّان على بعد 20 دقيقة من بعضهما!
لقد اخترت ذلك الحل في البداية، لكنني قرّرت الاعتماد على حل شامل لأن المعلمة غير مستخدمة في أي حالة.
لقد دمجت طلب السحب (PR) الخاص بـ @merefield الذي يحل هذه المشكلة.
@ti0 شكراً لك أيضاً على طلب السحب. الحجة تُستخدم بالفعل إذا استدعت super دون حجة (أي بدلاً من super())، فإن حجج الفئة الفرعية تُمرَّر تلقائياً إلى super. إذا نظرت إلى الطريقة التي يتم تجاوزها، ستلاحظ أين تُستخدم الحجة: discourse/lib/search.rb at main · discourse/discourse · GitHub.
@ti0@merefield كملاحظة جانبية، يجب أن نعمل على طلب سحب في نواة Discourse هنا لإضافة خطاف (hook) يسمح بإضافة type_filters جديدة إلى فئة Search من خلال إضافة (plugin). سيكون ذلك أكثر كفاءة واستقراراً من تعديل طريقة execute. قد يكون مشروعاً صغيراً ومثيراً للاهتمام إذا تمكنت من إقناع فريق Discourse بأن هذا الإضافة تستحق الجهد.
@justin هل تمكنت من حل هذه المشكلة في النهاية؟ لقد واجهت نفس المشكلة حتى غيرت طريقة تحميل محرك Babble في فرعي الخاص. أظن أن الأمر يتعلق بكيفية تعامل البيئات المختلفة مع طريقة @gdpelican في تحميل الملفات داخل المُهيئ (initializer)، أي:
من الصعب تحديد السبب بدقة. ربما أقوم بإعداد طلب سحب لتحديث طريقة تحميل ملفات Babble وأرى ما إذا كان @gdpelican موافقاً على تغييرها إلى الطريقة القياسية في إضافات Discourse باستخدام load مع File.expand_path بدلاً من require مع Rails.root.
تعديل: لقد أضفت Babble أيضاً إلى try.thepavilion.io حتى تتمكن من تجربتها في بيئة يتم تحديثها كل 24 ساعة.
في المستقبل، إذا ظهرت مشكلة حرجة في Babble (أي أنها لا تعمل على الإطلاق) وكان جيمس غير متاح، يرجى الإشارة إلى @angus أو @merefield وسنقوم بإصلاحها (أو مراجعة طلب سحب ).
أقصد أن المعلمة غير مستخدمة داخل الدالة التي تم تجاوزها والتي قمنا بتغييرها. بناءً على ما تقولونه، يجب أن يظل رزمي يعمل، لأن استدعاء super سيمرّر ببساطة **args الذي يجمع الوسيطات المسماة، وهو أكثر استقرارًا إذا تمت إضافة معاملات أخرى في المستقبل. هل هذا منطقي؟ أم أنني أغفلت شيئًا ما؟
لقد أجريت اختبارًا صغيرًا، ويبدو أن طريقتك تعمل أيضًا للأغراض الفورية (أي أنها تحافظ على وظيفة readonly_mode). الأمر غريب من الناحية المفاهيمية بعض الشيء عند التفكير فيه، حيث أن **args نظريًا يجب أن تُضبط قبل استدعاء الفئة الأساسية تمامًا. شخصيًا (وربما يكون لدى جيمس رأي مختلف)، أعتقد أنني ما زلت أفضل الطريقة الأكثر صراحة، حيث أننا نمرر المعاملات ضمنيًا بالفعل بمجرد استدعاء super، وإضافة بعض الغموض الإضافي مع **args يبدو وكأنه يصبح معقدًا بعض الشيء.
بينما أفهم ما تقصده، فإنني أجد أن المسار الأفضل في مثل هذه الحالات هو السعي لإيجاد طريقة صريحة لتجنب التعارضات مع الكود الأساسي، بدلاً من الاعتماد على الطرق الضمنية الشاملة. هذا النهج يميل إلى أن يؤدي إلى مشاكل أخرى في المستقبل. وكما ذكرنا أعلاه، أفضل لو تمكنا من إعادة هيكلة هذا الأمر عن طريق إضافة type_filter جديد في قاعدة الكود الأساسية. سأعتبر ذلك مشروعًا جيدًا.
هل قام أي شخص بالدمج مع Memberful وظهر الاسم الحقيقي للمستخدمين تحت اسم حسابهم في الدردشة؟
أود إخفاء ظهور اسمهم الحقيقي إن أمكن.
تعديل: لدي حل مؤقت، وهو أن يستخدم الأعضاء اسم الشاشة الخاص بهم كاسم كامل أثناء التسجيل، أو أقوم بتعديل اسمهم الكامل يدويًا ليتطابق مع اسم الشاشة بعد انضمامهم.
@angus أو أي شخص آخر يمتلك المهارات التقنية للمساعدة في Babble هذه الأيام – هل لديك أي أمل في إصلاح المشكلتين اللتين أبلغت عنهما قبل ثلاثة أسابيع في رد المنتدى هذا؟
مرحبًا @angus، شكرًا لك على جهدك الكبير في هذا الإضافة!
يعمل نظام Discourse الخاص بي مع عنوان URL أساسي مخصص للاستجواب الطويل. وبما أنني أضفت Babble للتو، أرى أنه لا يضيف أي رؤوس تحكم في الوصول عبر النطاقات (CORS)، مما يتسبب في فشل عدد من الطلبات.
ربما أستطيع كتابة إصلاح، إذا وجهتني إلى الاتجاه الصحيح في الكود.
بعد تثبيت آخر تحديثات Discourse وأحدث إصدار من Babble (قبل بضعة أيام، ثم مرة أخرى أمس للتأكد مما إذا كان قد تم إصلاح المشكلة)، أواجه مشاكل في إرسال الرسائل، كما أن مؤشر القراءة عالق ويعرض أن هناك رسائل جديدة.
الآن، عندما لم أتمكن من إرسال رسالة، ظهرت لي مجموعة من الأخطاء التالية في وحدة تحكم المتصفح:
Uncaught Error: No Reason Phrase
jQuery 13
error _application-49dab3118e527975ea48703627a0152cbe26663b7fde8423c667b094d716ae08.js:8967
jQuery 4
_ember_jquery-865569b174cc91f4563f3552f437b32c6eadf9f6c3d49eae02cfe50e5a8c7dfa.js:38573:14
jQuery 13
u self-hosted:1177
error _application-49dab3118e527975ea48703627a0152cbe26663b7fde8423c667b094d716ae08.js:8967
jQuery 4