وتمكنت أيضًا من إعادة إنتاج هذه المشكلة في منتدى العرض التوضيحي.
يحتوي هذا المنشور على مقتطفات طويلة من التعليمات البرمجية المنسوخة - لكي نكون أكثر تحديدًا، ليست تعليمات برمجية بالضبط ولكنها بالأحرى مخرجات من تشغيل الأوامر. هذا حالة استخدام شائعة جدًا في منتديات الدعم حول البرامج وأجهزة الكمبيوتر.
أثناء كتابة المنشور، بعد لصق الكتل النصية الطويلة (التي ليست طويلة جدًا في الواقع، مجرد بضع مئات من الأسطر)، أصبح المحرر أبطأ وأبطأ أثناء الكتابة. استغرق الأمر وقتًا لرؤية الأحرف التي أكتبها تظهر على الشاشة (وأنا لا أتحدث عن المعاينة المباشرة، فقط مربع النص الذي تكتب فيه). يصبح غير قابل للاستخدام بشكل أساسي.
أرى أن هذا المنتدى متأخر في التحديثات. في الأسبوع الماضي، قمت بدمج تغيير يقوم بتحديث مكتبة HighlightJS إلى أحدث إصدار لها، مما سيجعل هذا أسرع بكثير.
أيضًا، يحتوي مثيل https://forum.manjaro.org على الإعداد autohighlight all code، وهو ليس فكرة جيدة لمنتدى دعم حيث ستكون معظم المشاركات التي تحتوي على كتل التعليمات البرمجية عبارة عن ملفات سجل بسيطة وليست تعليمات برمجية فعلية. أقترح على فريقهم تعطيل ذلك في أسرع وقت ممكن.
بخلاف ذلك، فإن تمييز أكثر من 10 آلاف سطر من التعليمات البرمجية في مؤشر المتصفح الرئيسي سيكون بطيئًا بشكل ملحوظ على بعض الأجهزة، وهو أمر سهل للغاية رؤيته عند فتح فرق GitHub على هاتف Android. لدينا خطط لجعل ذلك يحدث في عامل JavaScript في الخلفية، ولكن له بعض العيوب ولم نصل إليه بعد.
أوه، خطئي. في الصفحة الرئيسية رأيت زرًا كبيرًا “جربه مجانًا”، مما يوحي بأنه يمكنك فقط تجربته مجانًا، وفي قسم التسعير لم يكن هناك ذكر لخطة مجانية. كان يجب أن أبحث أكثر، أعتقد أن تلك خطط مستضافة أو شيء من هذا القبيل.
نعم، لقد لاحظت ذلك بالفعل وخمنت أنه ربما كان خطأ في التكوين من جانبهم، ولكن هذا ليس ذا صلة بالمشكلة. كان بإمكاني لصق مقتطف متساوٍ من كود جافاسكريبت شرعي. أو حتى إذا كانت المشكلة تحدث بالفعل فقط من خلال تمييز الكود بالصيغة الخاطئة، فإن ذلك لا يبرر أن المحرر خارج الكود يصبح بطيئًا.
تمييز أكثر من 10 آلاف سطر من الكود في خيط المتصفح الرئيسي سيكون بطيئًا بشكل ملحوظ على بعض الأجهزة
نعم، ولكن لا يوجد سبب لحدوث ذلك أثناء تحرير بقية المنشور خارج كتلة الكود التي تم تمييزها. بغض النظر عما إذا كنت تفعل ذلك في الخيط الرئيسي (من الواضح أنه خطأ - يسعدني أن أسمع أنك تعمل على إصلاح ذلك) أو في الخلفية، بمجرد تمييز الكود ولم أعد أقوم بتحريره، لا ينبغي أن يكون هناك أي عمل متعلق بالتمييز ليتم القيام به على الإطلاق. أي تحليل، حسابات، إلخ، متعلقة بالتمييز تحتاج فقط إلى إعادة القيام بها إذا قمت بتعديل محتويات كتلة الكود.