From 9a8a9693fbf02649e702e24cb3a6d0b0f6690303 Mon Sep 17 00:00:00 2001 From: Antoine Aflalo <197810+Belphemur@users.noreply.github.com> Date: Tue, 9 Sep 2025 11:37:13 -0400 Subject: [PATCH] fix(webp): fix installing newer version of webp --- .vscode/launch.json | 7 +++++++ pkg/converter/webp/webp_provider.go | 17 +++++++++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 0d285e8..9e238de 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -4,6 +4,13 @@ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ + { + "name": "Launch file", + "type": "go", + "request": "launch", + "mode": "debug", + "program": "${file}" + }, { "name": "Optimize Testdata", "type": "go", diff --git a/pkg/converter/webp/webp_provider.go b/pkg/converter/webp/webp_provider.go index a501791..1766178 100644 --- a/pkg/converter/webp/webp_provider.go +++ b/pkg/converter/webp/webp_provider.go @@ -1,10 +1,13 @@ package webp import ( - "github.com/belphemur/go-webpbin/v2" + "fmt" "image" "io" + "strings" "sync" + + "github.com/belphemur/go-webpbin/v2" ) const libwebpVersion = "1.6.0" @@ -15,8 +18,18 @@ func PrepareEncoder() error { prepareMutex.Lock() defer prepareMutex.Unlock() container := webpbin.NewCWebP(webpbin.SetLibVersion(libwebpVersion)) - return container.BinWrapper.Run() + version, err := container.Version() + if err != nil { + return err + } + + if !strings.HasPrefix(version, libwebpVersion) { + return fmt.Errorf("unexpected webp version: got %s, want %s", version, libwebpVersion) + } + + return nil } + func Encode(w io.Writer, m image.Image, quality uint) error { return webpbin.NewCWebP(webpbin.SetLibVersion(libwebpVersion)). Quality(quality).