Is there a way to configure a PWA with a Service Worker to _not_ display the cached version of the page when the device is online?
Yes, it is possible to configure a Progressive Web App (PWA) with a Service Worker to not display the cached version of the page when the device is online. You can achieve this by implementing a cache invalidation strategy in your Service Worker.

A common approach to cache invalidation is to use the Cache-Control header in the server's response to specify how long a cached resource should be considered valid. When a cached resource expires, the Service Worker will make a network request to retrieve the updated version of the resource.

To implement this strategy, you can add a Cache-Control header to the server's response with a short expiration time, such as a few seconds or minutes. This will cause the Service Worker to check for an updated version of the resource every time it is requested.

In addition to using the Cache-Control header, you can also implement other cache invalidation strategies, such as versioning or time-based expiration, depending on the specific requirements of your PWA.

It is worth noting that in some cases, caching may be desirable even when the device is online, as it can improve the performance and responsiveness of the PWA. However, if you need to ensure that the most up-to-date version of a resource is always displayed, implementing a cache invalidation strategy can help achieve this goal.