-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Description
Describe the Bug
When performing a bulk upload in Payload CMS (Media section), if filenames are deleted from any of the selected files before saving, the system redirects with a generic success message and displays all media.
However, files without a filename are not actually uploaded. No error message is provided to inform the user. The problem is only visible in the browser's network tab, where errors occur for those requests.
Expected behavior:
Either:
-
Only files with valid filenames are uploaded. If a filename is missing, show an error ("A filename is required") for each such file—just like in single file upload,
-
Or display a global error message indicating that files without a filename have not been added.
Actual behavior:
-
A success message is shown, and the user is redirected to the list of media.
-
Files without a filename are not uploaded, with no feedback to the user; only the network/devtools shows an error for the failed requests.
Relevant history:
The recent fix (PR #13414) resolved this scenario for single file uploads but not for bulk uploads.
Related issue: #13410
Attachments:
Screenshot from devtools (Network tab) showing the failed requests.
Link to the code that reproduces this issue
https://github.com/payloadcms/payload
Reproduction Steps
- Log in to Payload CMS and navigate to Media.
- Click Bulk Upload.
- Click Select a file and choose multiple files (e.g., 3 images) from the local disk.
- In the form, remove the filename from one or more files.
- Click Save.
- Check if all selected files have been added successfully.
Which area(s) are affected? (Select all that apply)
area: ui, Not sure
Environment Info
Binaries:
Node: 22.14.0
pnpm: 10.3.0
Relevant Packages:
payload: 3.59.1
next: 15.4.4
@payloadcms/db-sqlite: 3.59.1
@payloadcms/drizzle: 3.59.1
@payloadcms/email-nodemailer: 3.59.1
@payloadcms/graphql: 3.59.1
@payloadcms/live-preview: 3.59.1
@payloadcms/live-preview-react: 3.59.1
@payloadcms/next/utilities: 3.59.1
@payloadcms/payload-cloud: 3.59.1
@payloadcms/richtext-lexical: 3.59.1
@payloadcms/translations: 3.59.1
@payloadcms/ui/shared: 3.59.1