Commit graph

2910 commits

Author SHA1 Message Date
Dr Mark C. Sinclair
ab9b052def chore(developer): Merge branch 'master' into fix/developer/12307-correct-whitespace-handling-in-virtual-keys 2024-11-25 01:56:02 +00:00
Marc Durdin
c80a0aef0d
Merge pull request #12666 from keymanapp/fix/developer/package-compiler-box-info-fields
fix(developer): box package compiler info fields
2024-11-25 02:06:36 +01:00
Marc Durdin
2f401f52fb
Merge pull request #12665 from keymanapp/chore/developer/package-description-optional
chore(developer): make package subfile description fully optional
2024-11-25 02:06:17 +01:00
dependabot[bot]
595fe46d0b
chore(deps): bump cross-spawn
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-22 12:48:10 +00:00
Marc Durdin
b0000ae870
Merge branch 'chore/developer/package-description-optional' into fix/developer/package-compiler-box-info-fields 2024-11-20 05:59:47 +01:00
Marc Durdin
138f3c247d
Merge branch 'master' into chore/developer/package-description-optional 2024-11-20 05:59:30 +01:00
Marc Durdin
4b2641fc29 chore(developer): cleanup fixtures for kmc-copy with optional attrs 2024-11-20 07:58:14 +07:00
Dr Mark C. Sinclair
a33037b4df fix(developer): add basic_kbdcherp and basic_kbdolch to list of excluded keyboards 2024-11-13 16:54:59 +00:00
Marc Durdin
18532724fc
Merge branch 'master' into fix/developer/12307-correct-whitespace-handling-in-virtual-keys-and-remove-partially-implemented-virtual-key-series 2024-11-13 04:25:02 +01:00
Marc Durdin
ce7593bd2f fix(developer): box package compiler info fields
If a .kps file had an `<Info>` element without a URL attribute, it
would not map correctly in all circumstances. This change ensures that
the kps-file-reader is responsible for normalizing the layout of these
elements on read.
2024-11-13 10:11:44 +07:00
Marc Durdin
5a93bdf6c2 chore(developer): make package subfile description fully optional
The package subfile description field is never really used in the
end-user apps. As it is meaningless metadata, we'll make it fully
optional, and start to remove all references in the designers and
compilers.

TODO: For packages targeting Keyman 18.0+, we should consider removing
the description field altogether from the subfiles.
2024-11-13 10:03:26 +07:00
Marc Durdin
a4cf30d0c2
Merge pull request #12631 from keymanapp/fix/developer/12623-full-test-in-kmcmplib
fix(developer): reconnect `--full-test` in kmcmplib build and enable for CI
2024-11-13 03:43:54 +01:00
Marc Durdin
2a9f2a3958
Merge pull request #12586 from keymanapp/feat/developer/kmc-copy-github-and-cloud-support
feat(developer): add GitHub and Cloud support to kmc-copy
2024-11-08 05:14:14 +01:00
Marc Durdin
eefbdc413d
Merge pull request #12555 from keymanapp/feat/developer/kmc-copy
feat(developer): kmc-copy
2024-11-08 05:14:02 +01:00
Marc Durdin
b80c124ec8
Merge pull request #11014 from keymanapp/feat/developer/kmc-generate
feat(developer): kmc generate
2024-11-08 05:13:51 +01:00
Steven R. Loomis
422a2625b5
Merge pull request #12613 from keymanapp/fix/developer/12467-invalid-marker-names
fix(common): check for invalid markers
2024-11-07 13:26:15 -06:00
Steven R. Loomis
774eba727e chore(developer): fix typo in test comment
Co-authored-by: Marc Durdin <marc@durdin.net>
2024-11-07 09:37:54 -06:00
Dr Mark C. Sinclair
e661d7c329 chore(developer): Merge branch 'master' into fix/developer/12307-correct-whitespace-handling-in-virtual-keys 2024-11-07 11:19:43 +00:00
Marc Durdin
78999fb7bc
Merge pull request #12588 from keymanapp/feat/developer/12505-report-key-address-in-layout-compiler
feat(developer): Report key 'address' in validation failures in layout compiler
2024-11-07 07:06:51 +01:00
Marc Durdin
08215e28fa
Merge pull request #12622 from keymanapp/feat/developer/9767-kmc-analyze-extend-mapping
feat(developer): analyze osk-char-use merge with existing mapping file
2024-11-07 05:51:33 +01:00
Marc Durdin
59adf5e4ff
Merge pull request #12630 from keymanapp/chore/developer/12623-skip-masaram-gondi
chore(developer): skip masaram_gondi in kmcmplib full test
2024-11-07 05:47:00 +01:00
Marc Durdin
20b72ed63b
Merge pull request #12629 from keymanapp/fix/developer/12107-regression-debug-store
fix(developer): use 'N' for nomatch store debug strings (regression in #12107)
2024-11-07 05:46:45 +01:00
Marc Durdin
6002024525 chore(developer): add address to Error_TouchLayoutInvalidIdentifier message 2024-11-07 07:27:02 +07:00
Marc Durdin
1c39a0e38f chore: fix PR number in comment 2024-11-07 06:03:04 +07:00
Marc Durdin
0df0287cb3 chore(developer): remove setlocale again, add exclusions for fv_statimcets, fv_nuucaanul 2024-11-06 13:56:41 +07:00
Marc Durdin
3a359b580a chore(developer): include clocale for CompilerInterfaces, for setlocale call 2024-11-06 13:43:08 +07:00
Marc Durdin
4e2f83ad50 chore(developer): skip anii and sil_kmhmu in full test
anii.kmn and sil_kmhmu.kmn both have mismatching case in filename
references for icons. For now, we will disable tests for these two
keyboards, so that tests pass on Linux (which has case-sensitive
filesystem).

Note: the filename case was already addressed in the keyboards repo, so
when we realign to a more recent commit for the test fixtures, we should
be able to include these tests again.

Relates-to: #12623
2024-11-06 13:41:31 +07:00
Marc Durdin
411cd06df7 fix(developer): use C.UTF-8 locale to for consistent cross-platform whitespace management
On mac arch build, kmcmplib is failing to trim U+2002, unlike all other
platforms. Using UTF-8 locale should treat the ISO 30112 POSIX space
characters, which includes U+2002, as whitespace.
2024-11-06 13:34:28 +07:00
Marc Durdin
3c680e3334 fix(developer): normalize path separators in unit tests in kmcmplib
While kmc did this already in its callbacks, the unit test callbacks
did not, which meant that some keyboard tests failed on Linux and macOS.

Relates-to: #12623
2024-11-06 12:57:55 +07:00
Marc Durdin
d88f16e153 chore(developer): include build-utils-ci.inc.sh in kmcmplib 2024-11-06 11:09:14 +07:00
Marc Durdin
f4bd99f935 fix(developer): reconnect --full-test in kmcmplib build and enable for CI
The --full-test parameter in kmcmplib build.sh has not been working.
This PR reconnects the parameter and also enables it by default for CI
test builds (not release builds).

Fixes: #12623
2024-11-06 10:59:29 +07:00
Marc Durdin
393a15e2f2 chore(developer): skip masaram_gondi in kmcmplib full test
masaram_gondi.kmx fixture is built from a known-bad source, which is
caught in kmcmplib 18.0.

This failure is because the keyboard source had non-BMP characters in
the key part of the rule on line 215, which has been picked up by the
18.0 compiler in #11806:

```
$keymanonly: if(opt1 = 'gondi') any(Vyanjana)"𑵄" + any(Vyanjana)	>	index(Vyanjana,2) U+11D45
```

The trick here is that the compiled fixture
developer/src/kmcmplib/tests/fixtures/keyboards-repo/masaram_gondi.kmx
is based on a [broken version of the keyboard
source](965ef1941f/release/m/masaram_gondi/source/masaram_gondi.kmn)
in the keyboards repo ([fixed
version](06cfd2d186/release/m/masaram_gondi/source/masaram_gondi.kmn)),
and updating to the fixed version will also trigger updates to a bunch
of other keyboards. I think the simplest resolution is probably to skip
masaram_gondi for 18.0.

Relates-to: #12623
Relates-to: #11806
2024-11-06 09:49:39 +07:00
Marc Durdin
baf08c77e6 fix(developer): correct regression from #12107
Fixes a regression arising from #12107 in debug store strings.

Relates-to: #12623
Relates-to: #12107
2024-11-06 09:48:00 +07:00
Marc Durdin
7af4ae42ae
chore: Apply suggestions from code review 2024-11-06 03:06:47 +01:00
Marc Durdin
f717b2ba5c fix(developer): handle merge commits when checking git log date
Relates-to: keymanapp/keyboards#3143
Fixes: #12626
Fixes: KEYMAN-DEVELOPER-2AY
2024-11-06 06:11:38 +07:00
Marc Durdin
c683657969 feat(developer): analyze osk-char-use merge with existing mapping file
A gap in the kmc-analyze module displayMap support was that it was not
possible to extend an existing mapping file, but only to rewrite one.
This caused issues because the mappings could change between runs, if
keyboards changed, meaning fonts would not be backward compatible. This
change guarantees an existing mapping file will have exactly the same
character mappings, and only adds new mappings that are found.

Also adds unit tests and enables for kmc-analyze.

Fixes: #9767
2024-11-05 14:43:29 +07:00
Marc Durdin
ea6714956f
Merge pull request #12608 from keymanapp/fix/developer/12607-force-server-directory-before-config-save
fix(developer): create Server config directory before options save
2024-11-05 07:07:02 +01:00
Marc Durdin
1fc6558eea
Merge pull request #12596 from keymanapp/fix/developer/12553-kmc-model-handle-missing-files
fix(developer): handle missing files in kmc-model
2024-11-05 07:06:03 +01:00
Marc Durdin
9c403bc947
Merge pull request #12595 from keymanapp/fix/developer/12546-kmc-kmn-handle-missing-files
fix(developer): handle missing files in kmc-kmn
2024-11-05 07:05:52 +01:00
Marc Durdin
60e7f869fb
Merge pull request #12594 from keymanapp/fix/developer/12517-paste-into-wordlist-editor
fix(developer): handle paste of TSV into Wordlist grid
2024-11-05 07:05:40 +01:00
Steven R. Loomis
3eac4f12c9 fix(common): check for invalid markers
- pattern parser update
- correct spelling of Error_InvalidVariableIdentifier
- track and report bad marker strings (look like markers but not)
- fix: may have missed markers mentioned in variables
- tests for above

Fixes: 12467
2024-11-04 10:15:56 -06:00
Marc Durdin
0467febf46
chore(developer): apply review suggestions 2024-11-04 05:01:43 +01:00
Marc Durdin
ae9a4210c3 fix(developer): create Server config directory before options save
Also use back-off logic for saving in case config file is locked by
another process.

Fixes: #12607
Fixes: KEYMAN-DEVELOPER-1Z1
2024-11-04 08:08:28 +07:00
Steven R. Loomis
c057112c9f fix(developer): add a test for empty varable id, fix message
- stray \u in Error_InvalidVariableIdentifer
- add a test for an empty variable id
2024-11-01 13:47:39 -05:00
Steven R. Loomis
ac99a4c54d fix(developer): ldml don't allow a uset as right-hand-side variable
- to="$[triisap]" is a mistake and not allowed.
- it's either meant to be a regular variable, or a map. Both of those are different syntax.
- add a test for the failing case, and also for the escaped case (to="\$[…)
2024-11-01 13:03:31 -05:00
Dr Mark C. Sinclair
ed42594b1a fix(developer): minor layout changes 2024-11-01 12:10:39 +00:00
Dr Mark C. Sinclair
94019b92b5 fix(developer): add wsRequired flag to check for whitespace between modifiers and modifier(s) and key 2024-11-01 11:43:16 +00:00
Dr Mark C. Sinclair
72a27464f5 fix(developer): refactor virtual key whitespace loop and improve layout 2024-11-01 10:48:49 +00:00
Dr Mark C. Sinclair
86a6bf617b fix(developer): remove redundant virtual key series while loop 2024-11-01 10:40:58 +00:00
Dr Mark C. Sinclair
d1bd4ec651 fix(developer): remove virtual key series 2024-11-01 10:28:13 +00:00