Hi @harris !
I can’t prove this, but I’m very nearly certain that purge-by-URL used to work for the Cache API.
The fact that it doesn’t now, breaks our intended workflow – we were using a two-tiered caching system where we’d first check whether a page was present in caches.default, and if not, back off to a KV-based cache, and if not present there, THEN we’d hit the origin.
However, we need to regularly purge individual pages, and if we can’t globally purge things in the Cache API, then we can’t use it at all for this purpose, since there’s now no way to know whether something in the Cache API is supposed to have been invalidated. The alternative is to use fetch(), which respects the purges that have been done, but we’d want it to only fetch if it was present in the cache, and not immediately go to the origin otherwise. AFAIK there is no way to do this, so we can’t insert the KV caching as a middle layer between global cache and origin calls.
This puts us in the unfortunate position of having to decide between either the KV-based cache, or the fetch()-based cache, when we used to be able to use both.