80cdac18dca5ed29a8d5c9024be7ba823068575a
CI / test (push) Has been cancelled
cropThumbnailImage was filling the target box by aspect-cover — for a portrait crop served to a landscape device (or vice versa), that meant slicing a thin band through the photo, which the user correctly called out as unacceptable on the screen. Switching to thumbnailImage(... bestfit=true) + composite onto a white canvas of exact target dims means the photo always shows up upright and recognizable: matching aspect renders byte-identically to before (no padding, no zoom change), mismatched aspect shows the photo fit-to-box with white bars instead of a cropped slice. Adds an app:rerender-assets console command to reset every Ready asset to Pending and re-dispatch its render message — needed once after this deploy so existing bins (rendered with the old cropThumbnail logic) get regenerated with the letterbox pipeline. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Description
pictureFrame web app — Symfony + Vue SPA
Languages
Python
42.9%
PHP
20%
HTML
12.5%
TypeScript
11.7%
Vue
7.6%
Other
5.3%