Experience Builder mis-decorates the SDC plugin manager

Created on 17 June 2025, 6 days ago

Overview

Experience Builder tries to decorate the component plugin manager, but it does it in such a way that it only decorates it if you get it by class name, rather than by its old-style name of plugin.manager.sdc. This breaks recipes that need to bring in Experience Builder components, because the components' underlying SDCs might not "exist" since core is, inadvertently, failing to clear the correct plugin cache.

If you install Experience Builder, you can very easily observe this in drush php:

# This is fine...
> Drupal::service('Drupal\Core\Theme\ComponentPluginManager')
= Drupal\experience_builder\Plugin\ComponentPluginManager {#3333}

# WRONG!! The old alias should also be decorated by Experience Builder!
> Drupal::service('plugin.manager.sdc')
= Drupal\Core\Theme\ComponentPluginManager {#3655}

Proposed resolution

XB should decorate plugin.manager.sdc, which I have confirmed will make the decoration work as intended.

User interface changes

None at all.

πŸ› Bug report
Status

Active

Version

0.0

Component

Code

Created by

πŸ‡ΊπŸ‡ΈUnited States phenaproxima Massachusetts

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Production build 0.71.5 2024