fabsh
(Fabian A. Scherschel)
16 يونيو 2023، 12:34ص
1
لدي شك في أن هذا التغيير
قد أفسد طريقة استخدامي للتضمين على موقعي. هل يمكن لأحد أن يشير لي إلى ما تم تغييره بالضبط؟
أستخدم Discourse لإنشاء مواضيع لمنشورات على مدونتي (كنظام تعليقات). ينقسم موقعي إلى جزأين للغتين، لذلك أستخدم مضيفين لتصفية المنشورات الإنجليزية (/blog/somepost) والألمانية (/de/blog/somepost) إلى فئات منتديات مختلفة.
لم تعد المنشورات من الجانب الألماني للموقع تُضمّن منذ تحديث Discourse الخاص بي. أفترض أن الأمر يتعلق بالتصحيح المذكور أعلاه.
سأكون ممتنًا لأي مساعدة في محاولة حل هذه المشكلة.
إعجابَين (2)
fabsh
(Fabian A. Scherschel)
16 يونيو 2023، 1:00ص
2
من ناحية أخرى، قد يكون الأمر متعلقًا بهذه المشكلة:
Hello,
Over the past few days, in our Discourse, we have noticed that the “View Full Post” button remains at “Loading…” when it’s clicked:
[image]
Additionally, new Discourse comments have stopped showing from our embed from within our Drupal website. We have been successfully using the JavaScript embed instructions from below for years:
However, for some reason this seems to have stopped working lately. I believe the last working post was around the 1st of this month. Older posts do displ…
بالتأكيد تظهر لي استثناءات DOM هذه. مرة أخرى، أي مساعدة ستكون محل تقدير كبير!
إعجاب واحد (1)
Lilly
(Lillian Louis)
16 يونيو 2023، 1:54ص
3
نعم، سألقي نظرة على سياسات وإعدادات الأمان لمنتدك والموقع المضمن. لقطة الشاشة تبدو جيدة. ما هو البرنامج النصي الذي تستخدمه وماذا عن إعدادات التضمين الأخرى لديك؟ هل أجريت أي تغييرات حديثة هناك؟
يستخدم منتدى الخاص بي ميزة النشر المضمن هذه عدة مرات في اليوم وهي تعمل بشكل رائع في الوقت الحالي لذا أعرف أنها ليست معطلة. نحن نستخدم أحدث إصدار تجريبي ونحن مستضافون، لذا أنا واثق من التكوين.
إعجاب واحد (1)
fabsh
(Fabian A. Scherschel)
16 يونيو 2023، 7:26ص
5
مرحباً، شكراً لمحاولتك المساعدة!
أنا لست مسؤولاً عن أي سياسات أمنية لأن كلا الموقعين مستضافان من قبل مزودي الاستضافة. أشك في أنهم قد يكونون سبب المشكلة. لكني سأتحقق من مزود استضافة Discourse الخاص بي.
أستخدم هذا البرنامج النصي على المدونة (إنها محرك موقع ثابت يسمى Hugo):
<script type="text/javascript">
DiscourseEmbed = { discourseUrl: 'https://forum.fab.industries/',
discourseEmbedUrl: '{{ .Permalink }}' };
(function() {
var d = document.createElement('script'); d.type = 'text/javascript'; d.async = true;
d.src = DiscourseEmbed.discourseUrl + 'javascripts/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(d);
})();
</script>
لم أقم بتغيير أي من هذه الإعدادات منذ أن قمت بدمجها لأول مرة قبل بضعة أشهر.
كل ما قمت بتغييره هو بعض التنسيقات المخصصة CSS التي أضفتها في سمة المنتدى. سأقوم بإلغاء هذه التغييرات اليوم وأرى ما إذا كان ذلك سيحل المشكلة.
fabsh
(Fabian A. Scherschel)
16 يونيو 2023، 7:52ص
6
حسنًا. التراجع عن CSS لم يفعل شيئًا. لقد كان محاولة بعيدة على أي حال.
لقد تمكنت الآن أيضًا من التأكد من أن التضمين معطل بشكل عام. توقف الجانب الإنجليزي من المدونة عن العمل أيضًا. الصفحات الجديدة عالقة عند “جارٍ تحميل المناقشة…”
أنا الآن متأكد تمامًا من أن هذا حدث عندما قام مزودي بتحديث المنتدى الخاص بي إلى 3.0.4 ولكني لا أعرف من أي إصدار قاموا بتحديثي. لذلك ما زلت أشك في هذه الرقعة بطريقة ما:
committed 12:31PM - 28 Feb 23 UTC
This commit implements many changes to topic and comments embedding. It
depreca… tes the class_name field from EmbeddableHost and suggests using
the className parameter. discourse_username parameter has been
deprecated and it will fetch it from embedded site from the author or
discourse-username meta.
See the updated code sample from Admin > Customize > Embedding page.
* FEATURE: Add className parameter for Discourse embed
* DEV: Hide class_name from EmbeddableHost
* DEV: Deprecate class_name field of EmbeddableHost
* FEATURE: Use either author or discourse-username meta tag
* DEV: Deprecate discourse_username parameter
* DEV: Improve embed code sample
أعتقد أن حقيقة أن المتصفح يرمي هذه الأخطاء المتعلقة بـ DOM ليس من قبيل الصدفة:
يبدو أن إيقاف تشغيل CSP في إعدادات المسؤول لا يصلح الأمر.
RGJ
(Richard - Communiteq)
16 يونيو 2023، 9:55ص
7
لذا فإن main يحتوي على هذا
TopicEmbed.import_remote(@embed_url, user: User.find_by(username_lower: username.downcase))
و stable يحتوي على هذا
TopicEmbed.import_remote(user, @embed_url)
لاحظ ترتيب المعلمات.
الآن، تم تغيير توقيع الدالة في stable لإصلاح التصحيح الأمني إلى ترتيب المعلمات الجديد، لذا
def self.import_remote(import_user, url, opts = nil)
أصبح
def self.import_remote(url, opts = nil)
والآن تستقبل معلمة url كائن User.
يؤدي تغيير استدعاء الدالة إلى حل المشكلة
diff --git a/lib/topic_retriever.rb b/lib/topic_retriever.rb
index b798df6cd7..6186ce5868 100644
--- a/lib/topic_retriever.rb
+++ b/lib/topic_retriever.rb
@@ -50,6 +50,6 @@ class TopicRetriever
user = User.where(username_lower: username.downcase).first
return if user.blank?
- TopicEmbed.import_remote(user, @embed_url)
+ TopicEmbed.import_remote(@embed_url, user: user)
end
end
@blake
8 إعجابات
RGJ
(Richard - Communiteq)
19 يونيو 2023، 6:50ص
8
9 إعجابات
pmusaraj
(Penar Musaraj)
19 يونيو 2023، 6:52م
12
شكراً @RGJ على الإصلاح، تم دمج طلب السحب هذا الآن.
4 إعجابات