Commit graph

24978 commits

Author SHA1 Message Date
Steven R. Loomis
8206bbc10c
Merge pull request #9727 from keymanapp/fix/common/9683-scheming-epic-ldml
fix(common): fix schema fixer 🙀
2023-10-09 17:41:50 -05:00
Steven R. Loomis
900fb7d706 fix(common): fix schema fixer 🙀
- keyboardTest3 didn't get a fix that had applied to keyboard[3]
- regenerate using the exact same CLDR

Fixes: #9683
2023-10-09 14:23:25 -05:00
Eberhard Beilharz
1dd3eae01a
chore(linux): Add more details to Sentry events
This change adds additional details to Sentry events so that the "All
Events" tab on keyman.sentry.io will show helpful values in the
"device" and "os" columns instead of emptry strings.
2023-10-09 11:44:24 +02:00
Eberhard Beilharz
9650b3f0a2
fix(linux): Fix calculation of user hash
The `hash` method that we previously used calculates the hash based on
the memory location, i.e. with each program run we get a different value
for the same user. This change now uses the md5 algorithm so that the
same user always produces the same hash.
2023-10-09 11:42:19 +02:00
Marc Durdin
0e4c4cbcf0 chore: rename _km_kbp_ to _km_core_ 2023-10-09 14:53:23 +07:00
Marc Durdin
db76e2541d chore: rename KM_KBP_ to KM_CORE_ 2023-10-09 14:53:22 +07:00
Marc Durdin
5a3bf77bc5 chore: rename km_kbp_ filenames to km_core_ 2023-10-09 14:53:20 +07:00
Marc Durdin
ba5f18defd chore: rename km_kbp_ to km_core_ 2023-10-09 14:53:13 +07:00
Marc Durdin
22362d435f chore: rename pkm_kbp_ to pkm_core_ 2023-10-09 14:52:23 +07:00
Marc Durdin
4e5cbc3b96 chore: fix typo 2023-10-09 14:51:51 +07:00
Marc Durdin
906a0a2ed7 chore: fix typo 2023-10-09 14:41:01 +07:00
Marc Durdin
4ef18f5e29 chore(core): rename keyboardprocessor.h to keyman_core_api.h
Fixes #9721.

Also tweaks some documentation references to keyboardprocessor, but does
not touch those relating to debian/control.
2023-10-09 14:21:01 +07:00
Joshua A. Horton
e7fa856884 fix(web): roaming disables longpress up-flick 2023-10-09 13:04:00 +07:00
Marc Durdin
7544b33216 fix(developer): reduce WARN_PackageShouldNotRepeatLanguages to HINT
Part of #9266.

Also cleans up filenames for hint_language_tag_is_not_minimal, and fixes
a bug in transformKpsToKmpObject where a null object could be passed on
to another function in case of failure.
2023-10-09 12:58:19 +07:00
Joshua A. Horton
33a173d4b6 feat(web): roaming vs 'permitted selection' ranges 2023-10-09 12:47:49 +07:00
Joshua A. Horton
683d943922 fix(web): reverts old prototype for leak cleanup (post-rebase to 'proper' version) 2023-10-09 12:12:55 +07:00
Joshua A. Horton
f7da352442 chore(web): more dead code trimming 2023-10-09 12:12:55 +07:00
Joshua A. Horton
5154b1a267 chore(web): removes no-longer-utilized class 2023-10-09 12:12:55 +07:00
Joshua A. Horton
12cb671202 feat(web): longpress tweakables, better flick-shortcut spec & handling 2023-10-09 12:12:54 +07:00
Joshua A. Horton
df8a14f87c feat(web): restores subkey-selection, extends accepted path range 2023-10-09 12:12:54 +07:00
Joshua A. Horton
cf82a2f840 docs(web): updates comment 2023-10-09 12:12:36 +07:00
Marc Durdin
defbd53fb8
Merge branch 'master' into fix/web/integrated-test-stability 2023-10-09 16:11:25 +11:00
Joshua A. Horton
1a3b02319f fix(web): Touch[] != TouchList 2023-10-09 12:10:44 +07:00
Marc Durdin
6b4497b516
Merge pull request #9695 from keymanapp/fix/windows/9692-re-enable-signature-check
fix(windows): re-enable signature check 🔥
2023-10-09 16:09:54 +11:00
Joshua A. Horton
3874a52cba fix(web): tracked source cleanup / robustness interactions 2023-10-09 11:07:08 +07:00
Joshua A. Horton
35bebda728 docs(web): comment referencing the PR 2023-10-09 10:23:43 +07:00
Joshua A. Horton
21c79374c3 fix(web): enhances integrated test stability 2023-10-09 10:15:02 +07:00
Joshua A. Horton
107a6dc046 fix(web): integrated-test stability fix 2023-10-09 10:14:17 +07:00
Joshua A. Horton
28f1d2589d fix(web): integrated test fixes, sync -> async for test sequences 2023-10-09 10:08:12 +07:00
Marc Durdin
35814bc29f chore(developer): add --for-publishing to kmc
The new --for-publishing flag allows us to enforce additional
requirements for keyboards and lexical models that are to be published
to the keymanapp repositories. This flag will always be switched on in
the repository builds. This flag overrides the 'skipMetadata' option
which is a project-level option.

There is a bit of a delicate balance of requirements here:

1. We want to be able to automatically verify keyboards and package
   licenses if they are in the repository.
2. We do not want to force license checks on privately built keyboards
   and models.
3. We want to provide pathways for users to check locally before
   submitting to the repository.
4. If possible, we want to be able to build the .keyboard_info and
   .model_info files locally, but this should be up to the user for
   local builds.

For now, the only additional check that this flag provides is to verify
that the license is MIT, which was an unchecked requirement for the
repositories in the past.

Future checks can be added for file layout, additional required
metadata files.

Anticipate adding this as a tool to Keyman Developer IDE -- a
'pre-publish' check -- in the future.
2023-10-09 07:45:34 +07:00
Marc Durdin
52291b1ccb chore(developer): remove unused xml2js references 2023-10-09 06:34:32 +07:00
Marc Durdin
0f5e88192c chore(developer): Update kmc-package xml2js dependency
I missed adding this as a dependency for @keymanapp/kmc-package. because
node has a very lenient dependency search, it found xml2js from other
@keymanapp/common-types, so never caused errors locally.
2023-10-09 06:06:34 +07:00
Marc Durdin
f76efc38cc chore(common): stop using xml2js.processors.firstCharLowerCase
Fixes #9713.
2023-10-09 05:43:29 +07:00
Marc Durdin
36a3a27bac fix(developer): non-minimal BCP 47 tags in kps should be a hint
Fixes #9266.

For historical reasons there are many non-minimal BCP 47 tags in package
metadata in the repository (over 2500). Furthermore, earlier versions of
kmcomp did not fail the build on package compilation warnings. This
means it is better to reduce WARN_LanguageTagIsNotMinimal to
HINT_LanguageTagIsNotMinimal, so that we can otherwise respect the
'treat warnings as errors' flag on the keyboard projects.

We may be able to upgrade this to a warning again one day in the future.
2023-10-09 05:19:43 +07:00
Marc Durdin
cc5b8da69b refactor(developer): .keyboard_info examples should use keys as a string
Fixes #9708.

Matches the kmp.json format of keys string in the .keyboard_info schema
and compiler, in order to reduce the number of formats we are working
with. This same format may be used elsewhere in Keyman schemas in the
future for sets of keys, for example, I hope we can use it in regression
tests.
2023-10-08 19:01:14 +07:00
Marc Durdin
400444933c feat(developer): introduce WelcomeFile property to packages
Fixes #9478.

This adds a property WelcomeFile to .kps and kmp.json, which allows us
to move away from the hardcoded welcome.htm filename in the future, and
makes transform from Markdown (#9477) a simpler operation, and just
generally starts the cleanup of the messiness of hard-coded filenames.

The package compiler will fallback to injecting welcome.htm into this
property if (a) welcome.htm is present, and (b) the property does not
already have a value. This doesn't buy us much because we still need to
support welcome.htm for existing legacy packages, but does mean that
our .kmp package metadata will be more consistent for packages compiled
with 17.0+ compilers.
2023-10-08 07:22:57 +07:00
Steven R. Loomis
f5b28aa0bf
Merge pull request #9688 from keymanapp/feat/core/9121-more-vars-epic-ldml
feat(developer): ldml fix all remaining TODOs around markers and variables 🙀
2023-10-07 19:07:50 -05:00
Steven R. Loomis
505a45e933
Merge branch 'master' into feat/core/9121-more-vars-epic-ldml 2023-10-07 11:36:07 -05:00
Steven R. Loomis
12bb554b5a feat(developer): fix vars and markers 🙀
- Figured it out. Problem was a custom Array constructor.
- also updated ElementString class, which would have the same issue.

For: #9121
For: #9119
2023-10-07 09:11:27 -05:00
Steven R. Loomis
450e29cf2a feat(developer): fix vars and markers 🙀
- odd, but seems to work this way

For: #9121
For: #9119
2023-10-07 08:48:18 -05:00
Marc Durdin
00484a0e0f chore: fixup js imports for schema validators 2023-10-07 06:46:10 +07:00
Steven R. Loomis
f3fd5aa879
Merge pull request #9687 from keymanapp/feat/core/9119-more-markers-epic-ldml 2023-10-06 18:27:30 -05:00
Steven R. Loomis
b7c7a1c7b3 feat(developer): fix vars and markers 🙀
- workaround for debugger/test issue

For: #9121
For: #9119
2023-10-06 18:11:37 -05:00
Marc Durdin
982fdd0318 fix(developer): skip resource check for node addons 2023-10-07 05:49:25 +07:00
Steven R. Loomis
25c20ee812 feat(common): fix marker parsing 🙀
- cleaned up regex

For: #9119
2023-10-06 11:58:59 -05:00
Eberhard Beilharz
2e4dd10522
fix(linux): Explicitly initialize GTK
Usually this is done automatically. However, if e.g. no `DISPLAY` variable
is set it'll fail. When we explicitly initialize GTK it still fails, but
shows a more helpful warning instead of throwing a runtime error.

Fixes #9705.
2023-10-06 16:50:30 +02:00
Darcy Wong
d366f332b1 chore(web): Add Android tablet theme 2023-10-06 15:03:01 +07:00
Marc Durdin
928bd2a7cd chore(common): fixup tsconfig for common/web/utils 2023-10-06 14:48:28 +07:00
Darcy Wong
510de7244e fix(android/engine): Remove refresh that wasn't working 2023-10-06 14:15:37 +07:00
Darcy Wong
a5aef7aeae fix(web): Update image path when setting Options 2023-10-06 14:15:12 +07:00