New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(web): Start of Sentence support - part 1 🕊 #5963
Conversation
Relates to #3621. Initial draft of keyboard to test start-of-sentence detection.
Relates to #3621. This adds basic compiler support for the `begin newContext` and `begin postKeystroke` statements, along with the corresponding `gn` and `gpk` entry points in the compiled JavaScript keyboard. TODO: `readonly` semantics, usage constraints, `&layerChanged`.
Relates to #3621. Adds basic support for `begin newContext`.
User Test ResultsTest specification and instructions ✅ SUITE_BASELINE: Ensure nothing is broken!
🟥 SUITE_START_OF_SENTENCE: Test start-of-sentence detection
Test Artifacts |
Relates to #3621. This adds support for `begin postKeystroke` to KeymanWeb. This is now close to final, apart from support for `&layerChanged`.
Relates to #3621. Add support for `&layerChanged` system store. This store is set to `1` before a `begin postKeystroke`, if the keystroke it follows resulted in a layer change, either programatically through a keyboard rule, or through a `nextlayer` property of the touched key.
Relates to #3621. Adds `readonly` group support and verifies that keyboards meet constraints around usage of these groups. (Note: fixes test_valid.kps and test.bat which seemed to have some invalid tests?)
Picked up in development of #5963.
Picked up in development of #5963.
…ature Picked up during #5963 development. If you ran `kmcomp <file.kmn> <out.js>`, compiler messages were passed to a function with an incorrect signature, resulting in an exception. This was a mode that was not widely used, which is why we haven't picked it up earlier.
SUITE_START_OF_SENTENCE
|
I'm very sorry 😭, I uploaded an old version of the start_of_sentence_3621.kmp package. I've updated the package, and tested it myself with good outcomes, so please retest with the new package. SUITE_START_OF_SENTENCE
|
SUITE_START_OF_SENTENCE: Test start-of-sentence detection
|
The web test should be run with the correct keyboard, which is the start_of_sentence_3621 keyboard available in the Prediction UI test page. For the current build, that's https://build.palaso.org/repository/download/Keymanweb_TestPullRequests/300375:id/testing/prediction-ui/ The keyboard can be found under language "English...", "Start of Sentence test" @keymanapp-test-bot retest SUITE_START_OF_SENTENCE TEST_SOS_WEB |
@MakaraSok I am not able to reproduce this problem with the keyboard, after testing both on my device and on the emulator. Can you check again, and if you can reproduce it, perhaps we can look more closely at the difference between your test and mine? @keymanapp-test-bot retest SUITE_START_OF_SENTENCE TEST_SOS_ANDROID |
SUITE_START_OF_SENTENCE: Test start-of-sentence detection
|
Tracking user testing failures in two separate issues and will go ahead and merge this and the entire 🕊 start-of-sentence chain, given I think these two issues can probably be resolved in beta:
Note: I have managed to reproduce #6112, but have not reproduced #6113. |
Changes in this pull request will be available for download in Keyman version 15.0.179-alpha |
Relates to #3621.
begin newContext
andbegin postKeystroke
to compiler, includinggn
andgpk
entry points.begin newContext
to KeymanWeb, calling intogn
entry point, for mobile, touch and embedded contexts.TODO in this PR:
readonly
semantics&layerChanged
system store testsbegin postKeystroke
support'postKeystroke
fires after model events (fix(web): call postKeystroke on banner touch 🕊 #6004)For follow-up pull requests:
Developer IDE
newContext
,postKeystroke
and&layerChanged
tokens (feat(developer): support for start-of-sentence in IDE 🕊 #5984)Help
newContext
,postKeystroke
and&layerChanged
(docs: add casing support documentation 🕊 help.keyman.com#492)Caps Lock Layer support (spec: Caps Lock layer for touch layouts #3620)
Keyman Core
&layerChanged
always0
Optional for v15:
begin newContext
,begin postKeystroke
supportUser Testing
SUITE_BASELINE: Ensure nothing is broken!
SUITE_START_OF_SENTENCE: Test start-of-sentence detection
This PR includes a simple English keyboard that should detect start of sentence, called start_of_sentence_3621.kmn.
start_of_sentence_3621.kmp
.
), exclamation (!
) or question mark (?
) and one or spaces (e.g..
).Test that the keyboard behaves as expected in text fields, when you move the cursor, when you switch between fields with and without text, and as you type.