Commit graph

2657 commits

Author SHA1 Message Date
Marc Durdin
c18f1a7e63
Merge pull request #7631 from keymanapp/fix/developer/7628-utf8-urls
fix(developer): URL parameters should be UTF-8
2022-11-11 08:03:00 +11:00
Marc Durdin
4738b6a514 fix(windows): Improve shutdown robustness
Relates to KEYMAN-WINDOWS-B.

While this doesn't address the root cause of the exception, it should
prevent this unhandled exception, and adds breadcrumbs to help us see
which code path might be triggering the issue.
2022-11-10 16:10:49 +11:00
Marc Durdin
31513d657e fix(developer): handle utf-8 paths safely 2022-11-10 15:26:27 +11:00
Marc Durdin
8725deb0d6
Merge pull request #7657 from keymanapp/fix/developer/7656-handle-missing-engine-in-crash-handler
fix(developer): handle crash reports without Keyman Engine installed
2022-11-09 16:46:13 +11:00
Darcy Wong
7fe850c603
Merge pull request #7652 from keymanapp/fix/web/polyfill-find-index
fix(web): Add polyfill for Array.findIndex()
2022-11-09 07:18:36 +07:00
Darcy Wong
7d265b5f42
Merge pull request #7646 from keymanapp/fix/web/polyfill-includes
fix(web): Add polyfill for Array.includes()
2022-11-09 07:18:19 +07:00
Marc Durdin
ec1af3de97 fix(developer): handle crash reports without Keyman Engine installed
Fixes #7656.

If Keyman Developer is installed, but not Keyman for Windows, then
tsysinfo.exe is not present. If a crash occurs, this causes a secondary
crash when trying to display the error handler dialog. In this
situation, we now just show a dialog box with a short message rather
than the more friendly dialog available via tsysinfo.exe.

We could consider adding tsysinfo.exe into Keyman Developer for a future
release.
2022-11-09 08:46:30 +11:00
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
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
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
Joshua A. Horton
527aaa6618 feat(web): keyboard layout now allows numeric width, pad, sp 2022-10-19 10:27:38 +07: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
Marc Durdin
318058478b
Merge branch 'master' into chore/common/builder-tweaks 2022-10-13 13:30:13 +11:00
Marc Durdin
57f305666e
Update build.sh 2022-10-13 12:02:07 +11:00
Marc Durdin
d89c63aaf3
Update common/predictive-text/build.sh
Co-authored-by: Joshua Horton <joshua_horton@sil.org>
2022-10-13 06:04:14 +11:00
Marc Durdin
b7000f5b7f chore(common): builder_start_action wildcard support 2022-10-12 13:28:37 +11:00
Marc Durdin
30121d9793 chore(common): remove space for builder_..._action param 2022-10-12 13:28:37 +11:00
Marc Durdin
1cecb87f7f feat(common): builder dependency support 2022-10-12 12:50:26 +11:00
Joshua A. Horton
e347aeabfe chore(common/models): minor tweaks per review 2022-10-05 09:04:23 +07:00
Joshua A. Horton
d97b1eba3c fix(common/models): pred-text build.sh ignored --ci option 2022-10-04 09:20:42 +07:00
Joshua A. Horton
750a266796 chore(common/models): adds 'flag' file for CI use 2022-10-04 08:51:01 +07:00
Joshua A. Horton
d9a4d49fcf feat(common/models): pred-text library unit tests now emit CI-friendly reports 2022-10-04 08:48:56 +07:00
Joshua A. Horton
9f952cd6eb chore(web): retools input-processor build, test scripts 2022-10-03 15:03:13 +07:00
Joshua A. Horton
4176605c37 chore(common/models): script doc tweak 2022-10-03 14:04:48 +07:00
Joshua A. Horton
dd9d773720 chore(common/models): lmlayer build.sh now builder-based 2022-10-03 12:45:23 +07:00
Joshua A. Horton
a2c9e7e514 chore(common/models): lmlayer tests now builder-based 2022-10-03 10:59:00 +07:00
Joshua Horton
fc7dfb9879
Merge pull request #7346 from keymanapp/chore/web/update-toolchain
chore(web): update Node dev-dependencies
2022-09-27 08:53:42 +07:00
Joshua A. Horton
12c1de791e change(common/models): better handling of prior commit 2022-09-22 09:46:18 +07:00
Joshua A. Horton
5b2ba7aa70 chore(common/models): fixes script warning for unstarted action 2022-09-22 09:40:51 +07:00
Joshua A. Horton
fc105b1dab chore(web): updates karma dev-dependency 2022-09-22 09:13:20 +07:00
Joshua A. Horton
cf1088027b fix(common/web): mocks did not update deadkey positions on context manipulation 2022-09-22 08:57:45 +07:00
Marc Durdin
51b1808c9a chore: typo in lm-worker build 2022-09-21 10:32:33 +10:00