Gifs incorporati nei post in pausa dopo il download locale

Ciao,

Sto riscontrando un problema nell’inserimento di GIF personalizzate (create con ScreenToGif) nei post di Discourse. Quando inserisco una GIF, funziona per un istante poi si blocca sul primo fotogramma, ad esempio:

Sembra funzionare come previsto nell’anteprima del post. E quando apro la GIF caricata in una nuova scheda, funziona anche lì. Si blocca solo all’interno di Discourse.

Ho provato quattro soluzioni alternative:

  1. Caricare la GIF su un altro sito web (ad esempio un bucket S3), quindi collegarci. Funziona finché il bot di sistema non la scarica localmente, momento in cui si blocca di nuovo.

  2. Ho anche pensato che potesse essere legato al ridimensionamento, quindi ho provato a rimuovere la formattazione markdown per l’immagine, ad esempio:

    ![](upload://4IHl8zz0sJiYl5Vm3H21YTEFo9z.gif)
    

    invece di:

    ![example|690x383](upload://4IHl8zz0sJiYl5Vm3H21YTEFo9z.gif)
    
  3. Poiché la GIF funzionava quando ho seguito il link in una nuova scheda, ho provato a sostituire l’URI abbreviato “upload” con l’URL completo dell’immagine caricata, ad esempio:

    ![example|690x383](https://d11a6trkgmumsb.cloudfront.net/original/3X/2/1/211635b9ae2b0960e8e135299b3a91189b00c289.gif)
    
  4. Infine, ho pensato che il problema potesse essere legato all’interpretazione del codice markdown da parte di Discourse, quindi ho provato a usare un tag HTML immagine crudo con l’URL completo dell’immagine caricata:

    <img src="https://d11a6trkgmumsb.cloudfront.net/original/3X/2/1/211635b9ae2b0960e8e135299b3a91189b00c289.gif">
    

Purtroppo, nulla ha funzionato. Se avessi il controllo sul forum in cui vorrei pubblicare, so che potrei disabilitare i download locali. Ma purtroppo non è così!

Visto che funziona qui ma non sul tuo sito, ti consiglio di eseguire una ricostruzione del tuo sito e riprovare. Abbiamo apportato molte modifiche recenti relative ai GIF. Per alcuni periodi abbiamo avuto bug come quello da te segnalato e il tuo sito potrebbe trovarsi in una versione interessata.

Non credo sia quello il problema. Per me non funziona qui. Posso vedere solo il primo fotogramma.

È possibile che ci sia qualche altra impostazione predefinita di Chrome che sta interferendo?

Oh, riesco a riprodurlo su Chrome. Che strano.

Originale

Ottimizzato tramite Gifscicle
weird_optimized

Dopo averlo elaborato con Gifscicle, funziona:

Grazie per aver riprodotto il problema. Quale comando gifcicle hai eseguito per ottimizzare?

È semplice:

gifscicle original.gif -o fixed.gif

A proposito, Discourse include il supporto per l’autoplay di mp4 e WEBP, che potrebbero darti risultati migliori!

Non credo sia una questione di dimensione del file, perché ho provato con gif molto più grandi e più piccole, senza successo.

Ottimo, lasciami vedere se questo funziona con i miei veri GIF. Aggiorno appena ho finito.

Di sicuro non è una questione di dimensioni del file, ma di un file “malformato” che gifscicle sta correggendo. È comune vedere alcuni strumenti creare file errati. Io passo sempre i miei GIF a uno strumento affidabile come ffmpeg prima di condividerli. Ma anche in quel caso, puoi facilmente ottenere un file malformato, ad esempio se le dimensioni sono dispari.

Il formato GIF è complesso, e oggi esistono opzioni migliori come MP4 e WEBP per la maggior parte delle applicazioni.

Ha funzionato per tutti i miei GIF. In alcuni casi ho dovuto anche aggiungere il flag --colors 256.

Per chi si chiedesse, ho generato i GIF originariamente buggati con il generatore di GIF “Neural Network” di ScreenToGif.

Grazie per il tuo aiuto @Falco

@nbianca hai qualche idea sul motivo per cui la miniatura del GIF non è animata? Sembra che il GIF originale sia ben entro i limiti.

È animato su Firefox. O si tratta di un GIF malformata o di un bug di Chrome.

Per me non è animato nell’ultima versione di FF su Windows 10.

Interessante! Ecco come appare per me su Linux: Firefox a sinistra, Chrome a destra:

Tutti i GIF in questo argomento sono animati per me (Chrome su Arch Linux), ma l’attuale versione di FastImage afferma che non sono animati a causa di questo bug.

In tal caso dovremmo spingere per unire il più presto possibile :+1:

Per quanto ne so, ho trovato un paio di casi in cui gifsicle non funziona. Nello specifico, a volte è necessario usare --colors 256 per ottenere un gif funzionante. Altre volte, invece, è necessario omettere il flag.

Ciao,

La correzione per il tuo problema è stata accettata ed è ora disponibile nell’ultima versione.