У нас много пользователей с устройствами Apple и/или браузерами на базе WebKit, которые сообщают о проблемах при прокрутке тем, из-за чего форум становится непригодным для использования.
Пример, записанный на видео здесь.
После тщательного анализа выяснилось, что наиболее вероятной причиной является то, как WebKit… как бы это помягче сказать… ужасно справляется с изменением размера изображений.
Однако это также привело к тому, что я обратил внимание на то, как отображаются эмодзи в обработанном HTML, и хотел бы получить разъяснения, так как, возможно, я упустил какую-то конфигурацию, которую мог бы настроить для предотвращения этого.
На зелёном фоне показан исходный размер эмодзи.
На голубом/циановом/каком-то другом фоне — атрибуты по умолчанию, добавляемые Discourse при обработке контента.
На красном фоне — CSS, добавляемый моим плагином, который:
- импортирует эмодзи (их довольно много)
- добавляет кастомный CSS для их корректного отображения, так как они не все имеют размер «20 на 20»
Теперь я провёл простой тест. Из поля cooked в базе данных для этой темы я удалил все атрибуты width="20" height="20" и попросил пользователей снова попробовать открыть тему, прокручивать её, отвечать, даже если кто-то добавляет новые сообщения, но без использования эмодзи, чтобы не добавлять снова эти два атрибута в рендеримый HTML эмодзи.
Кажется, именно это вызывало проблемы в WebKit, так как все мои отчёты подтверждают, что после удаления этих двух атрибутов проблем с прокруткой больше нет.
Так вот, есть ли способ предотвратить добавление Discourse этих параметров? Почему Discourse предполагает, что каждый эмодзи будет размером «20x20», и, кроме того, принудительно устанавливает это через HTML-атрибуты вместо использования CSS?
Спасибо.

