From 5aba3bb9e287ab4f07f4043961b55b226cf94673 Mon Sep 17 00:00:00 2001 From: Allan Guwatudde Date: Wed, 15 Dec 2021 19:07:24 +0300 Subject: [PATCH] Improve gif processing (#19164) * Improve gif processing * feedback impl --- app/file.go | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/app/file.go b/app/file.go index ed271ff9be..14e5ddee5d 100644 --- a/app/file.go +++ b/app/file.go @@ -11,7 +11,6 @@ import ( "encoding/base64" "fmt" "image" - "image/gif" "io" "mime/multipart" "net/http" @@ -830,13 +829,11 @@ func (t *UploadFileTask) preprocessImage() *model.AppError { // For animated GIFs disable the preview; since we have to Decode gifs // anyway, cache the decoded image for later. if t.fileinfo.MimeType == "image/gif" { - gifConfig, err := gif.DecodeAll(io.MultiReader(bytes.NewReader(t.buf.Bytes()), t.teeInput)) - if err == nil { - if len(gifConfig.Image) > 0 { - t.fileinfo.HasPreviewImage = false - t.decoded = gifConfig.Image[0] - t.imageType = "gif" - } + image, format, err := t.imgDecoder.Decode(io.MultiReader(bytes.NewReader(t.buf.Bytes()), t.teeInput)) + if err == nil && image != nil { + t.fileinfo.HasPreviewImage = false + t.decoded = image + t.imageType = format } }