Skip to content

RTC: Stale core/missing blocks persist after re-enabling a block type #77796

@yuliyan

Description

@yuliyan

Description

When a block type becomes temporarily unavailable (e.g., a plugin is deactivated), the block correctly renders as core/missing. However, when the block type becomes available again (plugin reactivated), the block continues to render as core/missing even after a full page reload.

This appears to be caused by the collaborative editing persistence layer restoring stale block state from the persisted CRDT document, which takes precedence over re-parsing the raw content.

Making any edit in the Code Editor mode forces a re-parse and resolves the issue.

Step-by-step reproduction instructions

  1. Install and activate a plugin that registers custom blocks (e.g. WooCommerce).
  2. Create a page and add a block from that plugin (e.g. <!-- wp:woocommerce/cart-link /-->). Save.
  3. Deactivate the plugin.
  4. Reload the editor - the block renders as core/missing, as expected. Don't make any changes or save the page.
  5. Reactivate the plugin.
  6. Reload the editor - the block still renders as core/missing even though the block type is available again.

Screenshots, screen recording, code snippet

No response

Environment info

No response

Please confirm that you have searched existing issues in the repo.

  • Yes

Please confirm that you have tested with all plugins deactivated except Gutenberg.

  • Yes

Please confirm which theme type you used for testing.

  • Block
  • Classic
  • Hybrid (e.g. classic with theme.json)
  • Not sure

Metadata

Metadata

Assignees

No one assigned

    Labels

    [Feature] Real-time CollaborationPhase 3 of the Gutenberg roadmap around real-time collaboration[Type] BugAn existing feature does not function as intended

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions