لا تتردد في زيارة https://sales-community-staging.rainmakers.co/sales-community/ لمشاهدة المشكلة. لا توجد ضمانات بأن الرابط سيبقى نشطًا إلى الأبد.
أعتقد أن السبب هو عدم إضافة /sales-community إلى الرابط.
أخبرني إذا كان توفير ملف app.yml أو nginx.conf سيكون مفيدًا.
هذا على version: tests-passed.
جربت version: stable لإصلاح المشكلة، لكنه لا يتم تجميعه على Docker حاليًا (تم ذكر ذلك في تقرير خطأ آخر رأيته سابقًا؛ لقد كنت أبدأ من جديد، وليس التراجع عن الإصدار).
نعم. كل شيء آخر يعمل (النشر، رسائل البريد الإلكتروني، تحميل الصور الرمزية، HTTPS، إلخ). جميع الموارد الأخرى لديها عناوين URL صحيحة في مجلد فرعي /sales-community (كما هو موضح في الصورة). فقط ملف SVG معطل.
نعم، إذن المشكلة ليست في سياسة محتوى الأمان (CSP) لأن الرابط خاطئ ببساطة؛ يبدو أنه لا يتم إضافة بادئة مسار المجلد الفرعي إليه. أعتقد أنه يجب إضافته هنا؟
لدينا بالفعل جميع المنطق المطلوب لـ SVG sprites في سيناريوهات المجلدات الفرعية، وقد تم استخدامه بنجاح من قبل عدد من المواقع. في هذه الحالة، واجهنا حالة حافة محددة جدًا. عند فحص المتغيرات الرئيسية في موقع @vkozyrev (في وحدة تحكم المتصفح):
يبدو كل شيء على ما يرام. الآن، عند تحميل ورقة SVG sprite، نستخدم loadScript، الذي بدوره يستدعي Discourse.getURL. هذه الدالة مسؤولة عن إضافة بادئة المجلد الفرعي. لنجرب ذلك:
if (url.indexOf(Discourse.BaseUri) !== -1) return url;
أو، باللغة العربية: “إذا كان الرابط يحتوي بالفعل على بادئة المجلد الفرعي، توقف”. إذن المشكلة هنا هي أن بادئة المجلد الفرعي الخاصة بـ @vkozyrev (/sales-community) مدمجة في منتصف رابط ورقة SVG sprite
لقد جعلت الفحص أكثر تحديدًا، بحيث يتحقق فقط من وجود بادئة المجلد الفرعي في بداية الرابط:
رغم أن هذا يدفعني للتفكير في مشاكل محتملة أخرى… على سبيل المثال، إذا أراد شخص ما أن تكون بادئة المجلد الفرعي الخاصة به /t أو /about، أو أي رابط آخر نستخدمه في Discourse
هذه حالة حافة مذهلة . أقوم بتطوير Rails (في وضع الـ API فقط)، وسعيد لأنني لم أغوص كثيرًا فيrabbit hole، وإلا لكنت ضللت في كود العميل.
في حال كنت فضوليًا، لدي وكيل (proxy) أمام هذا، لذا فإن النطاق الفرعي sales-community مخفي عن المستخدمين، سيرىون فقط /sales-community في بداية عنوان URL للموقع الرئيسي. الموقع الرئيسي مستضاف على Heroku، لذا لا يمكنني استخدام مثيل nginx واحد لتوجيه كل شيء.