Tengo un problema al incrustar GIFs personalizados (creados con ScreenToGif) en publicaciones de Discourse. Cuando incrusto un GIF, funciona un momento y luego se congela en el primer cuadro, por ejemplo:
Parece funcionar como se espera en la vista previa de la publicación. Y cuando abro el GIF subido en una nueva pestaña, también funciona allí. Solo se congela en el propio Discourse.
He probado cuatro soluciones alternativas:
Subir el GIF a otro sitio web (por ejemplo, un bucket de S3) y luego enlazarlo. Esto funciona hasta que el bot del sistema lo descarga localmente, momento en el cual se vuelve a congelar.
También pensé que esto podría tener algo que ver con el redimensionamiento, así que intenté eliminar el formato Markdown de la imagen, por ejemplo:
Dado que el GIF funcionaba cuando seguía el enlace a una nueva pestaña, intenté reemplazar el URI abreviado “upload” con la URL completa de la imagen subida, por ejemplo:
Finalmente, pensé que el problema podría tener algo que ver con la interpretación del código Markdown por parte de Discourse, así que intenté usar una etiqueta de imagen HTML en bruto con la URL completa de la imagen subida:
Por desgracia, nada funcionó. Si yo controlara el foro donde quiero publicar, sé que podría desactivar las descargas locales. ¡Pero por desgracia, no lo hago!
Dado que funciona aquí pero no en tu sitio, te sugiero que realices una reconstrucción de tu sitio e intentes de nuevo. Hemos realizado muchos cambios recientes relacionados con los GIF. Durante algunos periodos tuvimos errores como el que describes, y es posible que tu sitio esté en una versión afectada.
Definitivamente no es un problema de tamaño de archivo, sino un archivo “malformado” que gifscicle está corrigiendo. Es común ver que algunas herramientas generan archivos incorrectos. Siempre paso mis GIFs a una buena herramienta como ffmpeg antes de compartirlos. Pero incluso así, puedes obtener fácilmente un archivo malformado si las dimensiones son impares, por ejemplo.
GIF es un formato complicado, y hoy en día hay mejores opciones como MP4 y WEBP para la mayoría de las aplicaciones.
Todos los GIFs en este tema se muestran animados para mí (Chrome en Arch Linux), pero la versión actual de FastImage indica que no están animados debido a este error.
Por si sirve de algo, he encontrado un par de casos en los que gifsicle no funciona. Específicamente, a veces es necesario usar --colors 256 para obtener un GIF funcional. Pero en otras ocasiones, es imprescindible omitir esa opción.