ملاحظات إصدار Discourse 2.4.0.beta6

ميزات جديدة في 2.4.0.beta6

تصميم جديد لصناديق GitHub

تم إعادة تصميم روابط صناديق GitHub الآن لتظهر الرمز المناسب للإشارة إلى طلب سحب (PR)، أو التزام (commit)، أو مشكلة (issue)، وما إلى ذلك.

راجع الروابط أدناه للحصول على أمثلة:

دعم مفتاح الأمان/Webauthn

يمكنك الآن استخدام مفتاح Yubikey (أو أي جهاز أمان آخر يدعم Webauthn) لتأمين حساباتك في Discourse.

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

لمزيد من السياق حول مواصفات هذه الميزة، راجع الموضوع أدناه:

30 إعجابًا

المزيد من التحسينات!

لكن انتظر، هناك المزيد! نبذل قصارى جهدنا لإبراز الميزات الجديدة والتغييرات من أجلك، لكن هناك دائمًا تغييرات كثيرة جدًا لا يمكن تفصيلها جميعًا. للحصول على قائمة كاملة بالميزات الجديدة وإصلاحات الأخطاء وتحسينات تجربة المستخدم (UX) والمزيد، تأكد من مراجعة “الميزات والإصلاحات الإضافية” المدرجة أدناه.

تحديثات الأمان

يتضمن هذا الإصدار التجريبي 3 إصلاحات أمنية للمشكلات التي أبلغ عنها مجتمعنا و HackerOne.

  • فك ضغط النسخ الاحتياطية بأمان عند الاستعادة.
  • تم تمكين مقيّم الأداء المصغر (Mini profiler) بشكل غير صحيح للمسؤولين.
  • فك ضغط الملفات بأمان. (#8124)

تحسينات الإضافات

discourse-checklist

  • التبديل الصحيح لصناديق الاختيار عند استخدامها مع محررات النص أو كتل الكود.
  • إصلاح صناديق الاختيار قبل تسلسلات الخط المائل/الغامق.

discourse-adplugin

  • إعادة تسمية مسارات الإعلانات المنزلية بحيث لا تكتشفها برامج حظر الإعلانات.

discourse-patreon

  • تحسين أداء الاستعلامات إلى واجهة برمجة تطبيقات Patreon.

discourse-voting

  • تحديث عدد أصوات المستخدم عند حذف المواضيع أو استعادتها.
  • إعلام المستخدم بعدد الأصوات التي تم نقلها.

discourse-cakeday

  • إصلاح مشكلة مربع الاختيار عند البحث عن تاريخ في محدد تاريخ الميلاد.

discourse-zendesk-plugin

  • إعادة المحاولة لاحقًا إذا لم تكن واجهة برمجة التطبيقات تنشئ تذكرة جديدة.

الميزات والإصلاحات الإضافية

انقر للتوسيع

ميزات جديدة

  • دعم خيار --fast-fail في bin/turbo_rspec
  • تحميل Pretenders في الإضافات أيضًا. (#8173)
  • عرض تواريخ الإنشاء وlast_used لمفاتيح واجهة برمجة التطبيقات (API keys).
  • إضافة إعداد موقع لعرض رسائل خطأ 404 أكثر تفصيلاً. (#8014)
  • استخدام إعادة توجيه الصفحة الكاملة لجميع طرق المصادقة الخارجية (#8092)
  • دقة مراجعة المستخدمين المرجحة (#8156)
  • يكون للمستخدمين غير الدقيقين دقة مراجعة سلبية.
  • إضافة طبقة حماية إضافية عند فك ضغط الملفات.
  • السماح بتشغيل UploadRecovery على منشور واحد (#8094)
  • إضافة سياق الموضوع والفئة إلى حمولة (payload) ويب هوك المنشور (#8110)

إصلاحات الأخطاء

  • سكريبت Downsize_uploads
  • عدم الفشل عند عدم وجود دليل (directory) للتجريد.
  • أثناء توليد البريد الإلكتروني المتزامن، لا يجب إعادة استخدام الريندر (renderer).
  • ترتيب حقول المستخدم (UserFields) حسب الموضع، افتراضيًا (#8176)
  • ترتيب حقول المستخدم في الموقع حسب الموضع.
  • ترتيب حقل المستخدم حسب الموضع للموقع.
  • عدم إخفاء الخطأ الأصلي عند نقل المنشورات.
  • شهادات بوت السرد (Narrative Bot) هي قوالب ERB (#8174)
  • وضع الجدول الزمني للموضوع على جهاز iPad.
  • قد تمنع توقيتات المنشورات الموجودة نقل المنشورات.
  • زيادة إصدار المترجم (Compiler Version).
  • تقليل عدد المنشورات المقروءة عند تدمير توقيتات المنشور (#8172)
  • إزالة خيار إعداد الموقع ‘shadowed-by-global’ (#8061)
  • عدم إعادة تعيين موضع التمرير الأصلي في iOS إلى الصفر.
  • سكريبت Downsize_uploads لدعم التخزين الخارجي.
  • تخزين user_accuracy_bonus لتوضيح التفسيرات.
  • إصلاح أمر rake db:create بعد تغييرات zeitwerk.
  • حل للهجرات المعلقة في bin/turbo_rspec.
  • تحديث gem discourse-ember-source (#8167)
  • إضافة حشوة (padding) للجوال إلى أسفل شاشة تفضيلات المستخدم.
  • التحقق من تعارضات الفئات في تحققيات SiteSetting (#8137)
  • عدم السماح بدراسة مراجعة قابلة (reviewable score) سلبية حتى لو جعلت الدقة النتيجة سلبية.
  • التأكد من وجود push_url قبل إجراء مكالمة واجهة برمجة تطبيقات إشعار الدفع.
  • تصغير حجم الصورة بشكل صحيح عند الرفع.
  • لم يعد مهمة Maxminddb:get تعمل.
  • أخطاء ناتجة عن الالتباس بين trustLevel و trust_level (#8149)
  • تحديث عدد أصوات المستخدم عند حذف/استعادة الموضوع (#8144)
  • تصحيح موضع تقدم الموضوع في تطبيق iOS عند ظهور المحرر.
  • كسر Rubocop بسبب سطر فارغ في application.rb (#8148)
  • تحميل مسار lib/ تلقائيًا لـ Sidekiq (#8147)
  • التأكد من بقاء العنصر الأب للرسم البياني موجودًا قبل العرض (#8145)
  • EmojiOne هي الآن JoyPixels (#8142)
  • المنشور الأول صحيح إذا أنشأ المستخدم الموضوع أولاً (#8139)
  • عرض المحرر فوق شريط تنسيق تطبيق DiscourseHub على iPad.
  • تطبيق حساب ارتفاع محرر Visual Viewport في iOS فقط.
  • تعزيز DistributedMutex.
  • استثناء مع triggerRefresh وقائمة الفئات الفرعية (#8131)
  • استخدام مسار الهجرات لـ post_migrate (#8133)
  • إعادة Demon::DemonBase إلى Demon::Base (#8132)
  • محاولة مطابقة إعادة تعيين الدليل المتقدم أولاً (#8048)
  • منع تحديث عدد مرات قراءة المنشور عند عدم وجود منشور (#8128)

تغييرات تجربة المستخدم (UX)

  • إضافة رمز (glyph) إلى زر “المساعدة” في نافذة إعادة تعيين كلمة المرور.
  • تشغيل الإجراء الأساسي في النوافذ المنبثقة باستخدام مفتاح Enter.
  • استخدام ألوان السمة لملصقات قضايا GitHub.
  • نافذة منبثقة أفضل للروابط التشعبية في المحرر (#8160)
  • إعادة هيكلة تخطيط محرر iOS.
  • التوقف عن استخدام خط ثابت العرض لعرض وصف قضية GitHub.
  • تقليل حجم أيقونات Onebox الخاصة بـ GitHub.
  • إزالة إعداد لوحة مفاتيح iPad من iOS 13.
  • إصلاح موضع تقدم الموضوع في تطبيق iOS.
  • إدخال الاسم عند إنشاء مصادق جديد (#8153)
  • إضافة “مسودات” إلى تبويب الملف الشخصي للوصول السريع. (#8155)
  • تقييد ارتفاع النافذة المنبثقة الطويلة إلى نسبة من منطقة العرض (viewport).
  • إصلاح تخطيط المحرر في Android.
  • تشغيل تغيير حجم المحرر عند إخفاء لوحة المفاتيح في iPad.
  • تجاوز الإكمال التلقائي لمتصفح Chrome عند تحرير حقول نص المسؤول.
  • عرض مرات القراءة/الإعجابات بنفس ترتيب أزرار قائمة المنشور (#8140)
  • تخطيط محرر كامل منطقة العرض (viewport) على iPad.

الأداء

  • تجنب التعبير النمطي (regex) للمسار الحار (hot path).
  • إعادة استخدام الريندر (renderer) عند عرض قوالب البريد الإلكتروني.
  • تسريع وقت عرض صفحة “حول” والحد من مشرفي الفئات.
25 إعجابًا