Skip to content

Site Editor: category term bindings fail with 428 when blocks module is active on Atomic #50298

Description

@druesome

Summary

Category Link blocks in the Navigation block show "Missing Category" in the Site Editor on WP.com Atomic sites when the Jetpack blocks module is active and the navigation contains multiple category links. The front end renders correctly.

Image

Root cause

The Site Editor resolves core/term-data block bindings by firing individual /wp/v2/categories/<id>?context=edit REST API calls for each bound term. When the Jetpack blocks module is active, the editor JS stack loads differently, and the concurrent authenticated REST requests fail with HTTP 428 (Precondition Required) and rest_forbidden_context on WP.com Atomic.

The issue scales with the number of category links. A small number of categories may work fine, but as more are added, the concurrent REST calls begin failing.

Steps to reproduce

  1. WP.com Atomic site with Jetpack blocks module enabled
  2. Create a Navigation block with multiple Category Link blocks (these use core/term-data block bindings)
  3. Open the Site Editor
  4. Category links show "Missing Category" in the sidebar/editor

Disabling the Jetpack blocks module resolves the issue.

Expected behavior

Category Link blocks should display correctly in the Site Editor regardless of how many categories are in the navigation.

Evidence

  • Console log shows all /wp/v2/categories/<id>?context=edit requests returning 428
  • wp_pattern_category and help-center endpoints also fail with 428 (broad auth failure)
  • Server-side capabilities are correct (edit_term: true, manage_categories: true)
  • core/post-data bindings (e.g. post date) work fine since they don't make separate REST calls
  • Jetpack connection is healthy
  • Reproduced on multiple sites

Where the fix likely belongs

This sits at the intersection of three layers:

  1. WP.com Atomic: nonce/auth rate limiting may be too aggressive for concurrent REST calls from the editor
  2. WordPress core / Gutenberg: core/term-data block binding source fires individual REST calls per term instead of batching them
  3. Jetpack blocks module: loading the full block editor JS stack changes how REST requests are authenticated, triggering the failure

Workaround

Disabling the Jetpack blocks module resolves the display issue without modifying site content.

Related

Metadata

Metadata

Assignees

Labels

BugWhen a feature is broken and / or not performing as intended[Focus] BlocksIssues related to the block editor, aka Gutenberg, and its extensions developed in Jetpack[Platform] Atomic

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions