We have several custom widgets for Experience Builder as part of our ArcGIS Enterprise. I have created a new revision of one, and found that the old version is still being loaded by Experience Builder. I initially though to edit the headers on the server to instruct the client not to cache custom widgets, but this didnt work. I discovered that the assets are being fulfilled by a service worker as part of ExB.
I know I can clear my cache and have the new assets load, but I dont want to force every user to do this. Am I missing something that will tell an ExB application when to refresh custom assets? I have updated the version number in the manifest, but i can see from the network request that the old version is being loaded.
In the browser dev tools, I can see that the custom widgets are part of the exb-assets-cache cache, and that also in this cache is all the other portal content. It would seem to better to have custom assets handled differently to built-in assets?
Looking through the code, the exb-assets-cache is cleared when the major ExB version changes, eg, 1.10.0. Perhaps it would be better to clear the cache if the application build number changes?