Commit graph

826 commits

Author SHA1 Message Date
Steven R. Loomis
f3fd5aa879
Merge pull request #9687 from keymanapp/feat/core/9119-more-markers-epic-ldml 2023-10-06 18:27:30 -05:00
Steven R. Loomis
25c20ee812 feat(common): fix marker parsing 🙀
- cleaned up regex

For: #9119
2023-10-06 11:58:59 -05:00
Marc Durdin
a1d7095c58
Merge pull request #9681 from keymanapp/chore/common/9262-cleanup-final-non-esm
chore(common): cleanup final Typescript non-ESM metadata
2023-10-06 13:37:54 +11:00
Marc Durdin
8661daacdb
Merge pull request #9680 from keymanapp/chore/common/9679-keyman-version-esm-only
chore(common): keyman-version now generates only es module
2023-10-06 13:37:43 +11:00
Marc Durdin
7e7c81e7ee chore(common): reduce strictness on ts for sentry-manager 2023-10-05 15:48:53 +07:00
Steven R. Loomis
2472a941cf feat(core): match any marker 🙀
- add a regex form that matches any marker

For: #9119
2023-10-04 18:34:20 -05:00
Marc Durdin
3e51389e17
Merge branch 'chore/common/9679-keyman-version-esm-only' into chore/common/9262-cleanup-final-non-esm 2023-10-04 19:07:37 +11:00
Marc Durdin
27dfef024d chore(common): restore (unused) test target for keyman-version 2023-10-04 14:41:31 +07:00
Marc Durdin
39699f75d5 chore(common): restore es5 target for keyman-version 2023-10-04 14:24:17 +07:00
Marc Durdin
d4e4992714 chore(common): cleanup final Typescript non-ESM metadata
Fixes #9262.
2023-10-04 12:55:51 +07:00
Marc Durdin
f432cab851 chore(common): keyman-version now generates only es module 2023-10-04 12:06:46 +07:00
Steven R. Loomis
01c171ce82
Merge pull request #9615 from keymanapp/feat/developer/9403-scancodes-epic-ldml
feat(developer): ldml scan codes support 🙀
2023-10-03 08:55:19 -05:00
Steven R. Loomis
2b2661bb1b feat(developer): scancode and forms 🙀
- fixes to the special case test

Fixes: #9403
2023-10-02 18:00:48 -05:00
Steven R. Loomis
8200f84418 feat(developer): scancode and forms 🙀
- fix casing of k_oC1
- allow vkey 226 to be doubly defined
- drop LdmlVkeyNames table and test, not needed anymore (was for vkey #7135)

Fixes: #9403
2023-10-02 12:30:36 -05:00
Steven R. Loomis
1b8516652b
Actualizar virtual-key-constants.ts
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-10-02 09:23:48 -05:00
Marc Durdin
7adc9b5d95 feat(developer): support store(&version) '17.0'
Fixes #9541.

Also adds version 16.0 support to the kmcmplib compiler constants, and
unit tests for both versions. Does not add any support for automatic
version feature detection, because that forces an inverted dependency on
the touch layout compilation phase (done in kmc-kmw), which would be a
significant refactor. This may be something we need to support in the
future.
2023-10-02 15:30:07 +07:00
Steven R. Loomis
17eba2d237 feat(developer): scancode and forms 🙀
- spec: 'hardware' is no longer an enum but a str.
Ripple effects here.
- custom scancodes and layouts are, interestingly, supported. But it's a warning.
- tests for bad scancodes.

Fixes: #9403
2023-09-30 22:06:39 -05:00
Steven R. Loomis
f5ceac8803
Merge branch 'master' into feat/developer/9403-scancodes-epic-ldml 2023-09-30 19:04:01 -05:00
Steven R. Loomis
ffe00c06b5 feat(common): scancode - move vkey map generation into KeysCompiler 🙀
- also fix visual keyboard compiler to use same code

For: #9403
2023-09-30 18:54:37 -05:00
Steven R. Loomis
4b9d7cbe7e feat(common): scancode - confirming that the calculated scancodes are the same 🙀
For: #9403
2023-09-30 17:22:50 -05:00
Steven R. Loomis
b9f9d9ce50 feat(common): scancode - generate scancode.ts 🙀
- interim step
- also re-add statically

For: #9403
2023-09-30 17:09:06 -05:00
Steven R. Loomis
968da50a5c feat(developer): ldml dynamic scancodes 🙀
- emit scancodes.json

for: feat(developer): ldml scancodes 🙀  #9403
2023-09-28 17:43:06 -05:00
Steven R. Loomis
6e2d858792 feat(developer): ldml dynamic scancodes 🙀
- at least make sure we're using a consistent (if wrong) vkey for each scancode?

for: feat(developer): ldml scancodes 🙀  #9403
2023-09-28 17:16:27 -05:00
Steven R. Loomis
518cc36314 feat(common): scancode - skip test to validate prior changes🙀
- working on a dynamic approach, skipping this test for now

For: #9403
2023-09-28 13:41:19 -05:00
Steven R. Loomis
5fa99f5314 fix(common): update keyman for removal of vkeys 🙀
dropped in upstream CLDR-17093

- missed changes

See #7135
2023-09-28 13:32:02 -05:00
Steven R. Loomis
bdef1c48d3 fix(common): update keyman for removal of vkeys 🙀
dropped in upstream CLDR-17093

See #7135
2023-09-28 13:03:44 -05:00
Joshua A. Horton
05b4de3002 chore(web): Merge branch 'master' into feat/web/default-subkeys-9430 2023-09-26 13:15:53 +07:00
Steven R. Loomis
2c588edbba feat(common): scancode fixes for ks and jis 🙀
- use vkey k.K_oE2 for 0x7D in KS and JIS keyboards

For: #9403
2023-09-25 17:35:44 -05:00
Steven R. Loomis
71aee7a7fa feat(common): scancode fixes for ks and iso 🙀
For: #9403

- per review comments
- track CLDR PR 3282
2023-09-25 17:08:19 -05:00
Steven R. Loomis
27266049f7 feat(common): ldml import infrastructure 🙀
For: #9403

- Just use a local Symbol() instead of a named one, there's no reason for a namespace here.
2023-09-25 15:58:05 -05:00
Steven R. Loomis
f56e4ffa85 feat(common): ldml scancodes 🙀
For: #9403

- unit test the set and row count for codes
- fix errors!
2023-09-22 17:56:35 -05:00
Steven R. Loomis
44f061f293 feat(common): ldml scancodes 🙀
For: #9403

- improve how forms are read in the XML structure
- warnings when custom (non-default-import) scancodes are loaded
- error, as usual, when an unknown form is present
2023-09-22 17:33:20 -05:00
Steven R. Loomis
3a677da0c6 feat(common): ldml scancodes 🙀
For: #9403

- use Symbols to track import status
2023-09-22 16:48:07 -05:00
Steven R. Loomis
6a54ebdd57 feat(developer): ldml scancodes 🙀
For: #9403

- read implied imports for scancodes
2023-09-22 15:20:20 -05:00
Steven R. Loomis
60295cef70 chore(core): ldml update keyboard -> keyboard3 🙀
For: #9604

- DOCTYPE fixes (typos) to make the red squiggles go away
2023-09-20 18:56:29 -05:00
Steven R. Loomis
8be00cb482 chore(resources): code changes for keyboard to keyboard3 🙀 2023-09-18 19:00:32 -05:00
Joshua A. Horton
d488f22fd9 feat(web): browser-KMW support for default subkeys 2023-08-21 10:42:06 +07:00
Steven R. Loomis
b6855e121f feat(core): ldml: support <display id=...> in the 'disp' section 🙀
- "recent" addition to CLDR DTD

Fixes: #8717
2023-08-18 17:02:35 -05:00
Steven R. Loomis
e20123cbf8 fix(common): don't crash on illegal unicodesets 🙀
- UnicodeSetItem was ignoring the error value from sizeUnicodeSet() and calling parseUnicodeSet with an invalid size
- it *is* an error, but should be handled properly.
- an error is already recorded in the callback

The symptom was an internal error where there should have been an error callback.

  2) vars
       should fail to compile: sections/vars/fail-uset-props1.xml:
     Error: Internal Error: uset returned error -1 for [:Adlm:]
      at new UnicodeSetItem
      at VarsCompiler.addUnicodeSet

For: #7377
2023-08-18 17:02:35 -05:00
Steven R. Loomis
0ea1211b72 fix(common): marker test 🙀
- common test lacked update from #9448

#9119
2023-08-17 14:48:50 -05:00
Marc Durdin
add9a43f9e
Merge pull request #9441 from keymanapp/chore/developer/report-fatal-compiler-errors-to-sentry
chore(developer): improve kmc sentry reporting on fatal build errors
2023-08-09 18:35:53 +10:00
Marc Durdin
fa19eea873 chore(developer): improve kmc sentry reporting on fatal build errors
kmc already reported unhandled exceptions, but any handled fatal errors
were captured and only reported to the user. It is better to report
these to Sentry as these are still unexpected.

I have refactored all the fatal exception messages in various kmc
modules to use a common mechanism, keeping all the Sentry integration in
kmc, now passing exception data up in the `CompilerEvent.exceptionVar`
property.

* I took the opportunity to rename messages.ts to
  infrastructureMessages.ts

* @types/chai was missing which gave intellisense errors in vscode

* normal exit of kmc now provides an opportunity for error reports to
  Sentry to be finalized

* Added a unit test for fatal errors in kmc

* Added a manual test pathway with `SENTRY_CLIENT_TEST_BUILD_EXCEPTION`
  env var to trip the build fatal error mechanism and verify that it
  looks ok; the following shows test runs demonstrate how fatal build
  errors are reported:

```
mcdurdin@THARK MINGW64 /c/Projects/keyman/app/developer/src/kmc (chore/developer/report-fatal-compiler-errors-to-sentry)
$ SENTRY_CLIENT_TEST_BUILD_EXCEPTION=1 node . --error-reporting build
fatal KM05001: Unexpected exception: Error: Test exception from SENTRY_CLIENT_TEST_BUILD_EXCEPTION

Call stack:
Error: Test exception from SENTRY_CLIENT_TEST_BUILD_EXCEPTION
    at build (file:///C:/Projects/keyman/app/developer/src/kmc/build/src/commands/build.js:78:19)
    at Command.<anonymous> (file:///C:/Projects/keyman/app/developer/src/kmc/build/src/commands/build.js:66:24)
    at Command.listener [as _actionHandler] (C:\Projects\keyman\app\node_modules\commander\lib\command.js:482:17)
    at C:\Projects\keyman\app\node_modules\commander\lib\command.js:1283:65
    at Command._chainOrCall (C:\Projects\keyman\app\node_modules\commander\lib\command.js:1177:12)
    at Command._parseCommand (C:\Projects\keyman\app\node_modules\commander\lib\command.js:1283:27)
    at C:\Projects\keyman\app\node_modules\commander\lib\command.js:1081:27
    at Command._chainOrCall (C:\Projects\keyman\app\node_modules\commander\lib\command.js:1177:12)
    at Command._dispatchSubcommand (C:\Projects\keyman\app\node_modules\commander\lib\command.js:1077:23)
    at Command._parseCommand (C:\Projects\keyman\app\node_modules\commander\lib\command.js:1248:19)

    This error has been automatically reported to the Keyman team.
      Identifier:  6f0fca1a26694c22b03f02b2463d39c5
      Application: Keyman Developer
      Reported at: https://sentry.io/organizations/keyman/projects/keyman-developer/events/6f0fca1a26694c22b03f02b2463d39c5/

mcdurdin@THARK MINGW64 /c/Projects/keyman/app/developer/src/kmc (chore/developer/report-fatal-compiler-errors-to-sentry)
$ SENTRY_CLIENT_TEST_BUILD_EXCEPTION=1 node . --no-error-reporting build
fatal KM05001: Unexpected exception: Error: Test exception from SENTRY_CLIENT_TEST_BUILD_EXCEPTION

Call stack:
Error: Test exception from SENTRY_CLIENT_TEST_BUILD_EXCEPTION
    at build (file:///C:/Projects/keyman/app/developer/src/kmc/build/src/commands/build.js:78:19)
    at Command.<anonymous> (file:///C:/Projects/keyman/app/developer/src/kmc/build/src/commands/build.js:66:24)
    at Command.listener [as _actionHandler] (C:\Projects\keyman\app\node_modules\commander\lib\command.js:482:17)
    at C:\Projects\keyman\app\node_modules\commander\lib\command.js:1283:65
    at Command._chainOrCall (C:\Projects\keyman\app\node_modules\commander\lib\command.js:1177:12)
    at Command._parseCommand (C:\Projects\keyman\app\node_modules\commander\lib\command.js:1283:27)
    at C:\Projects\keyman\app\node_modules\commander\lib\command.js:1081:27
    at Command._chainOrCall (C:\Projects\keyman\app\node_modules\commander\lib\command.js:1177:12)
    at Command._dispatchSubcommand (C:\Projects\keyman\app\node_modules\commander\lib\command.js:1077:23)
    at Command._parseCommand (C:\Projects\keyman\app\node_modules\commander\lib\command.js:1248:19)
```
2023-08-09 09:34:44 +07:00
Marc Durdin
c02f5ab419 feat(developer): add 'default' property for longpress keys
Fixes #9430.

Adds a 'default' property to subkeys, only used by longpress-type
subkeys:

* Added property to schema and readers/writers
* Added property to touch layout validator
* Added editor for property to layout builder
2023-08-08 14:20:52 +07:00
Marc Durdin
49d471ba17
Merge pull request #8954 from keymanapp/feature-kmc-kmw
epic: kmc-kmw KeymanWeb compiler in Typescript 🗜
2023-08-07 11:37:39 +10:00
Steven R. Loomis
d88c04df97
Merge pull request #9374 from keymanapp/feat/developer/9119-marker-update-spec-epic-ldml
chore(developer): update markers per review 🙀
2023-08-04 14:12:49 -05:00
Marc Durdin
cdf026c2ba chore: Merge branch 'feature-kmc-kmw' into chore/merge-master-into-feature-kmc-kmw-a17s18 2023-08-04 12:54:10 +07:00
Steven R. Loomis
6632aafeec spec(core): update per code review 🙀
- keep 'deadkey' out of the ldml code
- other renames

For: #9119
2023-08-03 19:00:21 -05:00
Steven R. Loomis
d53ae69299
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-08-03 18:56:05 -05:00
Joshua A. Horton
d69d67fa03 fix(web): forgot to target es5 when minifying polyfilled worker 2023-08-03 10:00:06 +07:00
Steven R. Loomis
4aacfbf737 chore(developer): improve code coverage 30% 🙀
- … with this one weird trick

For: #9119
2023-08-02 18:09:58 -05:00