Issue #3598921: Bubble the cache lifetime to the page

The plugin set the computed lifetime on the Views result cache only, so the render cache, page cache and any upstream cache never saw it. For the time-based views this module targets the result set changes with the clock and no cache tag fires, so a cached page kept serving old results past the moment they should have changed.

Override getDefaultCacheMaxAge() to also bubble the computed lifetime into the view's render cacheability. Core merges it live per request via DisplayPluginBase::applyDisplayCacheabilityMetadata(), so the render and page caches now expire when the result set is next due to change. Stay permissive at save-time metadata calculation (gate on view->executed) so the stored value never caps the live one. PERMANENT and undetermined carry over: permanent bubbles permanent, undetermined makes the render uncacheable.

Add kernel tests for the bubbled max-age: finite, permanent, undetermined, and the permissive pre-execute value.

Closes #3598921

Merge request reports

Loading