واجهة مستخدم ديسكورس الخاصة بي فارغة تمامًا ولا يتم تحميلها بعد الترقية الجديدة. هذا ليس بالأمر الجيد، وأنا أشعر بالذعر قليلاً لأن المستخدمين غير راضين. يبدو أن الواجهة الخلفية تعمل.
حدث هذا بعد أحدث ترقية اليوم، على قطرة رقمية تعمل بالحاوية. استخدمت المشغل لإعادة بناء التطبيق.
أي مساعدة ستكون موضع تقدير عميق
خطأ وحدة التحكم يقرأ:
app.js:31
Uncaught TypeError: Cannot read properties of undefined (reading 'registerAsyncHelper') at s.callback (vendor-suffix.js:58:1)
at s.exports (loader.js:106:1)
at s._reify (loader.js:143:1)
at s.reify (loader.js:130:1)
at s.exports (loader.js:104:1)
at s._reify (loader.js:143:1)
at s.reify (loader.js:130:1)
at s.exports (loader.js:104:1)
at s._reify (loader.js:143:1)
at s.reify (loader.js:130:1)
at s.exports (loader.js:104:1)
at requireModule (loader.js:27:1)
at n._prepareInitializer (app.js:24:1)
at app.js:81:1
at Array.forEach (<anonymous>)
at n.start (app.js:73:1)
at HTMLDocument.<anonymous> (start-app.js:4:1)
at discourse-boot.js:30:1
at discourse-boot.js:31:1
أوه… لقد كان مكونًا إضافيًا… لست متأكدًا من أي واحد هو، ولكن بعد بعض البحث هنا، شككت في أن هذه قد تكون مشكلة… قمت بإزالة cakeday، و signatures، و data explorer، و discourse-video-upload، و encryption. سأقوم بإدخالها واحدة تلو الأخرى في وقت لاحق وأرى ما إذا كان بإمكاني تحديد الجاني. ولكن في الوقت الحالي، التطبيق يعمل مرة أخرى ولن ألمسه.
تجربة مروعة. أشعر بالذنب الشديد الآن… ربما يجب أن يكون لدي عملية استنساخ مرحلية لهذه الترقيات في المستقبل. درس مستفاد. أو على الأقل سأقوم دائمًا بإنشاء لقطة قبل الترقية حتى أتمكن من الاستعادة عند الفشل.
المشكلة هي Discourse encrypt. يمكنك إصلاحها بوضعها في نهاية ملف yml الخاص بك واختيار الالتزام من قبل أن يتم كسره لأول مرة (تم كسر التحقق من التوقيع في اليوم الآخر)، كالتالي:
- git clone https://github.com/discourse/docker-manager.git
... ثم الإضافات الأخرى الخاصة بك ...
- git clone https://github.com/discourse/discourse-encrypt.git
- cd discourse-encrypt & git checkout 12639de
كما ترى، وضعت إضافة Discourse encrypt في النهاية، فقط في حالة أن أوامر cd و git checkout قد تؤثر على الأوامر اللاحقة (وهو ما لا أعتقد أنه سيحدث).
ونعم، هذا هو تجزئة الالتزام لآخر إصدار يعمل بشكل جيد بالتأكيد.
موقعي يعمل الآن بشكل جيد مرة أخرى. و Discourse Encrypt لديه علامات خضراء مرة أخرى.
من فضلك لا تترك هذا الإعداد في مكانه لفترة طويلة - فلن يتلقى مثيلك تحديثات مستقبلية لمكون Encrypt الإضافي. من المحتمل جدًا أن يتسبب ذلك في حدوث أعطال في المستقبل.
نحن على علم بمشكلة التحقق من التوقيع، ونعمل على إصلاحها و لقد دفعنا إصلاحًا.
ومع ذلك، فإن خطأ Ember.Test هذا غير متوقع. @Mycobee هل يمكنك تأكيد إصدار Discourse الذي تستخدمه؟ كيف قمت بتشغيل التحديث؟ عبر واجهة المستخدم /admin/upgrade؟
نعم، هذا أمر حيوي للغاية ونسيت أن أذكره (كان الوقت يقارب 4 صباحًا بتوقيتي عندما كتبت هذا وقد عدت للتو إلى العمل وفكرت في إلقاء نظرة هنا لمعرفة ما إذا كان أي شخص آخر يواجه نفس المشكلة). هذا مجرد حل مؤقت لإعادة الأمور إلى العمل. شكرًا للتذكير يا @david.
لم ينجح هذا الإصلاح معي عندما قمت بتحديث كل شيء في الساعة 00:00 بالتوقيت العالمي المنسق هذا الصباح (قبل عشر ساعات ونصف). لم أقم بتحديث مثيلي إلا بعد ذلك لأنني رأيت أنه تم إصلاح التحقق من التوقيع. ثم اضطررت إلى القيام بالإصلاح المؤقت الموضح أعلاه. هل من الممكن ألا يكون تحديثي المعتاد قد التقط أحدث رمز لسبب ما؟
كنت أواجه صفحة أمامية فارغة واضطررت إلى تعطيل جميع الإضافات (في الوضع الآمن) لتحميل الموقع على الإطلاق. أقوم بتحديثات أسبوعية حوالي الساعة 9:00 بالتوقيت العالمي المنسق يوم الاثنين، وكان هذا تحديثًا إضافيًا لإصلاح مشكلة التحقق من التوقيع. ومع ذلك… كانت هناك تغييرات كثيرة أخرى تم التقاطها أيضًا، بالطبع. وارتفع الإصدار إلى 2.9.0beta3 في تلك الفترة أيضًا.
كما سترون بالفعل (ولكن ربما لم يرها شخص ما)، هذا هو الفرق لـ Discourse Encrypt بين الإصدار الذي أقوم بتشغيله الآن والإصدار الأخير اعتبارًا من هذه الرسالة.
أيضًا، لم يستغرق الأمر حقًا حتى ما يقرب من الساعة 4 صباحًا للإصلاح. كان كل شيء على ما يرام قبل الساعة 2 صباحًا بقليل، ولكن بعد ذلك اضطررت إلى إخبار الناس بما حدث (معظم مستخدمينا في الولايات المتحدة).
@david لقد قمت بالترقية إلى 2.9.0.beta3 مما تسبب في المشكلة.
فيما يتعلق بعملية الترقية، أقوم بذلك عادةً عبر واجهة المستخدم /admin/upgrade. كانت هذه الحالة مختلفة.
لقد قمت فقط بترقية docker-manager من واجهة الترقية. بعد ذلك، اضطررت للتعامل مع بعض الأشياء الأخرى، وزرت المسار /admin/upgrade بعد ساعات قليلة لإكمال عملية الترقية.
واجهت صفحة نصية تخبرني بالذهاب إلى المضيف، وتغيير الدليل إلى /var/discourse، وتشغيل git pull وإعادة بناء التطبيق باستخدام ./launcher… لذلك فعلت ذلك، ثم حدثت الفوضى.
بينما كان التوتر والأعصاب مرتفعين، وجدت شيئًا ما في هذا المنتدى حول خطأ TypeError غير الملتقط المتعلق بمكون إضافي، لذلك قمت بإزالة كل ما هو غير ضروري من المكونات الإضافية في app.yml وأعدت بناء الحاوية. عند تلك النقطة، بدأ تطبيق ember في العمل مرة أخرى.