You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
JPEG on Macs: Homebrew's jpeg-turbo is 3.2.0, so the documented path refuses every JPEG, and nothing warns at startup #1199
Homebrew ships another release.docs/vision.md:167 lists Homebrew's jpeg-turbo as a loader path, and jpeg.zig:77 looks in /opt/homebrew/opt/jpeg-turbo/lib. But brew info jpeg-turbo gives stable 3.2.0 today, so a Mac that follows the docs gets every JPEG refused as the wrong release.
Nothing warns before the first request. With --vision and no usable library, 1.1.2 starts without a word about JPEG. The first JPEG request gets a 400. capabilities --json reports "found": true for a Homebrew 3.2.0 install, because optional_libraries.zig:85 checks the loader only ("pinned codec versions … remain unchecked").
We read this from v1.1.2's source and brew info rather than serving against a Homebrew 3.2.0 install. What we ran: our Flash Next server (1.1.2) refused a JPEG with libturbojpeg.0.dylib is required for JPEG inputs until we added the library, then answered red, blue and green JPEGs correctly.
What worked for us, for anyone hitting this. We built 3.1.4.1 from the release's source tarball and put only the library beside the server:
On an M5 Ultra this built with NEON (no nasm needed on arm64), and all 332 of its tests passed. After that, capabilities --json reported it found, and JPEGs decoded.
Have capabilities --json check the pinned version, or report the version it found.
In docs/vision.md, say Homebrew's current jpeg-turbo is another release, and give a build recipe (or a release asset, if you'd want to ship the library).
Fixed on main in 8f3e823: the server now checks the JPEG and WebP decoders against their exact pinned versions at startup and warns there, and capabilities reports whether each codec is usable and why not, instead of the problem surfacing only when an image arrives. The exact pins are unchanged. Thanks, @sethforprivacy. It ships in the next release.
Activity
ashhart commentedon Oct 22, 2026
Fixed on main in 8f3e823: the server now checks the JPEG and WebP decoders against their exact pinned versions at startup and warns there, and
capabilitiesreports whether each codec is usable and why not, instead of the problem surfacing only when an image arrives. The exact pins are unchanged. Thanks, @sethforprivacy. It ships in the next release.