Cordova compatibility versions refreshable vs non

Can someone explain to me the difference between versionNonRefreshable and versionRefreshable?

I think I understand in principle that if only the javascript has changed cordova downloads the latest javascript, swaps out the <script> tags and therefore doesn’t need to refresh. However, I’m finding on my app that while all of this appears to happen, and I get the WebAppLocalServer.onNewVersionReady callback, the code in use is still the old code, exiting and reopening the app fixes this. Right now I’m handling this by forcing a reload in WebAppLocalServer.onNewVersionReady but this doesn’t seem like the right approach.

//__meteor_runtime_config__.autoupdate.versions.web-cordova
version:"839053c205529a9cb6e2bbe1b86fbd4db15977a8"
versionNonRefreshable:"33a6247c1308a98a5bfba7cd59fe6a3617d7c340"
versionRefreshable:"80b769923366edd26d01aaad2b316f270d10ceb7"

This might help

That’s a cool package but probably not the cause of this change as it’s 4 years old, unless it was merged into core recently?