تحسينات جديدة لصور جانب العميل لمنصة Discourse

قبل ما يقرب من 5 سنوات، قمنا بإدخال تحسين الصور من جانب العميل لتمكين المستخدمين من رفع صور أكبر من حدود الموقع، وتوفير عرض نطاق تحميل المستخدمين، وتوفير مساحة تخزين المجتمع، وجعل تجربة المستخدم مع الصور في Discourse أكثر سلاسة بشكل عام.

بناءً على ذلك، هناك تغييرات قادمة جديدة تتيح ميزات إضافية لهذا النظام:

تحويل GIF إلى WEBP متحرك

كان تحويل ملفات GIF الكبيرة ضمن اهتماماتنا منذ فترة طويلة، وآخرها، والآن يتم تحويلها إلى WebP متحرك، الذي يبلغ حجمه في المتوسط نصف حجم الملف الأصلي:

1ueX9IP
(2.5 ميجابايت GIF → 1 ميجابايت WEBP)

output
(10.1 ميجابايت GIF → 4.8 ميجابايت WEBP، وهو ما لن يُسمح به افتراضيًا في Discourse بناءً على الحجم)

تحويل HEIC

أضفنا دعمًا لملفات HEIC في عام 2020 عبر تحويلات من جانب الخادم، والآن ندعم أيضًا التعامل معها مباشرة في المحرر، مما يمنح المستخدم رؤية نتيجة التحويل قبل إرسال المنشور. حافظنا على عمل التحويل من جانب الخادم كبديل في حال فشل التحويل من جانب العميل لسبب ما.


(3.4 ميجابايت HEIC → 650 كيلوبايت JPG)

تحويل JXL

على الرغم من أن دعم المتصفحات لملفات JXL ليس جاهزًا بعد، إلا أن المستخدمين الآن قادرين على رفع ملفات JXL إلى Discourse وتحويلها تلقائيًا إلى JPG بحيث يتمكن كل مستخدم من رؤية الصورة.


(1.1 ميجابايت JXL → 930 كيلوبايت JPG)

37 إعجابًا

عظيم أن نرى تحسينات الكفاءة! لكن لماذا لا نستخدم صيغة WebP بشكل أكبر، على سبيل المثال في تحويلات JXL وHEIC، وخاصة في تحويلات/ضغط PNG؟ أقترح صيغة AVIF، لكن على عكس WebP، لا تزال مدعومة على نطاق واسع بشكل كافٍ حتى الآن حسب علمي.

يتم بالفعل تحويل صور HEIC و JXL التي تحتوي على شفافية إلى WebP بدلاً من JPG، وقد فكرت في استخدامها دائمًا، لكن هذا سيتطلب إضافة عدد كبير من إعدادات الموقع للسماح للمسؤولين بضبط السلوك بدقة، مما أثار ترددي.

نفس الشيء هنا.

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

6 إعجابات