I had similar issue and in my case the reason was ckeditor5-stylesheets in the front-end custom theme, which was added in the admin claro theme when on manage display; and with that library, the reboot bootstrap was comming in.
So I tracked down the initial issue to the fact that I had in the cart view, the remove button. This was, for some weird reason, messing up with the bubbling of cache metadata when having big pipe. This prevented the page to get cart context and commerce_order:ID tags which would have made the page dynamic cache invalid (assuming that the cart block is in all pages from where you can add a product)
So the confirmation message works, as it seems, only if you have the cart block in the page, which would make the cache invalid when cart changes.
Now there's a second issue as I see, which makes sense to be happening. The confirmation does show up now and gets cached in the page.
This I replicated in having a clean commerce demo kickstart installed + this module.
for this 2nd issue I attach a patch with max-age 0 when there's settings appended.
for the 1st issue, I guess we should state in the modules page that it 'requires' cart block to be in the page? or somethign like that?
An alternative would be to enforce the cache tags and context via this modules hook, but it would be bit weird as it would affect all pages, and one might not want that.
An alternative would be to have been a block with lazy builder and the user 'can choose' which pages gets this feature.
dragos-dumi → created an issue.
Adding #94 does solve the issue in a way, but it seems it introduces another issue. on a page that's cached in dynamic page cache, if there's a message to be displayed, it will append at the bottom because it does not find data-drupal-messages-fallback . the fallback markup seems that is not added when rendered this way !?
Updated #28 with the event from https://www.drupal.org/project/drupal/issues/3208390#comment-15200955 📌 Add an API for allowing modules to mark their forms as workspace-safe Needs work
Thanks for the response. WIth layout builder indeed there's an option, just that you are restricted to 2 levels (1 in layout builder and 1 in wysiwyg in grid). It's an edge case though that you'd need more nestings.
For those looking for an option, I've found the option to use embedded components
https://www.drupal.org/project/embedded_content →
with a custom component to use form type text_processed in which you can add the grid + these patches to allow nested modals +
https://www.drupal.org/project/embedded_content/issues/3401138
🐛
Embedding media inside an Embedded Content plugin
Active
+
https://www.drupal.org/node/2741877 →
dragos-dumi → created an issue.