Commit graph

33096 commits

Author SHA1 Message Date
Eberhard Beilharz
b93c459515
fix(linux): restart ibus after manual integration test run
Previously keyboard input was no longer input after manually running
the integration tests. This change fixes this by restarting ibus after
the tests. However, we only want to do that if the ibus instance we
started for the tests got killed. The cleanup script might get called
multiple times, so we need this check.
2024-06-13 17:50:41 +02:00
Dr Mark C. Sinclair
44a1ade516 chore(developer): add five cases to GetXStringImpl_type_o test 2024-06-13 13:09:57 +01:00
Dr Mark C. Sinclair
f90428108f chore(developer): comment out index no parameter test due to risk of buffer overrun 2024-06-13 12:40:41 +01:00
Dr Mark C. Sinclair
1b1add642e chore(developer): add separate file_store fixture for index in GetXStringImpl_type_i; initial GetXStringImpl_type_o test 2024-06-13 12:35:10 +01:00
Dr Mark C. Sinclair
e045a6a55d chore(developer): add nine index test cases to GetXStringImpl_type_i test 2024-06-13 11:34:31 +01:00
Meng-Heng
137443e34f docs(developer): extra context help for keyboard-editor (does not exist in Keyman Developer 17.0)
Fixes: #2131
2024-06-13 14:09:54 +07:00
Meng-Heng
abb2530ea5 docs(developer): context help for Select BCP 47 tag in Keyman Developer
Fixes: #2131
2024-06-13 13:50:53 +07:00
Joshua A. Horton
b22a5fe4fe refactor(web): overhaul ExecutionTimer to better detect paused time
There are three main operations during correction-search:
- replay of old results, if applicable
- generation of new corrections
- generation of predictions rooted on found corrections

Each type naturally has a different 'expected' runtime... so we now make buckets for each.  We can then use stats principles to detect outliers on each level.  (Mixing them all together = higher variance, thus worse detection.)

Also adds a full set of unit tests at 100% coverage for the new implementation.

Fun detail - in practice, when running all of the unit tests on my personal machine, it's able to pick up a fair few 1-5 ms outliers during the prediction-oriented tests!  We previously lacked the resolution to detect those smaller-end cases.

This is work toward #3580, but not the final resolution of it.
2024-06-13 13:26:24 +07:00
Joshua A. Horton
7246b28afc chore(web): move correction-search execution timer to its own file 2024-06-13 13:17:43 +07:00
Meng-Heng
cf6665e2ce docs(developer): context help for new project parameters in keyman developer
Fixes: #2131
2024-06-13 13:13:27 +07:00
Joshua A. Horton
444ae92197 change(web): drop correction batching
While working on #3580, I was noticing some odd behavior after later changes and discovered that the assumption underlying the correction-batching behavior is invalid.  It would also complicate other aspects of #3580, so the simplest answer is likely to remove it.
2024-06-13 13:00:32 +07:00
Joshua A. Horton
17787b95ae chore(web): Merge branch 'change/common/update-esbuild' into change/web/lmworker-async-corrections 2024-06-13 12:49:52 +07:00
Joshua A. Horton
ace4eb25c4 chore(common): Merge branch 'master' into change/common/update-esbuild 2024-06-13 12:47:55 +07:00
Joshua Horton
3cf0082a6b
Merge pull request #10343 from keymanapp/change/web/lmworker-async-predict
change(web): prep for better asynchronous prediction handling 🕐
2024-06-13 12:44:50 +07:00
Meng-Heng
9d2d790fa9 docs(developer): context help in new-project section
Fixes: #2131
2024-06-13 12:19:56 +07:00
Marc Durdin
09ee827270 refactor(common): move .keyman-touch-layout reader/writer to @keymanapp/developer-utils
Relates to #9665
2024-06-13 10:24:14 +10:00
Marc Durdin
a1d94dc528 chore(common): reduce threshold for c8 to 70% 2024-06-13 10:23:47 +10:00
Marc Durdin
b0ff102b45
Merge pull request #11735 from keymanapp/fix/developer/11362-verify-email-addresses-in-package
fix(developer): verify email addresses in .kps and .keyboard_info
2024-06-13 10:04:00 +10:00
Marc Durdin
4090a46363
Merge pull request #11720 from keymanapp/fix/developer/11719-handle-missing-osk-when-importing-windows-keyboard
fix(developer): handle missing OSK when importing a Windows keyboard into a touch-only project
2024-06-13 10:01:00 +10:00
Marc Durdin
f6105d87d8 refactor(common): fixup tests for kvks-file 2024-06-13 09:31:52 +10:00
Marc Durdin
cdbcbe723a chore(common): reduce c8 threshold for common-types by 1% after moving kvk-file 2024-06-13 09:00:36 +10:00
Marc Durdin
1c74d9d713 refactor(common): move kvks-file to @keymanapp/developer-utils
Relates to #9665
2024-06-13 08:58:55 +10:00
Marc Durdin
de9ab217e9 refactor(common): move kps-file.ts to @keymanapp/developer-utils
Part of #9665.
2024-06-13 08:57:49 +10:00
Marc Durdin
071fe5ccb5 chore(developer): fixup reference to xml2js 2024-06-13 08:57:27 +10:00
Keyman Server
dc07893b62
Merge pull request #11762 from keymanapp/auto/version-master-18.0.55
auto: increment master version to 18.0.55
2024-06-12 11:03:24 -07:00
Keyman Build Agent
e327af4440 auto: increment master version to 18.0.55 2024-06-12 14:02:48 -04:00
Marc Durdin
185c020bf1 chore(developer): update xml2js reference for kpj-file-reader 2024-06-12 16:43:28 +07:00
Marc Durdin
b2c4979cf4 chore(common): reduce c8 threshold for common-types
As we move some better-tested areas out of common-types, it looks like
our overall coverage goes down.
2024-06-12 16:31:54 +07:00
Marc Durdin
74e2a8ccea refactor(common): move kpj test fixtures and cleanup post-move
Moves the kpj test fixtures into developer-utils, moves from let to
const in code where required by eslint, and reduces the coverage
threshold in order to get tests to pass for developer-utils.
2024-06-12 16:31:53 +07:00
Marc Durdin
9cf09a5140 refactor(common): move kpj-related files into developer-utils
Relates to #9665.
2024-06-12 16:31:52 +07:00
Marc Durdin
4ed88d8fa6 refactor(developer): move developer-utils files into src/ and sub-folder
In preparation for moving source file types into developer-utils, move
the existing developer-utils files into src/ and src/utils subfolders.
2024-06-12 16:31:50 +07:00
Marc Durdin
2dcc8fb948 fix(developer): prevent non-BMP characters in key part of rule
Currently, keys must be a UTF-16 code unit or a virtual key. Non-BMP
characters are unsupported. Technically, there is space available in the
.kmx `COMP_KEY` structure to accommodate UTF-32 codepoints, from
kmx_file.h:

    KMX_WORD_unaligned Key;
    KMX_WORD_unaligned _reserved;

However, the utility of this is almost nil, as it is very unlikely we
will encounter base keyboards (for mnemonic layouts) that generate any
characters outside the BMP, so there is little value in adding support
for this at this time.

The compiler will generate an error if this is encountered.

Fixes: #11643
2024-06-12 16:23:32 +07:00
Meng-Heng
2d6d007f74 docs(developer): context help in package-editor and put the context help in their tabs
Fixes a portion of #2131:
2024-06-12 15:35:17 +07:00
Sabine
39c25c4cf0 feat(linux): renaming symbols: mostly capital-non-capital at beginning of symbol name 2024-06-12 10:20:30 +02:00
Marc Durdin
074c8f7dac fix(developer): show message if no more platforms to add to touch layout editor
Fixes: #11646
Fixes: KEYMAN-DEVELOPER-1X2
2024-06-12 14:52:38 +07:00
Joshua Horton
ce49f12af9
Merge pull request #10432 from keymanapp/feat/web/package-kbd-renderer
feat(web): add bulk_render variant that loads and renders keyboards from local KMP
2024-06-12 12:56:40 +07:00
Joshua A. Horton
7b4509a467 chore(web): Merge branch 'master' into fix/web/newContext-device 2024-06-12 12:55:25 +07:00
MengHeng
4116f73ecc
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2024-06-12 11:50:07 +07:00
dependabot[bot]
20ea33ac13
chore(deps-dev): bump braces from 3.0.2 to 3.0.3
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-12 01:06:33 +00:00
Joshua Horton
e08f2d52f5
Merge pull request #11746 from keymanapp/chore/common/remove-ts-node
chore(common): end use of ts-node
2024-06-12 08:05:42 +07:00
Joshua Horton
c4137f03fb
Merge pull request #11745 from keymanapp/fix/common/update-subpackage-ts-entries
fix(common): remove subpackage entries for older TS version
2024-06-12 08:05:33 +07:00
Sabine
55c70f7ce3 feat(linux): mcompile.cpp edit some text 2024-06-11 11:28:42 +02:00
Meng-Heng
be78b58df1 docs(developer): context help in keyboard-editor section
Fixes: #2131
2024-06-11 14:36:19 +07:00
Keyman Server
d4866f2c21
Merge pull request #11751 from keymanapp/auto/version-master-18.0.54
auto: increment master version to 18.0.54
2024-06-10 11:05:53 -07:00
Keyman Build Agent
03e1ff48b4 auto: increment master version to 18.0.54 2024-06-10 14:05:06 -04:00
Sabine
71a5226291 feat(mac): function header comments mcompile.cpp, mc_import_rules.cpp, keymap.cpp 2024-06-10 16:54:48 +02:00
Dr Mark C. Sinclair
0bf8c6bbd6 chore(developer): Merge branch 'master' into test/developer/kmcmplib-compiler-unit-tests-2
# Keyman Conventional Commit suggestions:
#
# - Link to a Sentry issue with git trailer:
#     Fixes: _MODULE_-_ID_
# - Give credit to co-authors:
#     Co-authored-by: _Name_ <_email_>
# - Use imperative, present tense ('attach' not 'attaches', 'attached' etc)
# - Don't include a period at the end of the title
# - Always include a blank line before trailers
# - More: https://github.com/keymanapp/keyman/wiki/Pull-Request-and-Commit-workflow-notes
2024-06-10 11:45:08 +01:00
Dr Mark C. Sinclair
c5423201b5 chore(developer): remove unnecessary whitespace 2024-06-10 10:48:53 +01:00
Dr Mark C. Sinclair
92dd72f5fd chore(developer): change includes to use forward slashes (see #11749) 2024-06-10 10:17:02 +01:00
Dr Mark C. Sinclair
13df1cdd33 chore(developer): edits for clarity and visibility, incl add token local variable to GetXStringImpl test 2024-06-10 09:49:50 +01:00