Commit graph

24978 commits

Author SHA1 Message Date
Marc Durdin
25717d1d1c chore: fix unit test 2023-08-11 14:06:22 +07:00
Joshua A. Horton
80e96210ce refactor(web): multi-source mocked simulation 2023-08-11 12:54:21 +07:00
Joshua A. Horton
5435f79903 fix(web): oh yeah, export the class 2023-08-11 12:53:04 +07:00
Joshua A. Horton
84b8afa040 docs(web): removes older form of new class's documenation 2023-08-11 12:39:33 +07:00
Joshua A. Horton
ea775d9ebf feat(web): queued promise prioritizer / resynchronizer 2023-08-11 12:35:23 +07:00
Joshua Horton
50543d601e
Merge pull request #9423 from keymanapp/chore/web/GestureSource-rename
chore(web): SimpleGestureSource => GestureSource 🐵
2023-08-11 12:15:19 +07:00
Joshua Horton
3b06ce0016
Merge pull request #9406 from keymanapp/refactor/web/gesture-source-paradigm
refactor(web): simplifies the gesture source paradigm 🐵
2023-08-11 12:15:08 +07:00
Joshua Horton
46ae042bc6
Merge pull request #9320 from keymanapp/feat/web/gesture-model-matching
feat(web): gesture modeling + isolated matching 🐵
2023-08-11 12:14:59 +07:00
Marc Durdin
aa9788ad46 chore(common): remove deprecated fields from keyboard_info
Removes the following fields:
* legacyId
* documentationFilename
* documentationFileSize
* links
* related[].note

None of these fields are needed any longer; see #9351 for steps to
remove data.

Eliminates difference between keyboard_info source and distribution,
renaming to keyboard_info.schema.json, and updating the required members
of the json accordingly.

Will have corresponding commits in keyman.com, api.keyman.com,
help.keyman.com, and keyboards repositories.
2023-08-11 10:34:38 +07:00
Steven R. Loomis
06f2c6432d
Merge pull request #9405 from keymanapp/feat/core/9119-marker-core-epic-ldml 2023-08-10 19:06:05 -05:00
Steven R. Loomis
75fcc5f3fe chore(core): regex cleanup 🙀
- cache the icu::RegexPattern
- rename USet to avoid a conflict with the real one!

For: #9121
2023-08-10 18:35:06 -05:00
Steven R. Loomis
36b4022165 chore(core): regex build 🙀
- fix linkage for some scenarios

For: #9121
2023-08-10 17:50:00 -05:00
Steven R. Loomis
4fc15c9175
Merge branch 'feat/core/9119-marker-core-epic-ldml' into feat/core/9121-regex-epic-ldml 2023-08-10 17:28:57 -05:00
Steven R. Loomis
2bf22c440d feat(core): marker fixes per review comments 🙀
- simplify and improve context processing

For: #9119

Co-authored-by: rc-swag <58423624+rc-swag@users.noreply.github.com>
2023-08-10 13:30:29 -05:00
Steven R. Loomis
66ee68d2b3
Apply suggestions from code review
Co-authored-by: rc-swag <58423624+rc-swag@users.noreply.github.com>
2023-08-10 09:36:16 -05:00
sgschantz
4010c79bf9 handle PersistOption action; persisting but not loading at startup yet 2023-08-10 11:30:12 +07:00
Steven R. Loomis
aecb7c5f5e feat(core): regex apply-side 🙀
- apply side is working using replaceFirst()
- mapTo is a not-yet, that will be a special case

For: #9121
2023-08-09 18:08:25 -05:00
Steven R. Loomis
1aba900b01 feat(core): regex match-side 🙀
- match side is working
- lots of string 'schlepping!

For: #9121
2023-08-09 17:45:56 -05:00
Steven R. Loomis
022265e1b8 feat(core): regex 🙀
- update more test deps to link with ICU…

For: #9121
2023-08-09 16:27:56 -05:00
Steven R. Loomis
742373b673 feat(core): u32string_to_u16string 🙀
For: #9121
2023-08-09 16:19:38 -05:00
Steven R. Loomis
e010b6a5bc feat(core): limit max marker to 0xD7FF 🙀
- to avoid mismatched surrogate pairs in markers

For: #9119
2023-08-09 14:54:37 -05:00
Keyman Server
c6c2581481
Merge pull request #9447 from keymanapp/auto/version-master-17.0.159
auto: increment master version to 17.0.159
2023-08-10 01:06:42 +07:00
Keyman Build Agent
442900a52b auto: increment master version to 17.0.159 2023-08-09 14:06:08 -04:00
Steven R. Loomis
c23303ee23
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-08-09 12:52:28 -05:00
Steven R. Loomis
f0c81687f6 feat(core): marker fixes per review comments 🙀
- move prepend_marker() to inline
- clear the string in context_to_string()

For: #9119
2023-08-09 12:51:35 -05:00
Steven R. Loomis
f21bd8212d
Merge branch 'master' into feat/core/9119-marker-core-epic-ldml 2023-08-09 11:03:53 -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
0692b8200a chore: address review comments 2023-08-09 15:35:33 +07:00
Marc Durdin
22f7bdc011
Merge pull request #9432 from keymanapp/feat/developer/9430-default-long-press
feat(developer): add 'default' property for longpress keys
2023-08-09 18:32:32 +10:00
Marc Durdin
087c68f4ca
chore: Apply suggestions from code review 2023-08-09 18:32:20 +10:00
Marc Durdin
9e45159e9e
Merge pull request #9431 from keymanapp/chore/stats-script-reverb
chore: stats script parameters
2023-08-09 18:28:51 +10:00
Marc Durdin
efe3c707d8
chore: Apply suggestions from code review 2023-08-09 18:28:41 +10:00
rc-swag
7e8e7be86f
Merge pull request #9353 from keymanapp/feat/windows/5822/notify-core-on-kbd-activation
feat(windows): Use Keyboard Activated event API call to turn off caps lock (if required) 🚏
2023-08-09 14:12:00 +10:00
rc-swag
e79cfc90d2
feat(windows): review comment
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-08-09 12:59:59 +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
Steven R. Loomis
5c38b18395 feat(core): update icu dependencies 🙀
- enable icui18n
- .. without breaking anything else in ldml tests

For: #9121
2023-08-08 18:45:03 -05:00
Steven R. Loomis
1472bc56b1 feat(core): regex test 🙀
For: #9121
2023-08-08 18:44:27 -05:00
Steven R. Loomis
f1c74529d9
Merge branch 'master' into feat/core/9119-marker-core-epic-ldml 2023-08-08 18:43:52 -05:00
Marc Durdin
0d957937ed
Merge pull request #9435 from keymanapp/chore/linux/launchpad
chore(linux): Disable Mantic builds on Launchpad
2023-08-09 08:40:07 +10:00
Keyman Server
f7ab7dba43
Merge pull request #9437 from keymanapp/auto/version-master-17.0.158
auto: increment master version to 17.0.158
2023-08-09 01:02:51 +07:00
Keyman Build Agent
dadf174273 auto: increment master version to 17.0.158 2023-08-08 14:02:18 -04:00
Eberhard Beilharz
ab7a1a952a chore(linux): Disable Mantic builds on Launchpad
Mantic builds currently fail because there's a newer ibus version in
the official Ubuntu repos that overrides our patched ibus version.
Ubuntu is trying to get ibus 1.5.29-beta to work so there are often
new packages. We wait until that stabilized before we're providing a
new patched ibus version at which point we can enable building for
Ubuntu 23.10 Mantic.

Closes #9428.
2023-08-08 14:02:48 +02:00
Eberhard Beilharz
93731dba8d
Merge pull request #9413 from keymanapp/fix/linux/smallfixes
fix(linux): fix memory leaks and method name
2023-08-08 13:51:25 +02: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
d4c7486662 chore: stats script parameters 2023-08-08 13:07:16 +07:00
Steven R. Loomis
93b1771570
Merge branch 'master' into feat/core/9119-marker-core-epic-ldml 2023-08-07 16:40:07 -05:00
Keyman Server
574e8505fd
Merge pull request #9429 from keymanapp/auto/version-master-17.0.157
auto: increment master version to 17.0.157
2023-08-08 01:10:08 +07:00
Keyman Build Agent
030e17580a auto: increment master version to 17.0.157 2023-08-07 14:09:30 -04:00
Joshua A. Horton
54c0b02c61 refactor(web): fixes unit-test helper func name, puts in own script 2023-08-07 10:17:22 +07:00
Shawn Schantz
ba15e4ac1c
Merge branch 'feature-macos-core' into feature/core/add-core-wrapper 2023-08-07 10:07:42 +07:00