تجاوز صور مصغرة للدردشة لـ s3_cdn_url واستخدام عناوين S3 bucket الخام

بالنسبة للمواقع التي تمت إضافة رموز تعبيرية مخصصة إليها، فستكون معطلة الآن في الدردشة بعد دمج الإصلاح.

على عكس صور المنشورات القياسية (التي يمكن إصلاحها باستخدام الأمر rake posts:rebake)، يتم تمرير الرموز التعبيرية المخصصة للدردشة إلى الواجهة الأمامية ديناميكيًا عبر /site.json.

إذا كانت قاعدة البيانات تحتوي على عناوين URL لـ S3 تفتقر إلى البروتوكول (مثل //bucket.endpoint...) أو تستخدم نطاقًا بأسلوب المضيف الافتراضي الذي لا يتطابق تمامًا مع متغيرات البيئة في ملف app.yml الخاص بك، فإن مُستبدل CDN الداخلي الخاص بـ Discourse يفشل بصمت. يتم تمرير عنوان URL الخام للحاوية إلى المتصفح، مما يعطل الرموز التعبيرية المخصصة في الدردشة.

كيفية الإصلاح:

لإصلاح هذه المشكلة بشكل دائم، تحتاج إلى إعادة تعيين عناوين URL الخام للحاوية لتتوافق مع عنوان URL الخاص بـ CDN في قاعدة البيانات، ثم مسح ذاكرة التخزين المؤقت للموقع حتى يتم إعادة إنشاء /site.json.

1. الدخول إلى الحاوية:

قم بالاتصال بخادمك عبر SSH ودخل إلى حاوية Discourse الخاصة بك (عادةً ما تكون app، أو web_only إذا كان لديك إعداد مكون من حاويتين).

cd /var/discourse
./launcher enter app

2. إعادة تعيين عناوين URL:

قم بتشغيل أداة remap المدمجة في Discourse. يجب عليك تشغيلها مرتين للتأكد من التقاط كل من تنسيق https:// وتنسيق // بدون بروتوكول الذي قد يتركه سكريبت الترحيل خلفه.

استبدل العناوين النائبة بعنوان URL الخام الفعلي للحاوية وعنوان URL الفعلي لـ CDN الخاص بك:

# إصلاح عناوين URL القياسية التي تبدأ بـ https://
discourse remap "https://<your-bucket>.<your-endpoint>.com" "https://cdn.your-domain.com"

# إصلاح عناوين URL بدون بروتوكول التي تبدأ بـ // (هذا هو السبب الشائع لتعطيل الرموز التعبيرية المخصصة)
discourse remap "//<your-bucket>.<your-endpoint>.com" "https://cdn.your-domain.com"

3. مسح ذاكرة التخزين المؤقت

بما أن /site.json يخزن في ذاكرة التخزين المؤقت بشكل مكثف، يجب عليك مسح ذاكرة التخزين المؤقت لـ Rails لإجبار المنتدى على تقديم عناوين URL الجديدة:

افتح وحدة تحكم Rails:

rails c

قم بتشغيل الأوامر التالية:

Rails.cache.clear
Site.clear_cache
exit

4. تحديث الصفحة

قم بتحديث صفحة المتصفح بشكل قسري (وألغِ استخدام حل العمل الخاص بمكون السمة إذا كنت لا تزال تستخدمه). يجب أن تكون الرموز التعبيرية المخصصة في الدردشة قد أُصلحت الآن وتعمل بشكل صحيح عبر CDN.

إعجابَين (2)