payloadcms / payloadcms/payload
[Bug]: Upload field inside Array (nested in Rich Text) causes UI freeze and becomes non-interactive when adding images
@GermanJablo is already working on this.
Since Mar 17, 2026.
- Dominant language
- TypeScript
- Stars
- 44.8k
- Forks
- 4.2k
- Avg merge
- 2d 21h
- Merged PRs (30d)
- 53
Description
Description
When an upload field is placed inside an array field — which itself is nested inside a Lexical rich text block — adding an image via the upload field causes the entire admin UI to completely freeze and become non-interactive. The screen stops responding to any user input (buttons, links, form fields all become unclickable). The only way to recover is to refresh the page, losing any unsaved work.
Environment
- Payload version: 3.79.1
- Node.js version: 22.16.0
- Affected package:
@payloadcms/richtext-lexical,@payloadcms/ui - Database adapter:
@payloadcms/db-postgres3.79.1 - Next.js version: 15.4.11
- React version: 19.2.1
- OS: macOS ARM64 (Darwin Kernel Version 25.3.0)
Steps to Reproduce
- Clone my fork and install dependencies:
git clone https://github.com/robinnicholasraja/payload.git cd payload pnpm install - Boot the test admin UI:
pnpm dev _community - Log in with the default test credentials (
dev@payloadcms.com/test) - Navigate to the Posts collection and create a new post
- In the Rich Text field, add the "Gallery" block
- Inside the Gallery block, add a new row to the array
- In that array row, click the Upload field to select or upload an image
- Observe: The entire admin UI freezes completely and becomes non-interactive
Expected Behavior
Adding an image through the upload field inside a nested array within a Lexical rich text block should work normally — the image should be selected/uploaded and the UI should remain responsive.
Actual Behavior
The UI becomes completely frozen and non-interactive after attempting to add/select an image via the upload field. No buttons, links, or form fields respond to clicks. A full page refresh is required to recover, and any unsaved work is lost.
Reproduction
Fork: https://github.com/robinnicholasraja/payload
Clone and run:
git clone https://github.com/robinnicholasraja/payload.git
cd payload
pnpm install
pnpm dev _community
The minimal reproduction config is located in test/_community/config.ts.
Additional Context
- A screen recording demonstrating the freeze behavior is attached below.
- The issue does not occur when the upload field is placed directly inside a block (without the intermediate array field).
- The issue does not occur when the upload field is inside an array that is outside of a rich text block.
- This suggests the freeze is specific to the combination of Rich Text (Lexical) → Block → Array → Upload.
https://github.com/user-attachments/assets/055b7edc-65eb-430e-9ce8-785a2479ed34
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.