Skip to content

Cover: Fix isDark state handling to prevent recursive loop in Query Loops#76521

Open
Swanand01 wants to merge 1 commit into
WordPress:trunkfrom
Swanand01:fix/is-dark-recursive-loop
Open

Cover: Fix isDark state handling to prevent recursive loop in Query Loops#76521
Swanand01 wants to merge 1 commit into
WordPress:trunkfrom
Swanand01:fix/is-dark-recursive-loop

Conversation

@Swanand01

Copy link
Copy Markdown
Contributor

What?

Closes #74976

Why?

When a Cover block with useFeaturedImage is used in a template part within a Query Loop, multiple post instances share the same template attributes. Each post's useEffect calculates and tries to persist its own isDark value to the shared template, causing all instances to re-render in an infinite loop.

How?

Store the calculated isDark value in local component state (computedIsDark) when using featured images, instead of persisting it to template attributes. This allows each post instance to maintain its own dark/light theme without conflicting with others in the loop.

Testing Instructions

Detailed testing instructions have been listed here: #74976

@github-actions github-actions Bot added the [Package] Block library /packages/block-library label Mar 16, 2026
@Swanand01 Swanand01 marked this pull request as ready for review March 18, 2026 09:26
@github-actions

Copy link
Copy Markdown

Warning: Type of PR label mismatch

To merge this PR, it requires exactly 1 label indicating the type of PR. Other labels are optional and not being checked here.

  • Required label: Any label starting with [Type].
  • Labels found: [Package] Block library.

Read more about Type labels in Gutenberg. Don't worry if you don't have the required permissions to add labels; the PR reviewer should be able to help with the task.

@github-actions

Copy link
Copy Markdown

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: Swanand01 <swanandm@git.wordpress.org>
Co-authored-by: talldan <talldanwp@git.wordpress.org>
Co-authored-by: wongjn <wongjn@git.wordpress.org>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

[Package] Block library /packages/block-library

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cover isDark can cause recursive loop with Featured Image in a Query Loop

1 participant