Commit graph

24978 commits

Author SHA1 Message Date
Steven R. Loomis
28d520f5df feat(core): reorder tests 🙀
- attempting to only subsort ranges

For: #9120
2023-07-12 18:07:20 -05:00
Steven R. Loomis
94af1f64b5 feat(core): reorder tests 🙀
- use sizeof(), not std::size() (C++17)

For: #9120
2023-07-12 18:07:20 -05:00
Steven R. Loomis
1ea3473e34 feat(core): more prep work for reorder 🙀
- tests for sortkey generation and sorting
- improvements to element flag analysis
2023-07-12 18:07:06 -05:00
Steven R. Loomis
a5a2b61479 feat(core): unit test for reorder! 🙀
- add functions for checking type and ordering
  in elements
- fails, of course! implementation to come

For #9120
2023-07-12 18:07:06 -05:00
Steven R. Loomis
f5b70a952c feat(core): refactor for reorder implementation 🙀
- some polymorphic objects
- element list
- add new reorder test

For: #9120
2023-07-12 18:07:06 -05:00
Steven R. Loomis
f3bfef0cc3 fix(common): set variables need to serialize elementstring 🙀
- populate the 'elem' field of set variables
- this will be needed for mapFrom/mapTo

For: #7375
2023-07-12 16:44:50 -05:00
Steven R. Loomis
30f33ecd4e fix(core): don't use double newlines in debuglog
- syslog() will automatically add newlines (per mac and linux manpages)
- there's no reason to add NL *AND* add std::endl
- this fix will cause syslog to have no newline going in, and print only one instead of two newlines on other platforms/environments
2023-07-12 12:34:33 -05:00
Marc Durdin
4a329f9552 chore(developer): move touch layout schema load into import 2023-07-12 15:55:44 +07:00
Joshua Horton
6ac9faab72
chore(web): Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-07-12 15:48:22 +07:00
Marc Durdin
568a8141dd chore(common): additional cleanup on schema loading 2023-07-12 13:11:06 +07:00
Marc Durdin
2d69be9104 refactor(common): bundle schemas into web/types
Removes the loadSchema function and instead resolves schema with
import statements. Next commit will do the same work for Developer
modules.
2023-07-12 12:53:56 +07:00
Marc Durdin
1a52e61d4e fix(developer): use relative paths in kmc messages
Fixes #9250.
2023-07-12 12:09:16 +07:00
Marc Durdin
111de31fd6 chore(developer): fix tests and linting 2023-07-12 12:08:48 +07:00
Marc Durdin
fa3980f598 feat(developer): deploy kmc as ES module
Deploy kmc as an ES module, forced now by top-level await that we use in
the sentry load.

Moved NodeCompilerCallbacks to same util folder as schemas are found in,
to avoid rewriting schema loading with imports in this PR. It belongs
better there than messages/ anyway.

Distributed files are now .mjs. Removed --enable-source-maps from
launchers as logging will be managed with sentry anyway.
2023-07-12 10:20:35 +07:00
Steven R. Loomis
7b094f42e7 chore(common): add BUILDER_STR_REF 🙀
- and similar
- also aliases for r.uint32le on the KMXPlusFile side.

Fixes #9079
2023-07-11 18:08:46 -05:00
Keyman Server
9eebecf9e7
Merge pull request #9247 from keymanapp/auto/version-master-17.0.139
auto: increment master version to 17.0.139
2023-07-12 01:03:29 +07:00
Keyman Build Agent
c22a33de3b auto: increment master version to 17.0.139 2023-07-11 14:02:44 -04:00
Eberhard Beilharz
87ccb6e945
chore(linux): Use different backend for unit tests 2023-07-11 17:36:22 +02:00
Eberhard Beilharz
8b9f3eb2c5
chore(linux): Add another test 2023-07-11 17:33:46 +02:00
Marc Durdin
8082f5f3bd chore(developer): workaround TS2367 2023-07-11 17:44:56 +07:00
Eberhard Beilharz
3cc9f09d82
fix(linux): Replace deprecated Image.ANTIALIAS
Fixes #9244.
2023-07-11 12:14:26 +02:00
Eberhard Beilharz
eedf7545c8
refactor(linux): Refactor some code 2023-07-11 12:13:45 +02:00
Marc Durdin
adbc1c4309
Merge pull request #9237 from keymanapp/chore/developer/compiler-warnings-as-errors
chore(developer): handle compilerWarningsAsErrors option 🗜
2023-07-11 18:53:20 +10:00
Marc Durdin
44e5b5a058
Merge pull request #9234 from keymanapp/chore/developer/kmc-color-switch
chore(developer): add `--color` switch to kmc 🗜
2023-07-11 18:53:09 +10:00
Marc Durdin
11ab1e0409
Merge pull request #9228 from keymanapp/chore/developer/kmc-message-formatting
chore(developer): cleanup compiler messages in kmc 🗜
2023-07-11 18:52:59 +10:00
Eberhard Beilharz
b328d82145
Merge pull request #9221 from keymanapp/chore/linux/tests
chore(linux): Trigger Linux integration tests
2023-07-11 10:50:30 +02:00
Marc Durdin
b435471b24 feat(developer): add sentry reporting for kmc
Fixes #9113.

Adds sentry reporting, plus helper functions, for kmc. Includes the
now-standard `-sentry-client-test-exception` command line parameter,
with `kmcmplib` and `event` sub-options available.

Uploads kmc* sourcemaps to sentry on a release build.

On Windows, honours the registry setting for error reporting. Also
includes a command line option `--[no-]error-reporting` (must be used
prior to initial command, e.g. `kmc --no-error-reporting build ...`).
2023-07-11 15:45:41 +07:00
Eberhard Beilharz
847556b176
Merge pull request #9193 from keymanapp/chore/update-data
chore: Update standards data
2023-07-11 08:59:25 +02:00
Eberhard Beilharz
4f686e3fb4
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-07-11 08:58:44 +02:00
Marc Durdin
d5aeecd7d3 chore(developer): suppress excessive messages in kmc
Fixes #9147.
2023-07-11 12:55:19 +07:00
Marc Durdin
53e2ae0ac2 fix(developer): touch layout font test should be lower case
Fixes #9110.

Also, `!=` has higher precedence than `??`.

This returns a boolean result:

```
(platform.font?.toLowerCase() ?? '') != FTouchLayoutFont
```

But `!=` has higher precedence than `??` so this returns the font name:

```
platform.font?.toLowerCase() ?? '' != FTouchLayoutFont
```
2023-07-11 12:34:11 +07:00
Marc Durdin
31083c2ed3 chore(developer): unit test for compilerWarningsAsErrors
Also adds inverse option -W, --no-compiler-warnings-as-errors
command line parameter.
2023-07-11 12:14:51 +07:00
Marc Durdin
804215145f chore(developer): handle compilerWarningsAsErrors option
Fixes #9100.

The `compilerWarningsAsErrors` option can be passed in as a command-line
option or in the project options. Command-line option, if present, takes
precedence over the project option. If neither is set, then the value is
`false`.

Handling of this is within kmc, rather than individual modules.
2023-07-11 10:16:41 +07:00
Marc Durdin
02a1c48d18 chore(developer): add --color switch to kmc
Fixes #9233.

Adds --color and --no-color switches to kmc command line, with default
being determined by console mode.

Also ensures color initialization happens just once in
NodeCompilerCallbacks and moves constants to top of file.
2023-07-11 06:25:21 +07:00
Keyman Server
b4df4ab808
Merge pull request #9232 from keymanapp/auto/version-master-17.0.138
auto: increment master version to 17.0.138
2023-07-11 01:03:24 +07:00
Keyman Build Agent
51283f9b35 auto: increment master version to 17.0.138 2023-07-10 14:02:48 -04:00
Eberhard Beilharz
fce123e942 Revert "fix(windows): Fix Delphi makefile"
This reverts commit 88c2e1a4f2.
2023-07-10 11:31:51 +02:00
Marc Durdin
acb2e2e1ff chore(developer): split file and project build messages 2023-07-10 15:36:39 +07:00
Marc Durdin
de1c171f46 chore(developer): cleanup compiler messages in kmc
Fixes #8795.
Relates to #9090.

Cleans up and makes consistent compiler messages in kmc, and related
unit tests.

Adds support for colorized messages.

After installing chalk for ansi coloring in kmc, @types/node needed to
be brought in sync with the Typescript version, per the suggestion of
checking against `npm dist-tags @types/node`,found in a discussion at
https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/64262#discussioncomment-4905069

Additional tidying up includes:
* Deprecating a set of functions in compiler-interfaces, bringing them
  together under a new CompilerError class.
  Separating CompilerErrorSeverity and CompilerErrorMask enums.
* Making CompilerError.formatEvent (formerly compilerEventFormat) print
  messages in the same format as NodeCompilerCallbacks (sans coloring).
* Adding a wrapper class for CompilerCallbacks that manages the filename
  reporting, used currently exclusively by kmc itself.
2023-07-10 15:13:48 +07:00
Joshua Horton
c25eb2958e
Merge pull request #9206 from keymanapp/fix/web/layout-warning-during-init
fix(web): silences low-priority warning that shows up in iOS kbd init
2023-07-10 15:09:15 +07:00
Joshua Horton
71f045fdc5
Merge pull request #9217 from keymanapp/feat/web/enhanced-debug-info
feat(web): logs enhanced debug info for error reports
2023-07-10 15:08:14 +07:00
Joshua A. Horton
2523b41a9d chore(web): DRYs out timedPromise defs 2023-07-10 14:35:52 +07:00
Joshua A. Horton
1f338bae99 change(web): better adherence to official Promise terms 2023-07-10 14:35:44 +07:00
Joshua A. Horton
a32412410b feat(web): adds TimeoutPromise 2023-07-10 13:03:30 +07:00
Marc Durdin
0e822e12bd
Merge pull request #9218 from keymanapp/chore/merge-master-into-feature-kmc-kmw-A17S16
chore: merge master into feature-kmc-kmw A17S16
2023-07-10 14:04:30 +10:00
Marc Durdin
6113d2fea6
Merge pull request #9225 from keymanapp/chore/9224-authenticate-gh-for-trigger-test-builds
chore: authenticate github request when triggering test builds
2023-07-10 12:19:38 +10:00
Marc Durdin
2d8fb8cda9 chore: authenticate github request when triggering test builds 2023-07-10 09:10:04 +07:00
Marc Durdin
7e8ba8bad3 chore(developer): fixup test parameters 2023-07-10 08:52:59 +07:00
Joshua A. Horton
43f05ee4f1 docs(web): about silenced warning 2023-07-10 08:35:11 +07:00
Joshua Horton
57b2c5e0f1
Merge pull request #9220 from keymanapp/chore/feature-gestures-update-a17s16-end
chore(web): merge master into feature-gestures (end of A17S16)
2023-07-10 08:13:56 +07:00