cht-core
cht-core copied to clipboard
Minimum browser requirements for cht-core 4
We should fail loudly if the minimum browser requirement is not met. In the same way we are clear on the minimum android os version, we should be clear on the minimum chrome version (and other requirements).
Originally posted by @derickl in https://github.com/medic/cht-core/issues/8143#issuecomment-1489200258
I think failing loudly is a good idea. If we know the app will not work (as in the linked issue) then the user should not be able to log in, or if they are logged in, the app should be locked. The idea would be to make it so obvious to whoever is setting up the device that it's caught early before the phone is given to the CHW.
We could also have a warning stage for if the browser is quite old but technically still supported, but I doubt this will prompt any action from the users so it's likely just nagging. This would be an interesting experiment to run to see how often this prompts user action, but probably outside the scope of this issue.
The reason this isn't a quick win is because currently the testing is all done on recent browsers - this is a technical limitation of our test setup not by design. So if we officially support Chrome X then we need to fully test Chrome X before release. This is a good thing, but it's worth highlighting the current state.
Steps I can see for the implementation of this...
- Decide on what the minimum browser version should be, which is more permissive than the current documented support. At the same time decide whether the minimum will be a rolling version (last x years of browser), or whether it can only be changed in a breaking version requiring a major release.
- Work out how to run our e2e test suite on that version
- Change the current warning to block login completely, and add an in-app screen to block using the app (may be a duplicate of #7770 )
whether it can only be changed in a breaking version requiring a major release
Yes please! This will really maintain clarity in our upgrade process.
In #8456 it became clear that we need to run browser checking code before attempting to load the app as the Android app bypasses the login page altogether and if the main bundle crashes on an older browser the user is stuck with no useful info.
@lorerod should this issue be closed now because of https://github.com/medic/cht-core/pull/8663?
@jkuester I'm using this issue as a placeholder.
https://github.com/medic/cht-core/pull/8663 only runs standard config e2e tests on the minimum browser version. But then the standard config was deleted.
The next step is to resume this work and run default config e2e tests on the minimum browser version. I will create a separate PR for that work.
I'm closing this issue because I've split the minimum browser requirements work into smaller, more focused issues. Each issue will address a specific suite to ensure better tracking.