- 🇺🇸United States smustgrave
Thank you for creating this issue to improve Drupal.
We are working to decide if this task is still relevant to a currently supported version of Drupal. There hasn't been any discussion here for over 8 years which suggests that this has either been implemented or is no longer relevant. Your thoughts on this will allow a decision to be made.
Since we need more information to move forward with this issue, the status is now Postponed (maintainer needs more info). If we don't receive additional information to help with the issue, it may be closed after three months.
Thanks!
- 🇦🇺Australia acbramley
This has nuked the cacheability of webforms 🐛 Make webforms cacheable again Active which in conjunction with https://www.drupal.org/project/cache_control_override → makes pages with webforms on them uncacheable to CDNs. I'm trying to work through a fix but it's pretty tricky.
- 🇺🇸United States smustgrave
The one out of scope change if it's being suggested it fixes 🐛 Big Pipe, logged-in users and 4xx pages Active then think test coverage here should be expanded to include that ticket scenario too. And if that's the case we can close the other issue and move over credit.
3349201 also mentions once it's solved 🐛 Requests are pushed onto the request stack twice, popped once Needs work would be solved too so curious if this hits 3 issues actually?
- 🇬🇧United Kingdom catch
Since the last comments here, we've done 📌 Render the navigation toolbar in a placeholder Active which is not directly related to this issue but does help.
And 📌 Review cache bin and cache tags of access policy caching Active which added the 'not worth caching' interface discussed here, although not yet applying it to render arrays yet.
For any render array that appears on a lot of pages (e.g. the new navigation toolbar), if you both set cache keys and also #create_placeholder TRUE, then it gets its own render cache item, but also it's only included in the dynamic page cache as a placeholder. That was already true before that issue, but now it will also skip big pipe rendering replacement and be fetched direct from the render cache. It also means that the cache tags are isolated from dynamic page cache item (which might help for things like node:list cache tags and similar).
This means less 'double caching' of items between the dynamic page cache and the render cache, although the placeholder metadata itself still ends up in the dynamic page cache so for tiny items it probably wouldn't save anything.
I think if we combine more placeholdering for some things, with the not-worth-caching logic for others, we should be getting closer to what this issue was trying to do.