Test coverage to prove that BlockPluginInterface cacheability + BigPipe support work when rendered via XB

Created on 11 April 2025, 11 days ago

Overview

@catch's 🐛 Placeholders/#lazy_builder is not supported for block component rendering Active made me realize that BlockComponent::renderComponent() is not yet handling cacheability correctly.

That is a folllow-up that we forgot to create for 📌 Add support for Blocks as Components Active .

And the proof for that is even somewhat present in ComponentTreeHydratedTest:

                              '#cache' => [
                                'tags' => ['config:experience_builder.component.block.system_branding_block'],
                                'contexts' => [],
                                'max-age' => Cache::PERMANENT,
                              ],

👆 That's missing the config:system.site cache tag.

Proposed resolution

  1. Functional test coverage for some more challenging block plugins cacheability-wise, such as menu blocks.
  2. Functional test coverage that highly variable block plugins (e.g. one that varies by user cache context) are stored as a Render API placeholder in Dynamic Page Cache, and then rendered for each page delivered via BigPipe.

User interface changes

None.

📌 Task
Status

Active

Version

0.0

Component

Component sources

Created by

🇧🇪Belgium wim leers Ghent 🇧🇪🇪🇺

Live updates comments and jobs are added and updated live.
  • Performance

    It affects performance. It is often combined with the Needs profiling tag.

Sign in to follow issues

Merge Requests

Comments & Activities

Production build 0.71.5 2024