Skip to content

[6.x] Image cropping#13875

Open
jackmcdade wants to merge 53 commits into6.xfrom
image-cropping
Open

[6.x] Image cropping#13875
jackmcdade wants to merge 53 commits into6.xfrom
image-cropping

Conversation

@jackmcdade
Copy link
Member

@jackmcdade jackmcdade commented Feb 10, 2026

Uses cropper.js to add a new image crop feature, complete with aspect ratio and orientation flipping.

CleanShot 2026-02-09 at 22 45 13@2x CleanShot 2026-02-09 at 22 46 06@2x

When finished cropping you can choose to save as a new image or replace the existing one.
CleanShot 2026-02-09 at 22 46 17@2x


Note

Medium Risk
Adds a new client-side image cropping and re-upload flow, including optional overwrite of existing assets, which could impact asset integrity and upload behavior if edge cases slip through. Changes also adjust stack open timing (Stack.vue) which may affect other stack consumers’ lifecycle assumptions.

Overview
Adds an image cropping feature to the asset editor using cropperjs, including a new CropEditor.vue stack with aspect-ratio presets, orientation flipping, keyboard shortcuts, and basic CORS/error handling.

Introduces a post-crop confirmation flow to either save a new copy (timestamped upload) or replace the original (overwrite upload), then redirects to the new asset or reloads the current one and busts image caches. Also tweaks Stack.vue to emit opened on the next tick and adds a new crop toolbar icon.

Written by Cursor Bugbot for commit 2580633. This will update automatically on new commits. Configure here.

@jackmcdade jackmcdade marked this pull request as ready for review February 10, 2026 19:53
jasonvarga and others added 25 commits February 11, 2026 18:55
…ay. who uses gifs for anything other than animation these days?
the query string way only worked for the same request. when you come back to the page and the non-query string image loads, it'll still be old.
…opped can be initialized once the stack is ready.
… the image is already cached or needs to be loaded.
events would be removed when the croppers stack is closed, then they are attempted to be removed again on mount (when the editor is closed), at which point the image isnt there.
…ter handle access, dragmode to crop to draw new box easier
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants