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

Created on 11 April 2025, about 2 months 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