Repository navigation
Make "Refresh now" update the cache the site actually reads
The shortcode resolves the configured default URL itself before calling
WCAL_Feed::get_events(), but is_override() treated any non-empty URL as a
second calendar deserving its own cache keys. So the public page read
wcal_events_, while the settings page's "Refresh now" — which passes
no URL — primed plain wcal_events. A manual refresh reported the freshly
fetched event count while writing to a cache nothing ever read, leaving new
events invisible until the front end's own copy expired hours later.
is_override() now compares against the configured default instead of just
testing for emptiness, so resolving the default URL before handing it over
stays on the shared keys. Genuine per-shortcode overrides are unaffected.
Co-Authored-By: Claude Opus 5 noreply@anthropic.com