Open mcdurdin opened 3 years ago
Spec question: Is this check performed every time the app starts? (vs trying to install ldml keyboard)
Yes, on app start makes sense.
block use of the keyboard (or progressively reduce functionality? stretch goal) until that prerequisite is filled.
Can you give more clarification on the "degraded" mode if the minimum Chrome version isn't 57? The Keyman app should still function with sil_euro_latin. Maybe just block kmp installation if the keyboard keyman version >= 15.0?
Can you give more clarification on the "degraded" mode if the minimum Chrome version isn't 57?
If chrome version <57
, allow installation of keyboards but if the keyboard requires v15 then show a warning at keyboard install time, at a minimum, and then if possible, don't allow the keyboard to be selected.
If chrome version <37
, then we should block all usage of the touch keyboard entirely.
Even better, show a red warning banner at top of Keyman app while Chrome version is lower than desired, which the user can touch to get help on updating.
So for the scope of things:
Then the Keyman engine change would impact 3rd party keyboards / FV Android / KAB?
Then the Keyman engine change would impact 3rd party keyboards / FV Android / KAB?
Yes, potentially. After all, they'll all go wrong in the same way if the Chrome version is too old.
Can you give more clarification on the "degraded" mode if the minimum Chrome version isn't 57?
- If chrome version
<57
, allow installation of keyboards but if the keyboard requires v15 then show a warning at keyboard install time, at a minimum, and then if possible, don't allow the keyboard to be selected.- If chrome version
<37
, then we should block all usage of the touch keyboard entirely. [e.g.] don't show the osk at all because it just won't function correctly. Show instead an upgrade message
These are the remaining TODOs on this issue
Is this resolved?
Is this resolved?
The remaining TODOs on this issue are for handling LDML keyboards (when that time comes). I'll change milestone to Future for 16.0
Query: can(should) we bundle our own version of chromium and avoid this issue? Is it possible to bundle only for specific versions of Android?
Is your feature request related to a problem? Please describe.
While Android allows for an evergreen Chrome browser, we are observing that many users still have an older version installed. This breaks Keyman, even for version 14. For version 15, our minimum version will be bumped to 57 to support WASM, and this will increase the scope of this problem.
Describe the solution you'd like
We should be able to detect the version of Chrome that is installed, and prompt the user to update it and block use of the keyboard (or progressively reduce functionality? stretch goal) until that prerequisite is filled.
If possible, we should try and lead the user to the method of running the upgrade, e.g. Play Store, or manual install? Some research may be required here.
If possible, we should backport this to 14.0 and just set the Chrome minver to 37(?) for Keyman 14.
Keyman for iPhone/iPad/Android: