When BigPipe is enabled, and facet blocks are added via lazyBuilder, they get an additional
wrapped around each of them.


One consequence is that when the facet blocks are printed in a region (containing only those facet blocks) and the facets blocks are empty, the region will always have "content", which can lead to a lot of theming issues.
Tried to figure out why those div's are added, without luck.
So far, turning off BigPipe will fix the issue.
| Comment | File | Size | Author |
|---|---|---|---|
| markup-after-repla.png | 81.84 KB | andreasderijcke | |
| orginal-page-markup.png | 128.31 KB | andreasderijcke |
Comments
Comment #2
andreasderijckeComment #3
borisson_I think that's by design - see also https://www.drupal.org/node/2851410#comment-12032198 and Wim's reply in that same issue + #953034: [meta] Themes improperly check renderable arrays when determining visibility.
I'm not 100% sure if the reason is the same - but the "fix" (don't rely on conditional regions) is the same.
Even if there's an issue - I think this deserves to be a drupal core issue.
Comment #4
wim leersThis extra
<div>is a known bug: #2738685: BigPipe leaves wrapper <div>s in place, because AJAX system leaves them — this can cause some CSS to break. It's not a bug in BigPipe, it's a bug in the AJAX system that BigPipe builds upon. The root cause (in the AJAX system) is being fixed in #736066: ajax.js insert command sometimes wraps content in a div, potentially producing invalid HTML and other bugs.Comment #5
wim leersComment #6
wim leersActually, it's probably better to keep this issue around so that people can actually find this problem, and don't report it again and again.
This is postponed on #2738685: BigPipe leaves wrapper <div>s in place, because AJAX system leaves them — this can cause some CSS to break, which is in turn postponed on #736066: ajax.js insert command sometimes wraps content in a div, potentially producing invalid HTML and other bugs.
Comment #7
wim leersHurray! #736066: ajax.js insert command sometimes wraps content in a div, potentially producing invalid HTML and other bugs was finally fixed in Drupal core, which fixed #2738685: BigPipe leaves wrapper <div>s in place, because AJAX system leaves them — this can cause some CSS to break, which in turn fixes this!