Commit graph

444 commits

Author SHA1 Message Date
Steven R. Loomis
8b65010892
Merge pull request #10306 from keymanapp/feat/developer/9121-reject-bad-regex-epic-ldml
feat(developer): escape bad markers 🙀
2024-01-03 11:47:11 -06:00
Steven R. Loomis
54c77e2de9
Merge pull request #10300 from keymanapp/fix/developer/10291-layer-errs-epic-ldml
fix(developer): quell internal error when  a section fails 🙀
2024-01-02 17:05:00 -06:00
Steven R. Loomis
a6151e681b
Merge branch 'chore/core/ldml-test-robust-epic-ldml' into feat/developer/9121-reject-bad-regex-epic-ldml 2024-01-02 17:04:37 -06:00
Steven R. Loomis
24cd664502
Update common/web/types/src/ldml-keyboard/pattern-parser.ts
Co-authored-by: Marc Durdin <marc@durdin.net>
2024-01-02 17:04:14 -06:00
Marc Durdin
edc950727f
Merge pull request #10208 from keymanapp/feat/developer/9473-kmc-module-api-consolidation
feat(developer): Consolidate public APIs for kmc modules
2024-01-02 15:35:47 +11:00
Steven R. Loomis
80ba5aa0ce fix(developer): escape markers as regex 🙀
- escape markers to prevent the n'th marker from having some other meaning
2023-12-30 11:18:51 -06:00
Steven R. Loomis
21a7680278 fix(developer): quell internal error when a section fails 🙀
- when a required section is missing, only throw an internal error IF we haven't already flagged a problem.  for example, if 'vars' fails to compile because of a problem, and we already have an error on file, then don't throw an internal error that 'bksp' depends on uninitialized 'vars'.

- mimic this flow in the test helpers.

- add a test case for this in the test helpers, in test-tran

- add a strictError flag to say that no additional errs are allowed.

Fixes: #10291
2023-12-21 22:14:54 -06:00
Joshua A. Horton
5eb787bac6 fix(web): default multitap logic conditions on and affects both default and shift layers 2023-12-19 09:50:38 +07:00
Steven R. Loomis
6364adceeb fix(web): unbreak some ts paths 2023-12-18 17:23:39 -06:00
Joshua Horton
535bfec1b3
Merge pull request #10242 from keymanapp/chore/merge-master-into-feature-gestures
chore: merge master into feature-gestures 🐵
2023-12-13 14:09:05 +07:00
Marc Durdin
60bb1e4d9e chore(developer): Merge branch 'master' into feat/developer/9473-kmc-module-api-consolidation 2023-12-13 05:01:20 +07:00
Marc Durdin
52038e22aa chore(developer): remove unintended usage of callbacks.path/callbacks.fs in kmc 2023-12-11 11:43:24 +07:00
Marc Durdin
f9c3be09a6 refactor(developer): move outFile out of CompilerBaseOptions
`outFile` is not a compiler option, and so it should not be a part of
the `CompilerBaseOptions` interface. This formally separates the
command-line options from the compiler options, which eliminates a
number of restrictive structures.
2023-12-11 09:47:23 +07:00
Marc Durdin
6bebefda10 feat(developer): move kmc-kmn to KeymanCompiler interface
Part of #9473.

KmnCompiler now implements KeymanCompiler, including the returned
artifacts. Also establishes the common types for the compiler interfaces
and consolidates and renames various API surfaces for kmc-kmn.
2023-12-07 11:05:31 +07:00
Marc Durdin
d693bbd457 chore: address review comments 2023-12-06 13:00:04 +07:00
Marc Durdin
a330666515 fix(common): kpj loader needs to handle empty Files element
Fixes #10143.
2023-12-06 12:37:25 +07:00
Joshua A. Horton
e9dd7a1216 chore(web): marks new default key's ID as private use 2023-12-05 08:47:40 +07:00
Joshua A. Horton
3c4e5d6ebd chore(web): Merge branch 'master' into chore/web/conflict-fix 2023-12-01 14:16:18 +07:00
Steven R. Loomis
d18134fcb3 feat(common): ldml improve bad character code 🙀
- use constants for PUA

For: #9446
2023-11-25 14:08:16 -06:00
Steven R. Loomis
bb63ba8a66
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-11-25 13:51:53 -06:00
Joshua A. Horton
40f9e6ebd8 chore(web): Merge branch 'feature-gestures' into chore/merge-master-into-feature-gestures
Involved splicing feature-gestures banner changes into the newly-separated banner sources.
2023-11-24 08:29:39 +07:00
Steven R. Loomis
5bfb3288d2 feat(developer): ldml improve bad character code 🙀
- refactor output section

For: #9446

Co-authored-by: Darcy Wong <darcywong00@users.noreply.github.com>
2023-11-22 16:59:02 -06:00
Steven R. Loomis
c42615420d feat(developer): err/hint on illegal/pua 🙀
- also found that kmc's validate() should have been async but wasn't, a little bit of churn because of this
- unassigned not implemented yet, but tests in place for it.
- change SectionCompiler.postValidate to only be called during the validate() run of compilation. This way messages will only show once.

For: #9446
2023-11-17 22:41:58 +00:00
Steven R. Loomis
3a417ade79 feat(common): PUA and illegal unicode analysis 🙀
For: #9446
2023-11-17 20:37:33 +00:00
Marc Durdin
a355721e1b
Merge pull request #9996 from keymanapp/chore/developer/9948-handle-project-version-cleanly-in-kmc
chore(developer): handle project version checks cleanly in kmc 🦕
2023-11-15 13:48:44 +11:00
Marc Durdin
b8dcc1b43d
Merge branch 'master' into feat/developer/9948-load-xml-ldml-files 2023-11-15 13:46:52 +11:00
Marc Durdin
65b7b20dc8 chore(developer): handle project version checks cleanly in kmc
Relates to #9948.

While the schema validation does check the version already, it gives a
fairly obtuse message, and we can do better.

Found a secondary issue with a iterator type guard needed in
kpj-file-reader when preparing unit test, which was probably masked in
other tests by not verifying all messages generated, so updated all
infrastructure message tests to verify the full set of messages
generated.
2023-11-14 06:24:28 +07:00
Joshua Horton
6d68df314c
Merge pull request #9740 from keymanapp/feat/web/generalized-multitap
feat(web): generalized multitap 🐵
2023-11-13 11:02:07 +07:00
Marc Durdin
33da132eab
Merge branch 'feature-gestures' into chore/merge-master-into-feature-gestures 2023-11-13 09:44:55 +11:00
Marc Durdin
1d3cb5eb4b chore(common): ldmlKeyboard3.dtd 2023-11-08 05:48:24 +07:00
Marc Durdin
c5c5b35415 chore(common): remove prepublish step from package.json
Given we've just run a build, this (a) seems unnecessary, and (b) seems
to go wrong in some circumstances anyway, e.g.
https://build.palaso.org/buildConfiguration/Keyman_Developer_Release/421326?buildTab=log&focusLine=19936&linesState=18839&logView=flowAware:

```
07:01:29   > @keymanapp/kmc@17.0.205-alpha prepublishOnly
07:01:29   > npm run build
07:01:29
07:01:31
07:01:31   > @keymanapp/kmc@17.0.205-alpha build
07:01:31   > tsc -b
07:01:31
07:01:35   ../../../common/web/types/build/src/kmx/kmx.d.ts(1,1): error TS1036: Statements are not allowed in ambient contexts.
07:01:35   ../../../common/web/types/build/src/kmx/kmx.d.ts(1,2): error TS1345: An expression of type 'void' cannot be tested for truthiness.
...
```
2023-11-04 07:34:18 +07:00
Marc Durdin
2f227b61ed
Merge pull request #9903 from keymanapp/chore/common/9854-SchemaValidator-error-management
chore(common): fixup SchemaValidators error handling
2023-11-02 14:52:54 +11:00
Marc Durdin
45b5db1974
Merge pull request #9844 from keymanapp/chore/developer/verify-kmp-json-output-from-kmc-package
chore(developer): verify kmp.json output from kmc-package
2023-11-02 14:50:50 +11:00
Joshua A. Horton
338af8f6e9 chore(web): Merge branch 'change/common/models/pred-text-context-tracking' into feat/web/generalized-multitap 2023-11-01 08:45:28 +07:00
Marc Durdin
f5b07f86c6 chore(common): fixup SchemaValidators error handling
Fixes #9854.
2023-10-31 11:44:08 +07:00
Joshua Horton
0602b9cb45
Merge pull request #9872 from keymanapp/chore/merge-master-into-feature-gestures
chore: merge master into feature-gestures
2023-10-27 14:41:13 +07:00
Steven R. Loomis
f72c571696
Merge branch 'master' into chore/developer/9838-cldr44-epic-ldml 2023-10-26 18:38:14 -05:00
Steven R. Loomis
a45dc5c345 chore(developer): ldml update to prefinal v44 🙀
-  fix binary size issue
- upstream: issue in abnt2 sample keyboard

For feat(developer): ldml re-sync with CLDR v44 spec 🙀  #9838
2023-10-26 18:21:56 -05:00
Joshua A. Horton
e3ddbe4080 chore(web): reserves caps-multitap key 2023-10-26 09:48:23 +07:00
Marc Durdin
762f343b52
Merge pull request #9824 from keymanapp/chore/common/kpj-handle-xml-error
chore(common): handle invalid XML in kpj-file-reader
2023-10-26 13:46:29 +11:00
Steven R. Loomis
6da64553fc chore(developer): ldml update to prefinal v44 🙀
- form

For feat(developer): ldml re-sync with CLDR v44 spec 🙀  #9838
2023-10-25 08:56:55 -05:00
Marc Durdin
cdac2dd01b chore(developer): verify kmp.json output from kmc-package 2023-10-25 12:07:46 +07:00
Steven R. Loomis
a9f437f97a chore(common,developer): ldml update to prefinal v44 🙀
- more data and developer fixes

For feat(developer): ldml re-sync with CLDR v44 spec 🙀  #9838
2023-10-24 17:40:34 -05:00
Steven R. Loomis
1ff2bfc4d7 chore(developer,common,core): ldml update to prefinal v44 🙀
- more data file updates
- now updating some developer files
- updating the KMX+ spec with some changes.
 (vkey was dropped in #7135, remove it from the spec)

For feat(developer): ldml re-sync with CLDR v44 spec 🙀  #9838
2023-10-24 17:28:08 -05:00
Steven R. Loomis
5dbda001fc chore(common,core): ldml update to prefinal v44 🙀
- common passes tests
- updated data files

For feat(developer): ldml re-sync with CLDR v44 spec 🙀  #9838
2023-10-24 14:47:22 -05:00
Marc Durdin
c645707279 chore(common): handle invalid XML in kpj-file-reader 2023-10-23 08:53:30 +07:00
Joshua A. Horton
6aaf58a553 chore(web): Merge branch 'feature-gestures' into refactor/web/common-key-style-class-enum 2023-10-20 16:27:31 +07:00
Joshua Horton
5e8bd861e9
Merge pull request #9804 from keymanapp/change/web/subkey-prop-validation
change(web): enforce layout and validate only text attributes of subkeys 🐵
2023-10-20 16:12:45 +07:00
Joshua Horton
6d313f27b8
Merge pull request #9664 from keymanapp/refactor/web/common-layout-typing
refactor(web): unifies touch-layout typing, updating Web to the common/web/types version 🐵
2023-10-20 16:12:31 +07:00
Joshua A. Horton
cfc46d4b42 chore(web): addresses final review concerns 2023-10-20 14:56:02 +07:00