IndexedDB Cache

Greetings. New user here, first time poster.

Has anyone ever considered/attempted to set up an off-line/browser cache for the PWA?

I think that it may be somewhat easy to get the HTML to be cached, and quite a bit trickier but still possible to cache large amounts of audio files via IndexedDB.

Most of our users are not doing any programming as the SAB app and HTML export work with no programming intervention.

I see. Maybe after I get the installable PWA working I will be able to see it better for myself.

Do you happen to know what is and is not cached in the web app?

I got the PWA configuration right, now, so I am able to see what is getting cached. It was very cool to see all the HTML pages getting pulled down by the service worker.

So, now I see that you all have HTML caching working, which is wonderful. I am curious about the audio side of things. I realize that’s probably not a high priority for anyone, but it seems like a natural extension of the other work, though it’s not quite as easy.

The trick is that you cannot use the same API, you have to the files in IndexedDB. If anyone is keeping a list of ideas for the future, perhaps this could be one.

Here is a relevant link, I am not sure which storage API it is using, so I don’t know how long the persistence is:

PWABuilder (Serving Cached Media, at the bottom)

Currently, the browser is caching audio files that are downloaded based on the browser file caching strategy. If we did use something to prefetch audio, I think it should be a user-directed action (i.e. we shouldn’t download 200MB of audio automatically). I will add a feature request for PWA to be able to download the audio.