Commit graph

3368 commits

Author SHA1 Message Date
Marc Durdin
6b83589987
Merge pull request #12402 from keymanapp/fix/developer/12395-rewrite-ldml-visual-keyboard-compiler
fix(developer): rewrite ldml visual keyboard compiler
2024-09-17 00:40:15 +02:00
Dr Mark C. Sinclair
ff504ad0f7 chore(developer): corrected issue references that mistakenly referenced old issue tracking system 2024-09-16 09:43:59 +01:00
Dr Mark C. Sinclair
b50a16b2c3 chore(developer): Merge branch 'master' into test/developer/kmcmplib-compiler-unit-tests-3 2024-09-16 09:35:40 +01:00
Dr Mark C. Sinclair
5497e9c9e8
Update developer/src/kmcmplib/tests/gtest-compiler-test.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2024-09-16 09:33:45 +01:00
Dr Mark C. Sinclair
d91ca9b669
Update developer/src/kmcmplib/tests/gtest-compiler-test.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2024-09-16 09:33:27 +01:00
Dr Mark C. Sinclair
ae62390ffa
Update developer/src/kmcmplib/tests/gtest-compiler-test.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2024-09-16 09:32:57 +01:00
Marc Durdin
f4321b38d7 fix(developer): LDML compiler, add TSS_VISUALKEYBOARD store when compiling visual keyboard
Fixes: #12395
2024-09-16 14:00:39 +07:00
Marc Durdin
bf25a6ee56
Merge pull request #12396 from keymanapp/dependabot/npm_and_yarn/express-4.20.0
chore(deps): bump express from 4.19.2 to 4.20.0
2024-09-14 03:39:35 +02:00
Dr Mark C. Sinclair
f0be2acdec chore(developer): Merge branch 'master' into test/developer/kmcmplib-compiler-unit-tests-3 2024-09-12 10:45:49 +01:00
Dr Mark C. Sinclair
2a477c6d47 chore(developer): Merge branch 'master' into fix/developer/11833-index-requires-comma-between-parameters-in-kmcmplib-compiler 2024-09-12 09:18:03 +01:00
Marc Durdin
8424cb9349
Merge branch 'master' into feat/developer/kmc-generate 2024-09-12 08:18:37 +02:00
Marc Durdin
b7810bdd2e fix(developer): check vars string usage before definition
Validation of vars was not properly checking for forward references to
string variables. This, coupled with a null vs undefined bug in
subsequent use, meant that forward reference variables were ending up
with a literal string value of 'undefined'.

This also fixes the test for visual-keyboard-compiler, where the fixture
was actually buggy and was the trigger for investigating this problem.

Fixes: #12403
Relates-to: #12395
2024-09-12 09:18:06 +07:00
Marc Durdin
e4017a8c28 fix(developer): rewrite ldml visual keyboard compiler
The visual keyboard compiler was never finished in 17.0. This rewrites
it to:

1. Use the kmxplus data rather than reading from xml directly
2. Fill in `visualkeyboard.header.kbdname`
3. Support modifiers
4. Handle encoded characters like `\u{1234}`
5. Handle string variables like `${one}`*

Additional unit tests have been added to verify the behavior of the
visual keyboard compiler in more detail.

TODO-LDML: string variables appear to have a secondary bug -- they seem
to be returning the string 'undefined'. I have disabled the related
tests and will examine this separately, and enable those tests once
fixed.

TODO-LDML: we should probably add a compiler warning + unit test for
`<layers formId="us"><layer id="base">`, because this pattern does not
make sense: when using non-touch forms, the `<layer>` element should use
`modifiers` attribute, and correspondingly, `modifiers` attribute should
_not_ be used when `formId` is `touch`.

Other fixes:

1. The LDML XML reader was relying on its input being a Node.js `Buffer`
   even though it was declared `Uint8Array`, as it implicitly used
   `Buffer.toString()` to do text conversion. (`Buffer` subclasses from
   `Uint8Array`). This breaks when using `Uint8Array` directly and means
   we had an implicit dependency on Node.js. See also #12331.
2. XML errors were not captured in the LDML XML reader. See also #12331.
3. The unused and unfinished touch-layout-compiler.ts and
   keymanweb-compiler.ts have been removed along with corresponding unit
   tests and fixtures. These are replaced by Core implementations; see
   #12291.

Fixes: #12395
2024-09-12 06:06:00 +07:00
dependabot[bot]
094aa985b2
chore(deps): bump express from 4.19.2 to 4.20.0
Bumps [express](https://github.com/expressjs/express) from 4.19.2 to 4.20.0.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.19.2...4.20.0)

---
updated-dependencies:
- dependency-name: express
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-11 07:18:39 +00:00
Eberhard Beilharz
1fe6a0370f
refactor(web): move common/web/eslintcommon/tools/eslint
Fixes: #12386
2024-09-10 19:16:52 +02:00
Eberhard Beilharz
91bbc250a8
refactor(web): move model/templates to web/src/engine/predictive/text
Part-of: #12133
2024-09-10 17:10:12 +02:00
Dr Mark C. Sinclair
bcead57ad5 fix(developer): change to eliminate the possibility of an extra parameter, and add matching test 2024-09-10 14:46:17 +01:00
Dr Mark C. Sinclair
82c9fd8474 fix(developer): adjust comments for alignment 2024-09-10 12:09:50 +01:00
Dr Mark C. Sinclair
cc8fd7da2f fix(developer): convert u16trim test to use map 2024-09-10 12:06:08 +01:00
Dr Mark C. Sinclair
06323b9dfa fix(developer): convert u16rtrim test to use map 2024-09-10 11:59:51 +01:00
Dr Mark C. Sinclair
04c1b15c22 fix(developer): convert u16ltrim test to use map 2024-09-10 11:55:27 +01:00
Dr Mark C. Sinclair
9813e3d99c fix(developer): add additional asserts to check pointer returned in u16trim 2024-09-10 11:28:52 +01:00
Dr Mark C. Sinclair
917a42a09c fix(developer): add additional asserts to check pointer returned in u16rtrim 2024-09-10 11:19:11 +01:00
Dr Mark C. Sinclair
ea545dc05a fix(developer): shorten u16ltrim code, and add additional asserts to check pointer returned 2024-09-10 10:58:24 +01:00
Dr Mark C. Sinclair
510e5aabd5 fix(developer): modify u16ltrim to copy non-trimmed characters to beginning of string 2024-09-10 10:56:53 +01:00
Marc Durdin
178325c019 chore(developer): use new npm publish for kmc-generate 2024-09-10 15:30:54 +07:00
Marc Durdin
edc5c93d69 chore(developer): add api-extractor for kmc-generate 2024-09-10 13:51:55 +07:00
Marc Durdin
021d4341e7 chore(developer): generate no longer needs to generate .model_info 2024-09-10 11:55:16 +07:00
Marc Durdin
4a2e6fd0a5 test(developer): add unit test for generate module 2024-09-10 10:54:22 +07:00
Eberhard Beilharz
c3e587193e
refactor(web): move model/types to web/types
Part-of: #12133
2024-09-09 19:59:01 +02:00
Eberhard Beilharz
9f4ca5070d
fix(developer): fix building with Ubuntu 24.04
For whatever reason I suddenly got compile errors on Ubuntu 24.04 when
building Developer. Including `cstdint` solves this.

See also #11926.
2024-09-09 19:58:00 +02:00
Dr Mark C. Sinclair
8ee5d342db correct comment on one test case in GetXStringImpl_type_i test 2024-09-09 09:52:39 +01:00
Marc Durdin
95d169f879 chore(developer): add developer-utils dep for kmc-generate 2024-09-09 09:17:32 +07:00
Marc Durdin
09e97cebc9 chore(developer): fixup imports 2024-09-09 08:57:39 +07:00
Marc Durdin
d2f99f69cb chore(developer): refactor imports after merge 2024-09-09 06:30:26 +07:00
Dr Mark C. Sinclair
87a810e135 fix(developer): add additional test cases for multi-word trims 2024-09-05 14:32:25 +01:00
Dr Mark C. Sinclair
67b2050d8c Merge branch 'master' into test/developer/kmcmplib-compiler-unit-tests-3 2024-09-03 10:09:51 +01:00
Marc Durdin
113b4f7ac8 feat(developer): comments for kmc-generate 2024-09-03 06:20:34 +07:00
Marc Durdin
1ab1ca5d78 chore(developer): fixup tests and scripts for kmc-generate 2024-09-03 06:20:34 +07:00
Marc Durdin
db904119f3 feat(developer): unit tests for kmc-generate
Note: these are more e2e than unit tests. It may be difficult to convert
them into solid unit tests due to the way that kmc-generate works based
on templates.
2024-09-03 06:20:33 +07:00
Marc Durdin
8274d30788 feat(developer): kmc generate cleanup
Cleanup various todo items for kmc generate. Outstanding TODO item is
icon generation for .kmn.
2024-09-03 06:20:28 +07:00
Marc Durdin
2994fe2aea feat(developer): kmc-generate docs and tests started 2024-09-03 06:17:33 +07:00
Marc Durdin
939134a9a3 feat(developer): kmc-generate module
Plenty of todo items left but this is a mostly-functional module for the
kmc generate command for automatically creating keyboard and model
projects.
2024-09-03 06:15:33 +07:00
Dr Mark C. Sinclair
3ed83f8e33 chore(developer): clarify some comments in index() section of GetXStringImpl_type_i test 2024-08-29 19:24:33 +01:00
Dr Mark C. Sinclair
db06555719 fix(developer): use comma alone as seperator, and u16trim to remove white space 2024-08-29 18:40:12 +01:00
Dr Mark C. Sinclair
2c41d02c19 fix(developer): add u16trim test 2024-08-29 18:24:31 +01:00
Dr Mark C. Sinclair
03293bcede fix(developer): add u16rtrim test 2024-08-29 18:18:27 +01:00
Dr Mark C. Sinclair
6dee928362 fix(developer): add test for u16ltrim 2024-08-29 16:51:07 +01:00
Dr Mark C. Sinclair
11a9338671 fix(developer): add test for u16ltrim 2024-08-29 16:40:41 +01:00
Dr Mark C. Sinclair
c8beeb9ab4 fix(developer): add two additional space test cases for index() in GetXStringImpl_type_i test 2024-08-29 10:56:17 +01:00