الموقع معطل بسبب ترقية ember 5

مبكر جدًا!

لقد فاتني تمامًا الإعلان عن هذا التغيير لأنه اختلط مع عطلة الشتاء، وبصفتي هاويًا، لا أقرأ هذا المنتدى بانتظام. لم ألاحظ إلا عندما أدى تحديث اليوم إلى تعطل الموقع. الآن ليس لدي طريقة للعودة لأن EMBER_VERSION معطل بالفعل، وليس لدي طريقة للمضي قدمًا لإصلاح أي شيء يحتاج إلى إصلاح لأنني لا أستطيع رؤية تحذيرات الإهمال (التي لم تظهر في المرة الأخيرة التي اضطررت فيها إلى القيام بصيانة نشطة، قبل العطلات)، وليس أنني أعرف الكثير عن Ember على أي حال.

هذا يجعلني أفكر بجدية في استخراج قاعدة البيانات والانتقال إلى حل منتدى مختلف، حيث يكون الإصدار الافتراضي آمنًا للاستخدام للهواة الذين لا يستطيعون مراقبة منتديات المطورين مثل الصقر.

هل يمكن لأي شخص التفكير في حل آخر، بالنظر إلى أنني لا أعرف ما الذي يكسر Ember 5 أو لماذا؟ وحدة تحكم JavaScript غير مفيدة.

إعجابَين (2)

في الواقع، وحدة تحكم جافاسكريبت مفيدة جدًا عادةً.

ربما كنت تفضل stable ولكن الوقت متأخر قليلاً الآن، أقدر ذلك.

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

العديد من المكونات الإضافية الشائعة ومكونات السمات متوافقة بالفعل.

إعجابَين (2)

إنها تقول فقط “Ember not found”، والشاشة عبارة عن أيقونة تحميل لا نهائية.

لقد قمت بتثبيت الإصدار الافتراضي القياسي من Digital Ocean لـ Discourse. لم يُسألني في أي وقت عن الفرع الذي أريده، وافترضت أن ذلك سيضعني على إصدار LTS. إن طرح ميزة معطلة ثم جعلها مطلوبة في غضون شهرين ليس ما أعتبره LTS؛ في ووردبريس أو لينكس، لن تفعل ذلك حتى للإصدارات غير LTS. يرجى تغيير هذا لجميع قطرات DigitalOcean الجديدة ووضع تحذير بأن الهواة يجب أن يبتعدوا.

ستكره هذه الإجابة، لكن DigitalOcean تفعل ما تريده DigitalOcean وهو خارج عن إرادة الآخرين. لذا يجب أن تسألهم عن ذلك.

ويتم التحذير دائمًا في كل مكان خارج DigitalOcean من عدم استخدام التثبيت الخاص بهم.

3 إعجابات

من الخطأ في وحدة التحكم، يمكنك عادةً معرفة من أي مكون سمة تم إصدار الخطأ. هل يمكنك لصق الخطأ بالكامل هنا (مع توسيع الخطأ)، أو إذا كان ذلك ممكنًا، هل تمانع في مشاركة عنوان URL لمنتدى الخاص بك هنا (أو عبر رسالة خاصة إذا كنت تفضل ذلك)؟

3 إعجابات

تحتاج إلى التحدث مع DO إذن :slight_smile:

وبينما أنت على ذلك، في التثبيت القياسي (وليس إصدار DO) tests-passed (الافتراضي) ليس LTS، بل stable هو. أعتقد أن CDCK تحاول تشجيع هذا الافتراضي لأنه يستفيد من المجتمع لاختبار أحدث إصدار. أعتقد أن هذا مقابل معقول للحصول على برنامج مجاني؟ ولكن لديك الخيار.

إعجابَين (2)

قد يساعد الوضع الآمن (safe-mode). ربما يمكنك تعطيل السمات (themes) التي بها خلل.

أرى أنني فعلت شيئًا لك منذ سنوات. كنت سأرى ما إذا كان بإمكاني العثور على حل سريع، لكن ليس لدي حساب على موقعك بعد الآن.

3 إعجابات

يجب أن يعمل الوضع الآمن على أي حال، هل جربته، عندها يمكنك عزل القالب أو المكون الإضافي للمشكلة

من الصعب جدًا المساعدة دون أي معلومات إضافية

ما هي القوالب التي تستخدمها؟ ما هي المكونات الإضافية؟ أي منها معطل؟

3 إعجابات

مرحباً @Judith

أنا آسف حقاً لأن هذا قد فاجأك. :cry: لقد قمت بفصل هذا إلى موضوع مخصص خاص به حتى نتمكن من التركيز على إعادتك للعمل مرة أخرى.

هل أحرزت أي تقدم؟ :crossed_fingers:

3 إعجابات

شكراً للجميع!

لقد حددت الإضافات المعطلة على أنها المسؤولة عن إرسال إشعارات الدفع من Discourse إلى أجهزة iPhone (حيث لا تعمل الطريقة القياسية لـ Discourse)، وهي GitHub - featheredtoast/discourse-pushover-notifications: Pushover notifications for Discourse من @featheredtoast بالإضافة إلى GitHub - Sprachprofi/discourse-fcm-notifications: Send Discourse push notifications through FCM to any custom app الخاصة بي. كود Ember متطابق في كليهما وبسيط جدًا، فقط حقلان إضافيان في لوحة الإدارة وحقل إضافي واحد في ملف تعريف المستخدم، مع فحوصات حول ما إذا كانت إشعارات الدفع نشطة بالفعل أم لا. نظرًا لأن إيقاف تشغيل مفتاح EMBER_VERSION يعني أنني لا أستطيع رؤية أي تحذيرات إهمال أو رسائل خطأ قد تساعدني في تحديد أي من تلك الأسطر القليلة يمثل مشكلة، فقد طلبت من Github Copilot تقديم المشورة بشأن ما قد يكون تغير بين Ember 3 و Ember 5 وأنا أجرب تلك الاقتراحات. إذا كانت لديك أفكار، فأنا أسمع.

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

  • وضع أشخاص غير تقنيين على الإصدار passed-tests بدلاً من LTS افتراضيًا
  • تفاقم ذلك بعدم ذكر إمكانية وضع نفسك على إصدار أكثر استقرارًا في دليل التثبيت الرسمي؛ إنه معروف فقط للمطلعين على المنتدى الذين يفترض أنهم يحتاجون إليه بشكل أقل
  • جعل التراجع إلى إصدار سابق وعامل مستحيلًا
  • تفاقم ذلك من خلال ضمان أن التوافق الخلفي للمشروع أقل من شهرين، من خلال الإزالة المتعمدة لعلامة EMBER_VERSION. المشاريع الأخرى لديها توافق خلفي لمدة عام، وهذه مشاريع يكون فيها أيضًا من الممكن التراجع إلى إصدارات أقدم.
إعجابَين (2)

بالنسبة للمكون الإضافي الخاص بك، أعتقد أن المشكلة (الوحيدة؟) هي أنك تستخدم مكون Ember عام
export default Ember.Component.extend({

والذي يجب إعادة هيكلته إلى

import Component from "@ember/component";
export default Component.extend({

(سيكون من الأفضل إعادة هيكلته إلى صيغة الفئة ولكن هذا ليس ضروريًا لإعادة تشغيل موقعك)

تجدر الإشارة إلى أن ChatGPT قادر على اكتشاف مثل هذه الأمور.

4 إعجابات

نعم، أتفق مع @RGJ. بناءً على خطأ “Ember not found” المذكور أعلاه، فإن المشكلة الأكثر احتمالاً هي إهمال ‘ember-global’. مزيد من التفاصيل حول ذلك هنا (مرتبط بـ الإعلان الأصلي). في هذه الإضافات، يبدو أن هذا يُستخدم لـ Ember.Component، وكذلك لبعض استدعاءات Ember.computed.*.

إليك بعض طلبات السحب السريعة. من الممكن أن تكون هناك مشكلات أخرى ستظهر بعد إجراء هذا الإصلاح، لكنني لا أرى شيئًا واضحًا عند تصفح كود JavaScript.

شكرًا على ملاحظاتك بشأن عملية الطرح! نحن نعمل باستمرار على تحقيق التوازن الصحيح بين التقدم والاستقرار. بالتأكيد سنأخذ ما تعلمناه من هذه العملية ونطبقه على مشاريع الترقية/إعادة الهيكلة المستقبلية.

10 إعجابات

شكراً @david! لقد قمت بتعطيل إشعارات Pushover حاليًا لتقليل مساحة الخطأ وسحبت أحدث إصدار من إضافة Discourse FCM Notifications، ولكن بناءً جديدًا لا يزال يعطيني خطأ “Ember not defined”.

للعلم، كان اقتراح Copilot هو:

الجزء المتعلق بـ set / setProperties يبدو خاطئًا - لقد تحققت من أن هذه الدوال لا تزال موجودة في Ember 5. أيضًا، تغيير this._super إلى super لم ينجح، وأعطى رسالة خطأ أثناء التجميع. لقد تغيرت صيغة computed أيضًا الآن، فهي حاليًا ليست الأصلية ولا تلك التي أوصى بها Copilot. لذلك نفدت أفكاري حول ما قد يكون قد تغير أيضًا في Ember 5. أنا لا أستخدم Ember في أي من مشاريعي الأخرى.

هل لديك أي أفكار أخرى؟

3 إعجابات

أنا آسف جدًا، هذا خطئي - لقد فاتني مكان ما :facepalm:. هذا يجب أن يفي بالغرض: Fixup Ember.Component usage by davidtaylorhq · Pull Request #2 · Sprachprofi/discourse-fcm-notifications · GitHub

نعم، أعتقد أن الذكاء الاصطناعي يمكن أن يواجه صعوبة في التمييز بين الأنماط الجديدة غير الضرورية (مثل بناء جمل الفئات الأصلية، this.set/get، إلخ) وإصلاحات الإهمال الأساسية. يمكن أن تكون اقتراحات الذكاء الاصطناعي مفيدة، ولكن فقط إذا كان لديك سياق كافٍ لمعرفة ما يجب الوثوق به/تجاهله.

شخصيًا، سأذهب دائمًا إلى مصدر موثوق به مثل \u003chttps://deprecations.emberjs.com/v3.x\u003e أولاً.

7 إعجابات

الموقع عاد للعمل الآن! شكراً جزيلاً لمساعدتي في إصلاح هذا في الوقت الفعلي!!! أقدر ذلك حقًا.

@featheredtoast يرجى أيضًا قبول طلب السحب حتى تكون المنتديات التي تستخدم إشعارات Pushover آمنة للتحديث أيضًا.

5 إعجابات

تم دمج تصحيحات إشعارات Pushover أيضًا اعتبارًا من اليوم :white_check_mark:

9 إعجابات

تم إغلاق هذا الموضوع تلقائيًا بعد 3 أيام. لم يعد يُسمح بالردود الجديدة.