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
When @payloadcms/plugin-cloud-storage is enabled on a collection with a user defined afterChange hook that can throw in certain condition, the throw is swallowed by the plugin (logged at warn) while Payload silently rolls back, leaving S3 and the UI in broken states with no user visible error.
Describe the Bug
When
@payloadcms/plugin-cloud-storageis enabled on a collection with a user definedafterChangehook that can throw in certain condition, the throw is swallowed by the plugin (logged at warn) while Payload silently rolls back, leaving S3 and the UI in broken states with no user visible error.Link to the code that reproduces this issue
https://github.com/LimChorngUan/payload/blob/repro-cloud-storage/test/_community/collections/Media/index.ts
Note that in the repro code,
skipCloudStorageflag is set to make the hook fire only on the plugin's internal update, not on the user's outer call.Reproduction Steps
docker compose -f test/docker-compose.yml up -d localstack mongodb mongotpnpm run dev _communityTwo scenarios:
Newly upload media
Reupload media
Screen.Recording.2026-05-11.at.18.14.09.mov
Which area(s) are affected?
plugin: cloud-storage
Environment Info