Ghost / Discourse Embed / الوضع المظلم: يتم تجاهل theme_id و color_scheme_id للمستخدمين المجهولين

مرحباً بالجميع،

لقد أمضيت الساعات القليلة الماضية في محاولة لمزامنة الوضع الداكن (Dark Mode) لمدونة Ghost مع تضمين Discourse. على الرغم من أنني نجحت في اكتشاف حالة الوضع الداكن في الموقع المضيف وتمرير المعلمات الصحيحة، يبدو أن Discourse يتجاهلها للمستخدمين المجهولين.

الإعداد الخاص بنا وما تحققنا منه:

حقن المعلمات (Parameter Injection): نحن نستخدم برنامجاً نصياً مخصصاً في Ghost لاكتشاف السمة data-color-scheme="dark". لقد تحققنا عبر وحدة تحكم المتصفح (browser console) وعلامة تبويب الشبكة (Network Tab) من أن المعلمات ?color_scheme_id=13 (مخطط الألوان 13 الخاص بنا) أو ?theme_id=4 (سمة داكنة مخصصة) يتم إلحاقها بشكل صحيح بطلب embed.js وبالتالي بمصدر إطار iframe (Iframe src).

إعداد السمة (Theme Configuration): في Discourse، تم تحديد السمة المستهدفة (ID 4) ومخطط الألوان (ID 13) على أنهما “قابلان للاختيار من قبل المستخدم” (User Selectable). تم تعيين مخطط الألوان أيضاً على أنه “الوضع الداكن الافتراضي” (Default Dark) للسمة النشطة.

المشكلة: على الرغم من أن عنوان URL لإطار iframe يعرض بوضوح …/embed/comments?topic_id=…&theme_id=4، يظل المحتوى المعروض في الوضع الفاتح (الافتراضي) للزوار المجهولين.

الاختبارات التي تم إجراؤها:

التثبيت الثابت (Hardcoding) لمعرّف السمة (theme_id) مباشرة في البرنامج النصي.
التلاعب اليدوي بمصدر إطار iframe (Iframe src) عبر JavaScript بعد انتهاء تحميل embed.js.
محاولة استخدام @media (prefers-color-scheme: dark) داخل مكون سمة (Theme Component) لإجبار الأنماط، والتي يبدو أنها يتم تجاهلها أو تجاوزها أيضاً في سياق التضمين.

سؤالي: هل هناك إعداد أمان محدد أو قيد ثابت في منطق تضمين Discourse يمنع المستخدمين المجهولين من تبديل السمات أو مخططات الألوان عبر معلمات عنوان URL؟

نريد تجنب “وميض المحتوى غير المنسق” (Flash of unstyled content) وضمان عدم تعرض القراء في منشور مدونة داكن للإبهار بسبب قسم تعليقات أبيض. هل هناك أي إعدادات app.yml أو إعدادات موقع مخفية تحكم هذا السلوك للمحتوى المضمن؟

إصدار Discourse: Discourse 3.5.3

شكراً مقدماً على أي رؤى!