Repository navigation
drop the enable_vips build flag - #3925
Merged
Merged
Conversation
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | 0 |
🟢 Coverage 100.00% diff coverage · +0.01% coverage variation
Metric Results Coverage variation ✅ +0.01% coverage variation (-1.00%) Diff coverage ✅ 100.00% diff coverage Coverage variation details
Coverable lines Covered lines Coverage Common ancestor commit (14b9622) 93482 26805 28.67% Head commit (0d969c3) 93481 (-1) 26814 (+9) 28.68% (+0.01%) Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch:
<coverage of head commit> - <coverage of common ancestor commit>Diff coverage details
Coverable lines Covered lines Diff coverage Pull request (#3925) 3 3 100.00% Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified:
<covered lines added or modified>/<coverable lines added or modified> * 100%
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
The thumbnails service now always resizes in pure Go. Deployments that want more formats, webp output or an attention crop run a real imagor and point WEBDAV_THUMBNAILS_GENERATOR_URL at it. The built-in service stays as a minimal fallback that keeps working when imagor or libvips have to be taken out, for example during a security issue. Without cgo dependencies the docker images link statically again and no longer need the vips packages. The vips parity run in CI goes away, the regular test run already covers the pure Go build. The preview fixtures of the acceptance tests were rendered by libvips, so they are regenerated with the pure Go build. Text previews now lose their left edge: the 640x480 text canvas is filled into a square box and the pure Go build crops the centre, where libvips' attention crop kept the left side with the text. part of #3912 Assisted-by: Claude Code:claude-opus-5-5 Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
butonic
force-pushed
the
chore/drop-enable-vips
branch
from
November 12, 2026 14:41
3288d61 to
0d969c3
Compare
Member
Author
|
imagor docker image: https://hub.docker.com/r/shumc/imagor/ is based off of https://github.com/cshum/imagor-base |
aduffeck
approved these changes
Nov 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
We no longer build with libvips. The thumbnails service always resizes in pure Go and is meant as a minimal fallback for imagor, by design. Deployments that want more formats, webp output or an attention crop run a real imagor and point
WEBDAV_THUMBNAILS_GENERATOR_URLat it.This deletes
push_vips.goand theenable_vips/ENABLE_VIPSswitches in the Makefiles, Dockerfiles and CI, drops the govips dependency, and removes thetest-thumbnail-parity-vipsstep. Without cgo the docker binaries link statically again and the images no longer installvips/vips-magick.The byte-exact preview fixtures in the acceptance tests were rendered by libvips, so I regenerated them with the pure Go build against a local server (with the CI
fontsMap.json) and removed the@need-build-with-VIPStags.Heads-up: text previews lose their left edge now. webdav renders text on a 640x480 canvas and asks for a smart fill crop into a square box. libvips' attention crop kept the left side with the text, the pure Go build crops the centre. That matches the documented behaviour, but it looks worse in the web UI for the built-in generator ... we could ask for a fit-in or anchor the crop left for text sources in a follow-up.
Related Issue
How Has This Been Tested?
go build ./...,go test ./services/thumbnails/... ./services/webdav/...opencloud server, output is deterministic across a cache wipeTypes of changes
Checklist:
Written with Claude Code (claude-opus-5-5): code changes, fixture regeneration and this description.