Commit graph

4256 commits

Author SHA1 Message Date
Marc Durdin
da8bad708e
Merge pull request #12478 from keymanapp/fix/developer/12476-warn-before-importing-over-touch-layout
fix(developer): warn before importing over touch layout
2024-09-28 04:34:31 +02:00
Marc Durdin
2d21b21135
Merge pull request #12427 from keymanapp/refactor/developer/12347-move-help-in-repo
refactor(developer): copy dev 17.0 help into repo
2024-09-28 04:34:13 +02:00
Steven R. Loomis
1780b1ebf3 feat(developer,common): use unified xml writer
Fixes: #12208
2024-09-27 18:53:54 -05:00
Steven R. Loomis
d540e4cda0 feat(common): unified xml writer test
Fixes: #12208
2024-09-27 18:37:40 -05:00
Steven R. Loomis
3832ca1c12 feat(developer,common): use unified xml parser
Subsystems changed:
- ldml keyboard reader (main and test)
- kpj
- kvks
- kmp compiler

test: made the test-xml-utils less verbose about the pathnames

Fixes: #12208
2024-09-27 17:49:32 -05:00
Steven R. Loomis
7da7375ee5 feat(common): xml: map \r\n to \n
- help make the parsed form identical across platforms

Fixes: #12208
2024-09-27 17:31:00 -05:00
Steven R. Loomis
609faf8047 feat(common): unified xml parser reader test
Fixes: #12208
2024-09-27 16:52:21 -05:00
Steven R. Loomis
7e631c1a73 feat(common): unified xml parser scaffolding
Fixes: #12208
2024-09-27 14:09:52 -05:00
Marc Durdin
7ff8c707e9 fix(developer): warn before importing over touch layout
Fixes: #12476
2024-09-26 17:31:43 -07:00
Marc Durdin
09979861ea chore(developer): fix kmc-generate test fixtures 2024-09-26 17:18:35 -07:00
Marc Durdin
58868474b1 chore(developer): cleanup targets and generated files in kmc-generate 2024-09-26 17:12:49 -07:00
Marc Durdin
025b9ed01f chore(developer): update eslint config path 2024-09-26 14:20:47 -07:00
Marc Durdin
10e4bba100
Merge branch 'master' into feat/developer/kmc-generate 2024-09-26 18:55:20 +02:00
Marc Durdin
60d888aad6
Merge pull request #12471 from keymanapp/fix/developer/12426-publish-developer-utils
fix(developer): publish developer-utils package during build
2024-09-26 18:34:58 +02:00
Marc Durdin
640d3e5096 test(developer): add markdown link check test for product documentation
Adds check-markdown package that parses .md files, looks for links and
images, and verifies that they are valid links (for internal links).
2024-09-25 15:51:32 -07:00
Marc Durdin
87db5fbf9d chore(developer): fixup missing documentation images 2024-09-25 15:51:00 -07:00
Marc Durdin
18d31a86c8
Merge branch 'refactor/common/12347-reorg-help' into refactor/developer/12347-move-help-in-repo 2024-09-26 00:47:11 +02:00
Marc Durdin
870dcabc90
Merge pull request #12468 from keymanapp/fix/developer/12449-row-keys-whitespace
fix(developer): ignore excess whitespace in `<row keys>` attribute
2024-09-26 00:32:06 +02:00
Marc Durdin
0b09ffabe5
Merge branch 'master' into context/options 2024-09-26 00:17:07 +02:00
Marc Durdin
035af7271c
docs: tweak content 2024-09-26 00:15:52 +02:00
Marc Durdin
87aff8d4a3 fix(developer): publish developer-utils package during build
Fixes: #12426
2024-09-25 14:22:03 -07:00
Marc Durdin
71f3d912a4 fix(developer): ignore excess whitespace in <row keys> attribute
Fixes: #12449
2024-09-25 07:33:42 -07:00
Marc Durdin
2c3ae9eba7 fix(developer): prevent invalid string ids
Adds checks for invalid string IDs and corresponding unit tests.

Fixes: #12451
2024-09-24 19:29:10 -07:00
Marc Durdin
25ea6a74dc fix(developer): use richedit in debug memo to support Egyptian cartouches
RichEdit allows text selection one character past end-of-string, so we
need to cater for that as well in passing text ranges to the character
grid.

Fixes: #12454
2024-09-24 08:24:47 -07:00
Marc Durdin
4ed865c128
Merge pull request #12432 from keymanapp/chore/developer/remove-js-from-ldml-compiler
chore(developer): remove .js output from LDML compiler
2024-09-19 18:58:47 +02:00
Eberhard Beilharz
090a331de4
Merge pull request #12438 from keymanapp/fix/core/dependency
fix(core): add missing dependency for core
2024-09-19 13:53:15 +07:00
Eberhard Beilharz
0dbae5c199
fix(core): add missing dependency for core
Core depends on `kmc` which in turn depends on `core/include/ldml`. This
change adds the missing dependency to the build script and fixes building
core from a clean `core` subdirectory.

# Keyman Conventional Commit suggestions:
#
# - Link to a Sentry issue with git trailer:
#     Fixes: _MODULE_-_ID_
# - Give credit to co-authors:
#     Co-authored-by: _Name_ <_email_>
# - Use imperative, present tense ('attach' not 'attaches', 'attached' etc)
# - Don't include a period at the end of the title
# - Always include a blank line before trailers
# - More: https://github.com/keymanapp/keyman/wiki/Pull-Request-and-Commit-workflow-notes
2024-09-17 18:28:02 +02:00
Marc Durdin
ec6c26c7f7 feat(developer): add .gitignore to kmc generate templates 2024-09-17 17:05:37 +07:00
Marc Durdin
48d4e65cf0 fix(developer): copy templates into bundle 2024-09-17 17:05:13 +07:00
Marc Durdin
96f6654a90 chore(developer): remove .js output from LDML compiler 2024-09-17 16:06:59 +07:00
Nguonnyny Tan
7c365e35a3
chore: update contexthelp.xml 2024-09-17 14:31:38 +07:00
Marc Durdin
201f48a1f0
Merge pull request #12404 from keymanapp/fix/developer/12403-validate-string-use-before-definition
fix(developer): check vars string usage before definition
2024-09-17 00:40:24 +02:00
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
b751336c13 refactor(developer): copy dev 17.0 help into repo
1. Copy help.keyman.com/developer/17.0/* into /developer/docs/help
2. Update references to 18.0 where appropriate
3. Copy all referenced images from /cdn/dev into
   /developer/docs/help/images and update links in documentation

Next commit: add deployment to help-keyman-com.sh. Note: simplest way to
test links at this point is to use the help.keyman.com auto deploy and
wait for the PR on help.keyman.com to be validated; we could look at an
internal link validation tool that verifies markdown links?

Relates-to: #12347
2024-09-16 08:46:24 +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