Temos muitos usuários que usam dispositivos Apple e/ou navegadores baseados em WebKit que relatam problemas ao rolar os tópicos, a ponto de o fórum se tornar inutilizável.
Um exemplo, capturado em vídeo aqui.
Após muita investigação, parece que a causa mais provável é como o WebKit é… como posso dizer isso de forma branda… lixo no manuseio do redimensionamento de imagens.
No entanto, isso também levou à observação de como os emojis são renderizados no HTML cozido e eu gostaria de alguns esclarecimentos, pois talvez eu esteja perdendo alguma configuração que poderia ter feito para evitar isso.
Em verde, você pode ver o tamanho original do emoji.
Em azul/ciano/o que quer que seja, os atributos padrão adicionados pelo Discourse ao cozinhar o conteúdo.
Em vermelho, o CSS adicionado pelo plugin que escrevi que:
- importa os emojis (são muitos)
- adiciona alguns CSS personalizados para que eles renderizem corretamente, pois nem todos são “20 por 20”
Agora fiz um teste simples. Removi do campo cooked no banco de dados para esse tópico, todos os width="20" height="20" e pedi aos usuários para tentarem novamente e visualizarem o tópico, rolando, respondendo, mesmo que alguém esteja adicionando novas postagens, mas sem usar emojis para não injetar novamente esses dois atributos no HTML renderizado dos emojis.
Aparentemente, isso é o que estava causando os problemas no WebKit, pois todos os relatos que tenho confirmam que, agora que esses dois atributos foram removidos, não há problemas com a rolagem.
Portanto, há alguma maneira de impedir que o Discourse adicione esses parâmetros? Por que o Discourse assume que todo emoji terá “20x20” e, além disso, o impõe via atributo HTML em vez de usar CSS?
Obrigado

