أرى نفس المشكلة. إذا قمت بتعيين عدد عمال Puma إلى 1، فإن المشكلة تختفي. يبدو أن كل عامل يحتفظ بنسخة من كائن إعدادات الموقع، وعندما يقوم أحد العمال بإجراء تحديث، لا يلاحظ العاملون الآخرون ذلك التحديث.
للأسف، توجد هذه المشكلة أيضًا في بيئة موزعة على عدة خوادم Discourse، لذا فإن تعيين عدد العمال إلى 1 ليس حلاً شاملاً.
أحاول القيام ببعض تطوير الإضافات، لذا تابعت الرابط الموجود في README لإعداد بيئة تطوير على نظام Ubuntu. عند تشغيل الأمر bundle exec rails server --binding=0.0.0.0، يبدأ التطبيق باستخدام Puma.
لا يزال الخادم قيد التشغيل. لقد تحققت من السجلات أن Discourse يخدم الطلب. كما قمت بتعطيل التخزين المؤقت في وحدة تحكم المطور في متصفحي أثناء تصحيح هذا المشكلة.
لم أكن أقوم بتوسيع النطاق لتطوير الإضافات، بل كنت أجرب هذا في سيناريوهات مختلفة قليلًا لمحاولة تحديد مشكلتي والتأكد من فهمي لها. إذا كان من المفترض أن يتولى MessageBus التعامل مع هذا، فسأقوم بالبحث في الأمر بشكل أعمق.
أثناء التصحيح، لاحظت أن app/models/site_setting.rb لا يزال يُحفّز حدثًا باسم :site_setting_saved، والذي يبدو أنه قد أُزيل من التطبيق واستُبدل بـ :site_setting_changed. لا يوجد الآن أي مستمع لحدث :site_setting_saved.