تلقيت إشعارًا عبر البريد الإلكتروني في اليوم الآخر بأن موقع Discourse المستضاف ذاتيًا (Ubuntu 18.04.6 على Contabo) كان مستحقًا للتحديث، لذا ذهبت إلى صفحة المسؤول للتحديث. كالعادة، احتجت أولاً إلى تحديث docker-manager، ثم تشغيل بقية التحديث للموقع. بدا أن هذا التحديث قد تجمد في مكانه - فقد وصل إلى نقطة معينة، ثم لم يتحرك على الإطلاق. بعد حوالي ساعة من ذلك، قررت أن التدخل عبر سطر الأوامر ضروري، لذا قمت بتسجيل الدخول إلى الخادم عبر ssh وقمت بتشغيل cd /var/discourse; git pull; ./launcher rebuild app. اكتمل ذلك دون خطأ ظاهر، لكنني تركت بموقع يبدو كالتالي:
(النقاط متحركة في الحياة الواقعية). معتقدًا أن البرنامج قد يستغرق بعض الوقت لبدء التشغيل، انتظرت - لأكثر من يوم في الواقع - دون تغيير. لم يكن لإعادة تشغيل الخادم أي تأثير، وكذلك لم يكن لإعادة البناء مرة أخرى.
ومن المثير للاهتمام، أن المستخدمين لا يزالون قادرين على النشر عبر البريد الإلكتروني، والموقع يرسل تلك رسائل البريد الإلكتروني كما هو متوقع.
أقدر بعض الإرشادات هنا - ماذا يمكنني أن أفعل لإعادة الموقع إلى العمل؟
إذا كان يعمل في الوضع الآمن، فقد يكون هناك تعارض في المكون الإضافي أو السمة أو مكون السمة. يمكنك استخدام الخيارات الموجودة على شاشة الوضع الآمن للمساعدة في تضييق نطاق المشكلة.
يبدو أن تعطيل “المكونات الإضافية غير الرسمية” فقط يعمل:
ويمكنني رؤية هذا الخطأ في وحدة تحكم المتصفح عند محاولة تحميل موقعك ليس في الوضع الآمن:
Uncaught (in promise) Error: Could not find module `admin/models/admin-user` imported from `discourse/plugins/discourse-merge-users/discourse/components/merge-users-form`
c loader.js:247
c loader.js:258
findDeps loader.js:168
c loader.js:262
requireModule loader.js:24
Ember 3
resolveOther resolver.js:241
Ember 5
initialize colocated-template-overrides.js:31
eachThemePluginTemplate colocated-template-overrides.js:41
initialize colocated-template-overrides.js:22
initialize app.js:41
runInstanceInitializers Ember
each dag-map.js:192
walk dag-map.js:121
each dag-map.js:66
topsort dag-map.js:72
Ember 4
invoke queue.ts:201
flush queue.ts:98
flush deferred-action-queues.ts:75
_end index.ts:616
_boundAutorunEnd index.ts:257
promise callback*n/
flush Ember
_scheduleAutorun index.ts:803
_ensureInstance index.ts:791
schedule index.ts:384
Ember 6
loader.js:247
وهذا يشير إلى مشكلة في discourse-merge-users. يمكنك محاولة إعادة البناء بدون هذا المكون الإضافي لمعرفة ما إذا كانت هذه هي المشكلة.
بالنظر إلى موضوع المكون الإضافي، يبدو أنه تم إيقافه وهذا مشكلة معروفة:
يبدو أن هذه كانت بالفعل المشكلة؛ فإعادة البناء بدونه تحل المشكلة - على الرغم من أنه من المثير للاهتمام أن الموضوع الذي شاركته يشير إلى أن المشكلة تظهر عندما لا يكون الشخص مسؤولاً، وأنا كذلك. ولكن مع تعطيله، يبدو أن الموقع يعمل بشكل جيد مرة أخرى الآن. شكرًا على المساعدة السريعة والمفيدة.