payloadcms / payloadcms/payload

[Bug]: Upload field inside Array (nested in Rich Text) causes UI freeze and becomes non-interactive when adding images

Open
#15,978 5 comments 1 reaction 1 assignee View on GitHub

@GermanJablo is already working on this.

Since Mar 17, 2026.

area: ui Bug
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-postgres 3.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

  1. Clone my fork and install dependencies:
    git clone https://github.com/robinnicholasraja/payload.git
    cd payload
    pnpm install
    
  2. Boot the test admin UI:
    pnpm dev _community
    
  3. Log in with the default test credentials (dev@payloadcms.com / test)
  4. Navigate to the Posts collection and create a new post
  5. In the Rich Text field, add the "Gallery" block
  6. Inside the Gallery block, add a new row to the array
  7. In that array row, click the Upload field to select or upload an image
  8. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.