We need to confirm the steps to reproduce but this is our current guess
Login to Mobile with an older Mobile version
Expire the user’s sessions
Set the user to a newer version of Mobile
Sync the previous Mobile session
Expected Result
Actual Result
The sync gets stuck in the upversion process
Analysis
BACKGROUND:
app js/css is cached in localstorage
The appcache ‘updateready’ event is responsible for forcing the app js/css to be reloaded
Scenario:
The initial version check returns a mismatched version so the sync is halted with ‘FieldFX is out of date. Updating...’
the appcache should be out of date at this point and should have already starting downloading new offline assets triggering an ‘updateready’ event
instead, Chrome thinks there is no new manifest, so no new offline resources are downloaded
old app js/css is still in localstorage. browser is not refreshed.
reloading the browser manually makes not difference because the app/js code is still the old version stored in localstorage
return to step 1 above
Potential Causes:
version mismatch is properly detected, but appcache fails to update because of some network error. subsequent load finishes updating appcache before the ‘updateready’ handler is wired up, so app js/css is never forced to reload.
in this situation, the appcache is up to date, but the app js/css is not. Every sync will fail in this situation.
this scenario is much more likely to happen now that we are offline caching very large assets for PDF generation
Potential Solution:
set a timer when a version mismatch is detected to force the browser to reload offline resources (by adding ?reload=true to current url) just in case if the browser doesn’t automatically do so
Mingle Card: 5185 Steps to Reproduce
We need to confirm the steps to reproduce but this is our current guess
Expected Result
Actual Result
The sync gets stuck in the upversion process
Analysis
BACKGROUND:
Scenario:
Potential Causes:
Potential Solution:
Related Cards
Test Plan