Commit graph

5162 commits

Author SHA1 Message Date
Marc Durdin
d7fbdfc59a
Merge pull request #7617 from keymanapp/fix/developer/7616-inferred-key-text-stability
fix(developer): improve support for inferred key cap text
2022-11-09 05:14:44 +11:00
Marc Durdin
3113d613e0
Merge pull request #7638 from keymanapp/fix/web/7636-system-keyboard-modifier-keys
fix(web): avoid reset for touch system keyboard
2022-11-09 05:10:59 +11:00
Darcy Wong
9baa77c015 fix(web): Add polyfill for Array.findIndex 2022-11-08 14:39:15 +07:00
Darcy Wong
e27b70d5a0 fix(web): Add polyfill for Array.includes() 2022-11-08 09:26:45 +07:00
Marc Durdin
b8f5ebd40a fix(developer): prevent exception in charmap when unable to focus
It appears that components within a docking form are unable to be
focused in some, rare contexts. We don't want to crash, and the end
result of not focusing  is not really all that tragic, so let's just
mask the exception.
2022-11-07 08:49:11 +11:00
Marc Durdin
88e5bb8cdd fix(web): doModifierPress was testing against wrong device
The doModifierPress function was testing against the 'actual' device
rather than the virtual device, which meant that in the web debugger on
a desktop, testing a touch device, it was effectively testing against
the desktop device data rather than the simulated touch device data.

I did not observe any significant differences in behaviour between the
two modes. So I am not 100% confident that this change is necessary. But
it is a little concerning that there was a mismatch here.
2022-11-07 07:01:50 +11:00
Marc Durdin
7255f1c7f7 fix(web): avoid reset for touch system keyboard
When using the touch 'system' keyboard, the modifier keys are reset by
the kbdMismatch logic introduced in #7543. This is evident in the web
debugger of Keyman Developer, where the system keyboard is easily
accessible.

This maintains the fix from #7543, but removes the `resetContext()`
side-effect.
2022-11-07 06:43:39 +11:00
Marc Durdin
0f2fbd443d fix(developer): URL parameters should be UTF-8
Fixes #7628.

Indy components do not treat URLs as UTF-8. Our legacy EncodeURL
function (sourced from Indy components) was the same. Discovered we
needed to fixup the parsing of URLs as well as the construction of them;
there may be other places we need to fix, although I did do a search for
the relevant types in TIKE source.
2022-11-05 07:19:31 +11:00
Marc Durdin
238a8e9185 fix(developer): improve support for inferred key cap text
Fixes #7616.

Fixes a crash when attempting to infer key cap text from key id, and
cleans up the support for inferred key text so that it works correctly
in the designer.

Also adds a safeguard to KMW to stop invalid key ids causing a crash.
2022-11-04 06:18:24 +11:00
Marc Durdin
d9a9c651f9
Merge pull request #7601 from keymanapp/fix/developer/7599-range-error-on-language-switch
fix(developer): handle high-bit-set HKL correctly
2022-11-03 09:02:13 +11:00
Steven R. Loomis
77f8f41c21 feat(developer): improve validation and gap/switch 🙀
- keys: error if to, gap, AND switch are missing
- add parts to LKKey
- add err message and test case

#7401
2022-11-02 13:42:15 -05:00
Steven R. Loomis
a212aefeec feat(developer): improve err msg from Ajv 🙀
- make it clearer what the exact issue is by extracting
params from the Ajv error
2022-11-02 13:41:43 -05:00
Steven R. Loomis
14dd4aeba6 chore(developer): ldml: cleanup 🙀
- remove LKBackspace*
- rename some compiler warnings and classes to match current CLDR
( keyMaps is now keys, vkeyMaps is now vkeys, etc.)

#5015
2022-11-02 13:40:25 -05:00
Steven R. Loomis
5421b6ec0b Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-11-02 13:36:24 -05:00
Steven R. Loomis
1c7517c5a8 fix(developer): ldml: yet more review feedback fixes 🙀
🙀 #7532
2022-11-02 13:36:24 -05:00
Steven R. Loomis
002316313d fix(developer): ldml: review feedback fixes 🙀
- update disp to always generate disps=[] and baseCharacter

🙀 #7532
2022-11-02 13:36:24 -05:00
Steven R. Loomis
8a13185f72 fix(developer): ldml: review feedback fixes 🙀
- removing basic.kmx and basic.kvm
- add an only-options display test
- fix indentation
- fix typos

🙀 #7532
2022-11-02 13:36:24 -05:00
Steven R. Loomis
49b46f42ea feat(common): ldml: builder disp 🙀
- with initial core updates

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-02 13:36:24 -05:00
Steven R. Loomis
d42811b341 feat(common): ldml: compiler disp 🙀
- with tests

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-02 13:36:24 -05:00
Steven R. Loomis
56b8b11144 feat(common): ldml: KMXPlusData for disp 🙀
For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-02 13:36:24 -05:00
Marc Durdin
d01fe7551d fix(developer): handle high-bit-set HKL correctly
Fixes #7599.

MSKLC HKLs have high bit set, which means that we need to explicitly
cast from Integer to DWord to avoid range check errors.
2022-11-02 17:12:28 +11:00
Marc Durdin
69c1be968e
Merge pull request #7595 from keymanapp/fix/developer/7582-publish-keyman-version
fix(developer): publish `@keymanapp/keyman-version` to npm
2022-11-02 14:49:25 +11:00
Marc Durdin
c336a8052c fix(developer): publish @keymanapp/keyman-version to npm
Fixes #7582.

Because of https://github.com/npm/cli/issues/3466, we must publish our
internal dependency @keymanapp/keyman-version. This change adds a common
builder function builder_publish_to_npm in build-utils-ci.inc.sh to help
with that task, which should be adopted by other scripts that need to
publish to npm, in the future.

For now, responsibility for publishing keyman-version is delegated to
kmlmc. In the future, we will move this to a single top-level build
action that publishes all npm modules across the entire repo for the
given version.
2022-11-02 13:33:24 +11:00
Marc Durdin
3e220e33c4 fix(developer): generate a default icon for basic keyboard projects
Fixes #2803.

The new basic project template will now include a default icon,
generated either from the first BCP 47 tag, or else from the first 3
letters of the filename of the keyboard.

The icon will not be included if the keyboard does not target desktop
platforms, as web/touch do not currently support the icon.
2022-11-01 15:14:13 +11:00
Joshua A. Horton
43bf49d1cd change(common/models): adds optional 'testMode' param to LMLayer config 2022-10-31 09:34:22 +07:00
Joshua Horton
a060ccb6fd
Merge pull request #7543 from keymanapp/fix/web/oskEvent-keyboard-synch
fix(web): ensures keyboard does not change underneath OSK keystroke
2022-10-26 14:13:54 +07:00
Joshua A. Horton
c3e3fb04d5 fix(web): ensures keyboard does not change underneath OSK keystroke 2022-10-26 09:45:26 +07:00
Joshua A. Horton
f4591af1bc chore(web): right, stash + pop drops the exec bit too 2022-10-26 08:46:32 +07:00
Joshua A. Horton
5d411148ce chore(web): moves browserstack-termination script to common test resources 2022-10-26 08:44:48 +07:00
Joshua A. Horton
042daf7fdc fix(web): failsafe button-class val on failed string parse 2022-10-21 10:40:29 +07:00
Joshua A. Horton
3704e71818 refactor(web): layout 'sanitize' methods 2022-10-20 09:32:35 +07:00
Joshua A. Horton
ecc9edeb66 change(web): layout row id number coercion 2022-10-20 08:54:19 +07:00
Joshua A. Horton
7ddadbe145 chore(web): padpc, widthpc cleanup 2022-10-20 08:47:59 +07:00
Sabine
abac2c680f chore(developer): edit + add CERR_tests 2022-10-19 18:46:04 +02:00
Joshua A. Horton
527aaa6618 feat(web): keyboard layout now allows numeric width, pad, sp 2022-10-19 10:27:38 +07:00
Steven R. Loomis
8ffba3f5d4 fix(developer): fixes for flicks, imports, specials 🙀
With this change, fr-t-k0-azerty.xml and mt.xml can load without any
ERROR 300007: The source file has an invalid structure errors.

Other errs show up, but it is progress.

Fixes #7411
2022-10-18 12:53:56 -05:00
Steven R. Loomis
56dcbc9a88 fix(developer): support updated CLDR structure 🙀
- backspace is now a transform type. Keep the same test.
2022-10-18 12:53:06 -05:00
Steven R. Loomis
85da473a85 chore(developer): update DTD location 🙀
- dtd is in a subdirectory to match CLDR layout
2022-10-18 12:52:27 -05:00
Steven R. Loomis
66a5cdb1f9 chore(developer): ldml: update tools and data for keyboard-preview 🙀
- update tooling in common and kmc
- update spec
- update test files
2022-10-18 11:32:41 -05:00
Joshua A. Horton
d692166e7d chore(web): fixes nested dependency/configures 2022-10-18 13:14:29 +07:00
Steven R. Loomis
85ed41e16c
Merge pull request #7410 from keymanapp/fix/developer/7404-elem0-epic-ldml 2022-10-17 08:53:23 -05:00
Steven R. Loomis
7e5c9ec675 fix(developer): offset of 0th elem str must be 0000 🙀
- update test fixture
- update kmx_plus.cpp to require this

Fix: 7404
2022-10-14 15:00:49 -05:00
Marc Durdin
cbb15b2cb9 chore(core): tweak scripts 2022-10-14 16:32:57 +11:00
Marc Durdin
2cf6bf3f60 chore(common): update build.sh dependencies for epic-ldml 2022-10-14 10:45:00 +11:00
Marc Durdin
986544c778 feat(common): builder script dependency and legacy script report
Adds /resources/build/builder-report.sh, internal maintenance script for
tracking build dependency tree and remaining legacy build.sh scripts.

@keymanapp-test-bot skip
2022-10-14 07:54:00 +11:00
Sabine
b6a68c9f69 Merge branch 'refactor/developer/6026-kmcompx-compiler-cross-platform-part-2-NEW_VERSION' of https://github.com/keymanapp/keyman into refactor/developer/6026-kmcompx-compiler-cross-platform-part-2-NEW_VERSION
# Conflicts:
#	common/test/keyboards/invalid/source/CERR_1234_sil_yoruba8_WrongCopyrightChar_and_WrongErrNrInName.kmn
#	common/test/keyboards/invalid/source/CERR_40133_balochi_phonetic_WrongErrNrInName.kmn
#	common/test/keyboards/invalid/source/sil_yoruba8_WrongCopyrightChar_AndMissingErNrInName.kmn
#	common/test/keyboards/invalid/source/xCERR_4034_balochi_phonetic_WrongNamingConvention.kmn
chore(developer): solve conflicts
2022-10-13 18:05:28 +02:00
Sabine
f74e69682d chore(developer): add some more keyboardtests 2022-10-13 17:13:43 +02:00
Marc Durdin
ce888d42e7 chore(common): fixup broken kmlmc script dependency
Rewrite of remaining new build.sh scripts will come in a subsequent PR.

@keymanapp-test-bot skip
2022-10-13 15:44:18 +11:00
Joshua A. Horton
54651d0163 feat(web): test script can trigger module build 2022-10-13 10:09:47 +07:00
Joshua A. Horton
2adf94f1c3 chore(web): builder script updates 2022-10-13 10:06:28 +07:00