Closed sgschantz closed 2 years ago
Test specification and instructions
UX question: Are the defaults on "Suggest Predictions" and "Suggest Corrections" off on Keyman for iPhone and iPad?
I think on Android, we default to "On" (less clicking after the user installs a lexical-model)
In Keyman for iOS, I installed a new keyboard, and the switches for Predictions and Corrections were active and enabled by default. That was even with no dictionary installed.
That doesn't make much sense as those options should not be available until there is a dictionary, right? After a dictionary is installed, we can activate them and default them as enabled. Until then they should be disabled and inactive.
A few notes on the details page:
The above changes differ from what we have in Keyman, but I think it would improve clarity of the UI.
As for how the state of the controls depend on each other, there is a pretty clear hierarchy:
iOS is using an old script to download fv_all.kmp https://github.com/keymanapp/keyman/blob/7e43e3782dce134dcfe0b69b09541898203773cb/oem/firstvoices/ios/build.sh#L9-L10
We can remove build_keyboards.sh
if you include the following
. "$KEYMAN_ROOT/resources/build/build-download-resources.sh"
Tested with the build retrieved from the link provided in the Test Results above.
TEST_INSTALL (PASSED): The "English - EuroLatin (SIL)" does appear following the instructions given.
TEST_TURN_ON_KEYBOARD (FAILED): The "Inuvialuktun" keyboard doesn't show up when either pressing on the globe key or longpress on the globe key. The FV keyboard is stuck with "English - EuroLatin (SIL)".
TEST_KEYBOARD_HELP (PASSED): The keyboard help page does show up. ![image](https://user-images.githubusercontent.com/28331388/157800883-55f4cb40-1e7f-4cb7-af6a-045b3f5b6a54.png">
TEST_INSTALL_DICTIONARY (FAILED): The "SENĆOŦEN" keyboard doesn't show up when either pressing on the globe key or longpress on the globe key. The FV keyboard is stuck with "English - EuroLatin (SIL)".
TEST_STATE_SAVED (BLOCKED): The FV keyboard doesn't show anything else beside "English - EuroLatin (SIL)".
Note: At one point, iMessage crashes when pressing on the FV globe key > Emoji key:
@MakaraSok I haven't been able to reproduce your trouble installing a keyboard, but I made one change to at least display an alert if it fails. Also, the switch should not change state now if the install fails. Please try again and let me know if the behavior is any different. Is FV Settings set to full access?
@mcdurdin What should I do with any error information that I get back from KeymanEngine so that we can investigate this? Without Sentry in FV, I'm not sure where to send it. Is there any place that I can retrieve error text when Makara encounters an issue? I could pass it back and display in this new alert, but that doesn't seem too user friendly.
What should I do with any error information that I get back from KeymanEngine so that we can investigate this? Without Sentry in FV, I'm not sure where to send it. Is there any place that I can retrieve error text when Makara encounters an issue? I could pass it back and display in this new alert, but that doesn't seem too user friendly.
I think we aim to add Sentry to FV (I have created the fv-ios Sentry project at https://sentry.io/keyman/fv-ios/getting-started/apple-ios/). Otherwise, it is difficult, and I am certainly not keen on creating a new error-reporting mechanism for this.
If adding Sentry is too big a task for now, then we can temporarily add an alert while diagnosing these issues and then remove it again?
Worth considering feeding the same changes to Keyman for Android
Yeah, we can consider that. I had a question on the SENCOTEN settings: "Keyboard Information" section. If there's multiple keyboards available for a language, which one would "Version" correspond to?
@MakaraSok I've added some code temporarily for troubleshooting the issue you are have activating the keyboard. This new version will display an alert with error information. Please retest and tell me what you see. I cannot reproduce this, so let me know if you have any more details that will isolate the issue.
@keymanapp-test-bot retest TEST_TURN_ON_KEYBOARD
@darcywong00 Good question on the version number. I think it's broken. We could display the version of the active dictionary if there is one, but that's kind of weak and still not obvious. I'm not sure what the best solution is.
Good question on the version number. I think it's broken.
This was obviously designed way back in the day with a one-keyboard-per-language pattern. Do we have any languages with more than one keyboard in the list? If not, then this is a brokenness that we can just ignore for now :grin: If we do, then I suggest for now just adding a version row for each keyboard and differentiating with the keyboard name in the caption (e.g. SENCOTEN version -> 9.1.1).
The detail is of course important but we also need to balance that with addressing more serious issues... so I am comfortable with a less than 100% elegant answer for this edge case.
Do we have any languages with more than one keyboard in the list?
Looking at keyboards.csv, I see "ikt-Latn: Inuinnuaqtun (Latin)" is used by fv_inuvialuktun and fv_uummartmitutun.
But I'm thinking this should be fine because the FV apps separate Region --> Keyboard -->
so each keyboard has its own row...
@mcdurdin So Makara is not seeing the alert that I added which implies that Keyman Engine is not throwing an error and it looks like a success to FV. Do you know of any other way to troubleshoot this in Makara's environment? @MakaraSok can you describe what environment you're running this in or provide any more info that might help me reproduce it?
@mcdurdin So Makara is not seeing the alert that I added which implies that Keyman Engine is not throwing an error and it looks like a success to FV. Do you know of any other way to troubleshoot this in Makara's environment?
I guess running Console on his machine and looking at logs from the simulator may provide some enlightenment?
@MakaraSok @darcywong00 @mcdurdin I just realized that this problem Makara is seeing is the same as #6226 which appeared with the old FV iOS code. The change of Darcy's should not have broken the iOS FV app, should it? Or maybe that's why there was an iOS test case on #6226?
I just realized that this problem Makara is seeing is the same as #6226 which appeared with the old FV iOS code. The change of Darcy's should not have broken the iOS FV app, should it? Or maybe that's why there was an iOS test case on #6226?
Yes, I think that this problem is not new to this PR and is specific to the simulator.
I've retested this again today and it doesn't work as expected like what was experienced prior. Note that the test was done on a simulator with its "all content and settings" erased being installing the .
The second attempt to enable the dictionary got through without bouncing back, but it still doesn't show up when summoned. Please see the screen recording below.
The blocked ones stay "Blocked".
FYI: The build from here was used https://build.palaso.org/buildConfiguration/Keyman_iOS_TestPullRequests/310924?buildTab=artifacts#%2Fupload.
Ready for retest, but need to have a way to either test a release version of FV on the simulator or a real device. Debug FV on the simulator works well from Xcode. @mcdurdin any ideas on how to change the relase build so that it will behave the same on simulator and device?
@keymanapp-test-bot retest TEST_TURN_ON_KEYBOARD TEST_INSTALL_DICTIONARY
ny ideas on how to change the relase build so that it will behave the same on simulator and device?
It's really hard. The simulator does not appear to behave identically to devices in all circumstances -- particularly that boundary between apps and app extensions seems different.
The best solution may be to merge to beta and do a beta release build which is then available in TestFlight. Otherwise, unless you are in the same room (where you can plug the device into your computer and do a build and run from XCode), I don't know how it can be done.
Changes in this pull request will be available for download in Keyman version 15.0.224-beta
Tested on a physical device, iPad mini 6 running iOS 15.4.
Note that when removing a keyboard from the FV app, every keyboard was removed with it leaving only EuroLatin keyboard to choose from.
Adds dictionary/lexical model support to FirstVoices iOS app. Tapping a keyboard in the list causes transition to a detail page where the keyboard is displayed with other settings, including downloadable dictionaries, if available.
User Testing
The changes to the app are substantial and tests amount to a regression test