Skip to content
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(developer): LDML Keyboard Test Window 🌱 #10459

Merged

Conversation

mcdurdin
Copy link
Member

Fixes #10420.

Implements a basic LDML keyboard test window. Press F5 or Keyboard/Test to start test. Shows a character grid for each character in the text.

Does not yet support display of markers (#10458). Does not support interactive debugging, nor any more detailed status information.

User Testing

  • TEST_DEBUGGER: Create a new LDML Keyboard Project. Open the keyboard and press F5 to start testing. Verify that pressing a generates Hello World! and that basic text editing functions work as expected. Press Shift+F5 or the stop button in the debug toolbar to stop testing.

Fixes #10420.

Implements a basic LDML keyboard test window. Press F5 or Keyboard/Test
to start test. Shows a character grid for each character in the text.

Does not yet support display of markers (#10458). Does not support
interactive debugging, nor any more detailed status information.
@keymanapp-test-bot keymanapp-test-bot bot added has-user-test user-test-required User tests have not been completed labels Jan 21, 2024
@keymanapp-test-bot
Copy link

keymanapp-test-bot bot commented Jan 21, 2024

User Test Results

Test specification and instructions

  • TEST_DEBUGGER (PASSED): Retested with the updated PR build (Keyman Developer 17.0.248-alpha-test-10459) on Windows 11 OS (VM) and here is my observation: 1. Created an LDML keyboard project. 2. Opened the project. 3. Clicked Keyboard / Test Keyboard option from the Keyboard menu. Verified that the project doesn't throw any error messages. 4. Pressing 'a' key shows 'Hello World!' on the pane. Seems to be working fine. Thanks. (notes)

Test Artifacts

@bharanidharanj
Copy link

Test Results

  • TEST_DEBUGGER (FAILED): Tested with the attached PR build (Keyman Developer 17.0.247-alpha-test-10459) on Windows 11 OS (VM) and here is my observation: 1. Created an LDML project. 2. Created a keyboard. 3. Compiled it. 4. Pressed F5 to start the Debugger. In the Debugger mode, pressed 'a' key and I noticed that there was no output "Hello World!" appearing on the pane.

@keymanapp-test-bot keymanapp-test-bot bot changed the title feat(developer): LDML Keyboard Test Window feat(developer): LDML Keyboard Test Window 🌱 Jan 22, 2024
@mcdurdin
Copy link
Member Author

Hi @bharanidharanj, that's a Keyman keyboard project, not an LDML keyboard project. To create an LDML keyboard project, you need to select Project / New Project / LDML Keyboard. Can you retest please? Thanks!

@keymanapp-test-bot retest all

@keymanapp-test-bot keymanapp-test-bot bot added user-test-required User tests have not been completed and removed user-test-failed labels Jan 22, 2024
@bharanidharanj
Copy link

Test Results

  • TEST_DEBUGGER (FAILED): 1. Created an LDML keyboard project by Clicking Project / New Project / LDML keyboard options. 2. Opened the Keyboard window. 3. Pressing F5 to open the Debugger window. 4. Noticed that pressing the letter 'a' did not output the "Hello World!" text. Seems to be an issue. Or did I miss out on any steps?

@keymanapp-test-bot keymanapp-test-bot bot added user-test-failed and removed user-test-required User tests have not been completed labels Jan 23, 2024
@bharanidharanj
Copy link

@mcdurdin I noticed that there was an error message that appeared in 'Node' widow which is running behind the Keyman Developer application.

@mcdurdin
Copy link
Member Author

mcdurdin commented Jan 23, 2024

@bharanidharanj (I think the node error is unrelated)

Can you follow the steps in the video to run your test keyboard (note, once you have selected Test Keyboard, then you'll need to press a as per the instructions above; my example does not have that final step)

new-ldml-keyboard.mp4

@bharanidharanj
Copy link

@mcdurdin Followed the steps as mentioned in the video and I got an error message after clicking the 'Test Keyboard' option.

@srl295
Copy link
Member

srl295 commented Jan 23, 2024

@mcdurdin Followed the steps as mentioned in the video and I got an error message after clicking the 'Test Keyboard' option.

sounds like some kind of install issue. I'll dig into it a bit more.

I also noticed a minor typo in the error message you got, filed #10484 to fix.

@mcdurdin
Copy link
Member Author

sounds like some kind of install issue. I'll dig into it a bit more.

The issue is the techpreview files are not included in the Keyman Developer msi. I am looking at how best to solve.

@srl295
Copy link
Member

srl295 commented Jan 23, 2024

@mcdurdin should there be some kind of sanity checking at start-up? to make sure the schemas and data all arrived ok?

@mcdurdin
Copy link
Member Author

@mcdurdin should there be some kind of sanity checking at start-up? to make sure the schemas and data all arrived ok?

Doesn't really help us. It would still fail so the user is still stuck. Need to have the files present in the installer, see #10485 and a cascade of following issues.

@mcdurdin
Copy link
Member Author

Note: schemas are bundled in the .mjs but imports are not.

Base automatically changed from feat/developer/10135-create-ldml-keyboard-project to epic/core/9999-normalization January 24, 2024 04:41
@mcdurdin
Copy link
Member Author

Fix is blocked until #10489, #10492 are merged into this branch, will merge those up to the epic once they pass and then update this branch; will then retest.

@mcdurdin
Copy link
Member Author

@bharanidharanj the underlying issues have now been addressed, hopefully! Please retest 😁
@keymanapp-test-bot retest

@keymanapp-test-bot keymanapp-test-bot bot added user-test-required User tests have not been completed and removed user-test-failed labels Jan 24, 2024
Copy link
Contributor

@rc-swag rc-swag left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seeing all the if ActiveLdmlKeyboardEditor else if ActiveLdmlKeyboardEditor feels like some aggregation or maybe even inheritance could have been used for a ActiveKeyboardEditor. Otherwise
LGTM

@mcdurdin
Copy link
Member Author

Seeing all the if ActiveLdmlKeyboardEditor else if ActiveLdmlKeyboardEditor feels like some aggregation or maybe even inheritance could have been used for a ActiveKeyboardEditor

Agree. Certainly would be a nice refactor. For now, given the code is deprecated before it even lands, leaving it as is. The ActiveLdmlKeyboardEditor is likely to be completely rewritten in 18.0 as a web component.

@bharanidharanj
Copy link

Test Results

  • TEST_DEBUGGER (PASSED): Retested with the updated PR build (Keyman Developer 17.0.248-alpha-test-10459) on Windows 11 OS (VM) and here is my observation: 1. Created an LDML keyboard project. 2. Opened the project. 3. Clicked Keyboard / Test Keyboard option from the Keyboard menu. Verified that the project doesn't throw any error messages. 4. Pressing 'a' key shows 'Hello World!' on the pane. Seems to be working fine. Thanks.

@keymanapp-test-bot keymanapp-test-bot bot removed the user-test-required User tests have not been completed label Jan 25, 2024
@mcdurdin mcdurdin merged commit 882af83 into epic/core/9999-normalization Jan 25, 2024
4 checks passed
@mcdurdin mcdurdin deleted the feat/developer/10420-ldml-keyboard-test branch January 25, 2024 08:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feat(developer): need a way to test an LDML keyboard internally
4 participants