Replaces the single cookie negotiator with a pluggable provider framework. Each provider handles preview activation/detection/teardown; the negotiator keeps expiry validation and link lookup.
Built-in providers (new Active provider setting):
- cookie (default), session: uncacheable, per-visitor
- acquia, pantheon: cacheable per-visitor at the edge, with bypass fallbacks
Adds CDN caching: when the provider allows it, Cache-Control becomes public, max-age=N capped to the link's remaining TTL; personalized responses stay uncacheable. In-preview responses carry a workspace_preview_link:{id} cache tag invalidated on save/delete. Publishing a workspace now deletes its preview links.
Issue fork workspace_preview-3592750
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #4
amateescu commentedI've been testing this a lot locally and on Pantheon, and everything seems to be working great. Acquia doesn't provide free test sites afaik, but it's handled very much like the Pantheon provider, so it should work fine as well.