Question
Why static assets appear to be re-fetched when I open the same app via the API with different URL query parameters?
Answer
Caching treats each unique URL, including its query parameters, as a separate cache entry. This is the default behavior for Chromium and Electron, which use the full URL (including query parameters) as the cache key. As a result, /api/items?page=2 and /api/items?page=3 are cached separately, and caching depends on the server sending proper cache headers.
Each unique query string is a separate cache key. io.Connect Desktop honors the web server cache headers for every glue.windows.open request and for any other request that uses caching. When the cache headers are valid (the cache’s TTL has not expired and the request does not include cache-control directives that would bypass caching), the assets are correctly served from the cache.
If your web server returns correct cache headers, but assets are still refetched chech how your reverse proxy is configured. A proxy in front of the application may override, add new or duplicate cache headers.
Question
How does cache-control configuration apply to Remote Archived Apps?
Answer
Remote Archived Apps are a separate app-delivery model with their own cache-control configuration. They are fetched on initialization, and once a remote archived app is added to an app store, it is downloaded locally. io.Connect Desktop offers configuration regarding cache-control headers for Remote Archived Apps.
If you wish to update which applications are available at runtime without restarting, you can add and remove application configurations at runtime via the inMemory app stores API: