Новые оптимизации изображений на стороне клиента для Discourse

Почти 5 лет назад мы внедрили оптимизацию изображений на стороне клиента, чтобы позволить пользователям загружать изображения, превышающие установленные для сайта лимиты, экономить полосу пропускания при загрузке, освободить место в хранилище сообщества и в целом сделать работу с изображениями в Discourse более отзывчивой.

Развивая эту идею, мы представили новую систему Предстоящие изменения, которая добавляет несколько новых возможностей в существующую систему:

Конвертация GIF в анимированный WEBP

Конвертация больших GIF-файлов уже давно была в нашем планах и обсуждениях. Теперь они автоматически конвертируются в анимированный WebP, размер которого в среднем вдвое меньше оригинала:

1ueX9IP
(2,5 МБ GIF → 1 МБ WEBP)

output
(10,1 МБ GIF → 4,8 МБ WEBP; такой файл не был бы разрешён по умолчанию в Discourse из-за размера)

Конвертация HEIC

В 2020 году мы добавили поддержку формата HEIC с помощью серверной конвертации. Теперь также поддерживается обработка таких файлов непосредственно в редакторе, что позволяет пользователю увидеть результат конвертации до отправки сообщения. Серверная конвертация осталась в качестве резервного варианта на случай, если клиентская не сработает по какой-либо причине.


(3,4 МБ HEIC → 650 КБ JPG)

Конвертация JXL

Хотя поддержка формата JXL в браузерах ещё не полностью реализована, пользователи теперь могут загружать файлы JXL в Discourse, где они автоматически конвертируются в JPG, чтобы изображение могли увидеть все пользователи.


(1,1 МБ JXL → 930 КБ JPG)

7 лайков