Skip to content

[6.x] New Asset Exists Modal Resolution Feature#14433

Open
jackmcdade wants to merge 16 commits into6.xfrom
asset-exists-modal
Open

[6.x] New Asset Exists Modal Resolution Feature#14433
jackmcdade wants to merge 16 commits into6.xfrom
asset-exists-modal

Conversation

@jackmcdade
Copy link
Copy Markdown
Member

@jackmcdade jackmcdade commented Apr 3, 2026

Works with uploading and moving assets. Resolves #14381.

asset-conflicts.mp4

Note

Medium Risk
Touches asset upload/move flows across both CP UI and backend action/controller responses; mistakes could lead to unintended overwrites, skipped moves, or stale cache/metadata behavior.

Overview
Adds a new asset conflict resolution flow for both uploading and moving assets when a filename already exists, prompting users via new CP modals to cancel, keep both (timestamp), or overwrite, with optional apply to all handling.

On the backend, MoveAsset now detects destination conflicts and either resolves per strategy (including deleting existing repository entries and clearing Glide cache on overwrite) or returns structured conflict payloads via a new AssetConflictException handled by ActionController; uploads now return a 409 JSON conflict payload from AssetsController. Frontend upload/move handling is updated to queue conflicts, retry/skip uploads accordingly, support multi-selection drag moves, and bust image caches after overwrite/timestamp resolutions; Asset::move also now clears the old meta cache key to avoid stale metadata after moves.

Reviewed by Cursor Bugbot for commit 73ae1c9. Bugbot is set up for automated code reviews on this repo. Configure here.

Works with uploading and moving assets. Resolves #14381.
This updates the asset conflict UX by making modal-dismiss behavior resolve as cancel, only showing “apply to all” when multiple upload conflicts exist, and replacing recursive move-conflict continuation with an iterative loop. It also adds MoveAsset tests for non-conflicting moves, same-folder no-op moves, and explicit cancel strategy handling.
Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

There are 2 total unresolved issues (including 1 from previous review).

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 29b4b4c. Configure here.

@jackmcdade jackmcdade requested a review from jasonvarga April 8, 2026 19:12
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.

Moving assets into a subfolder silently overwrites existing files

1 participant