Commit graph

33096 commits

Author SHA1 Message Date
Marc Durdin
3c9492dd56 chore(developer): verify file types of content files in package
This is a transfer of the functionality in the legacy package compiler;
we could go much further in verifying file types and excluding certain
files, but that's a big design session. For now, just refreshed to
include the set of Keyman for Windows and Keyman Engine for Windows
files which are most likely to be accidentally included.

Adds WARN_RedistFileShouldNotBeInPackage and WARN_DocFileDangerous and
corresponding unit tests and constant declarations.
2023-05-14 09:31:32 +07:00
Keyman Server
0fb6b164ab
Merge pull request #8785 from keymanapp/auto/version-master-17.0.107
auto: increment master version to 17.0.107
2023-05-13 01:03:19 +07:00
Keyman Build Agent
db619deb66 auto: increment master version to 17.0.107 2023-05-12 14:02:41 -04:00
Eberhard Beilharz
83615b9d6c
chore(linux): Fix installation build step on TC
When building on TC we install into a temporary directory. This
broke with the recent introduction of build.sh because that
now calls `make install` whereas previously we explicitly called
`make install-temp` on TC. Instead of adding a `install-temp`
action to `build.sh` we now check in the Makefile if sudo is set.
2023-05-12 17:57:19 +02:00
Steven R. Loomis
d1fb5bc205
Merge pull request #8716 from keymanapp/feat/developer-234-uset-wasm-epic-ldml
feat(developer): uset api from wasm! 🙀
2023-05-12 10:14:35 -05:00
Steven R. Loomis
e795287b93 feat(developer): kmc-kmn: merge conflict updates 🙀
for: #7234
2023-05-12 08:44:50 -05:00
Steven R. Loomis
1937552f39 Merge remote-tracking branch 'upstream/master' into feat/developer-234-uset-wasm-epic-ldml 2023-05-12 08:44:19 -05:00
Steven R. Loomis
02a3b41222
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-05-12 08:37:32 -05:00
Ross
65ef3d0982 chore(windows): remove QueDebugInformation method 2023-05-12 18:21:44 +10:00
Marc Durdin
3b86754314
Merge pull request #8726 from keymanapp/chore/developer/disambiguate-compilers
chore(developer): rename Compiler and related classes
2023-05-12 17:58:14 +10:00
Marc Durdin
8446775dd5 feat(developer): verify at least one language in package
Adds `ERROR_MustHaveAtLeastOneLanguage` and corresponding unit test.
2023-05-12 14:42:07 +07:00
Joshua A. Horton
84cf3fdca5 fix(web): banner state management after predict-mode toggling 2023-05-12 14:25:21 +07:00
Marc Durdin
2528731b58 chore(developer): fixup missing rename 2023-05-12 14:15:24 +07:00
Marc Durdin
187a25240a chore(developer): fixup missing rename 2023-05-12 14:14:32 +07:00
Marc Durdin
27aa806282 chore(developer): Merge branch 'master' into chore/developer/disambiguate-compilers 2023-05-12 14:09:50 +07:00
Marc Durdin
b3436b8aff chore(developer): fix kmc-ldml unit tests 2023-05-12 13:31:56 +07:00
Marc Durdin
e4ad95550e feat(developer): verify bcp47 tags are valid and minimal in kmc-package
Adds checks for bcp47 tag metadata for keyboards and lexical models --
both validity and minimality. Adds `ERROR_LanguageTagIsNotValid` and
`WARN_LanguageTagIsNotMinimal` messages and corresponding unit tests.

This was implemented by extending the existing duplicate id check, so
renamed that function accordingly.
2023-05-12 13:21:13 +07:00
Joshua A. Horton
7b67b2f095 fix(developer): keyman-version package reference 2023-05-12 11:53:34 +07:00
Joshua A. Horton
d9425bb1ff chore: Merge branch 'master' into feature-esmodule-as17s12-end-update 2023-05-12 11:53:12 +07:00
Marc Durdin
3ee1132200
Merge pull request #8757 from keymanapp/feat/developer/validate-package-name
feat(developer): validate package name in compiler
2023-05-12 13:22:58 +10:00
Marc Durdin
34ba77ff2b
Merge pull request #8755 from keymanapp/feat/developer/validate-content-file-names-in-packages
feat(developer): validate content file names in packages
2023-05-12 13:22:50 +10:00
Marc Durdin
25f3a42bd5
Merge pull request #8751 from keymanapp/feat/developer/validate-package-filename
feat(developer): add validation of package filenames
2023-05-12 12:25:33 +10:00
Marc Durdin
090170ce8d
Merge pull request #8740 from keymanapp/feat/developer/package-validation-in-kmc-package
feat(developer): add package validation
2023-05-12 12:25:26 +10:00
Marc Durdin
7982bd955c
Merge pull request #8729 from keymanapp/chore/developer/move-package-formats-to-common-types
chore(developer): move package formats to common/web/types
2023-05-12 12:25:19 +10:00
Joshua A. Horton
dbf14faeb0 chore(web): minor cleanup 2023-05-12 09:24:56 +07:00
Joshua A. Horton
1cadcd73e3 chore(web): Merge branch 'refactor/web/browser-focus-maintenance-states' into fix/web/app-browser-osk-hooks 2023-05-12 09:22:05 +07:00
Joshua A. Horton
bd656481b6 chore(web): cleanup per review 2023-05-12 09:21:25 +07:00
Marc Durdin
d3e4762b52 chore(developer): Info_KeyboardFileHasNoKeyboardVersion
Downgrades `Warn_KeyboardFileHasNoKeyboardVersion` to
`Info_KeyboardFileHasNoKeyboardVersion`, because this is not an error,
or even something wrong necessarily; it's just something it's good to be
aware of. Updates unit test for kmc to cater for the extra message.
2023-05-12 09:07:46 +07:00
Joshua A. Horton
fc07ae5835 chore(web): Merge branch 'refactor/web/legacy-web-events' into refactor/web/browser-focus-maintenance-states 2023-05-12 09:02:45 +07:00
Joshua A. Horton
5611672144 chore(web): Merge branch 'fix/web/webview-android-launch' into refactor/web/legacy-web-events 2023-05-12 09:02:03 +07:00
Marc Durdin
53c51b79e6 feat(developer): add tests for keyboard and package version matching
Adds `WARN_KeyboardVersionsDoNotMatch` and
`WARN_KeyboardVersionsDoNotMatchPackageVersion`.

Adds unit tests. Several other 'invalid' packages needed corrections
after adding this validation. Note that one unit test was deleted
because it could never be satisfied after adding this validation step.
2023-05-12 08:26:54 +07:00
Steven R. Loomis
e37e4d0cd3 feat(developer): vars: binary builder 🙀
- no, not basic.txt yet…

For: #7377
2023-05-11 19:54:45 -05:00
Marc Durdin
3c3a363478 feat(developer): verify keyboard versions in kmc-package
Refactor the `extractKeyboardVersionFromKmx` function into a new class
and add extra version checking. This caused a bit of a cascade of test
failures due to some of the 'invalid' fixtures actually being invalid
in multiple ways, so the fixtures have been corrected to only be wrong
in a single way -- the way they are supposed to be broken. This means
additional fixture files in the 'invalid' folder.

Now updates keyboard version metadata for all keyboards in the package.

Upgrades `WARN_FollowKeyboardVersionButNoKeyboards` to
`ERROR_FollowKeyboardVersionButNoKeyboards`, as this leads to invalid
package metadata on build.

Renames `ERROR_KeyboardFileNotFound` to
`ERROR_KeyboardContentFileNotFound` to better reflect that no `<File>`
in the package is found to match a given `<Keyboard>` entry.

Adds `ERROR_KeyboardFileNotFound` when a referenced .kmx does not exist.

Adds and updates corresponding unit tests.
2023-05-12 07:19:33 +07:00
Steven R. Loomis
cc09973874 feat(developer): vars: set validation 🙀
For: #7377
2023-05-11 18:47:48 -05:00
Steven R. Loomis
c06726ce0d feat(developer): vars: uset validation 🙀
For: #7377
2023-05-11 13:05:39 -05:00
Keyman Server
e183f93be1
Merge pull request #8760 from keymanapp/auto/version-master-17.0.106
auto: increment master version to 17.0.106
2023-05-12 01:02:36 +07:00
Keyman Build Agent
7a63284dd2 auto: increment master version to 17.0.106 2023-05-11 14:01:52 -04:00
Steven R. Loomis
7855cdc494 feat(common): add async init() to compiler sections 🙀
- lots of ripples through test and client code code
- passes all but basic.xml (some tests stubbed out still, though)
- update vars test

For: #7377
2023-05-11 10:42:20 -05:00
Steven R. Loomis
c4fe843655 feat(common,developer): remove ordr and finl, add vars 🙀
- vars tests, doesn't pass yet
- tran tests and compilers stubbed out for now

For: #7377
2023-05-11 10:41:37 -05:00
Steven R. Loomis
284b062811 spec(core): update to spec for transforms and vars 🙀
- updates to constants .ts/.h
- doc updates

For: #7377
2023-05-11 10:41:37 -05:00
Steven R. Loomis
74e46db364 spec(core): update to spec for transforms and vars 🙀
For: #7377
2023-05-11 10:41:37 -05:00
Steven R. Loomis
53d4f22d13 feat(common): initial work on ldml variables 🙀
For: #7377
2023-05-11 10:41:37 -05:00
Steven R. Loomis
47e844b2cc spec(core): spec for transform 🙀
- first pass, may need more

For: #7377
2023-05-11 10:41:37 -05:00
Steven R. Loomis
6317583528 feat(developer): kmc-kmn: wasm and error message updates 🙀
developer:
- update wasm machinery in kmc-kmn to be more self contained
- improve exception situation in wasm functions

common:
- compilerErrorFormatCode() for formatting the raw code such as for tests
- compilerExceptionToString() for formatting exceptions in messages

for: #7234
2023-05-11 10:37:46 -05:00
Eberhard Beilharz
b759e25a05
Merge pull request #8733 from keymanapp/chore/linux/config-build.sh
chore(linux): Add build.sh for keyman-config
2023-05-11 14:50:47 +02:00
Eberhard Beilharz
032a123347
chore(linux): Properly fix shellcheck SC1091 warnings
The secret is to disable the "shellcheck.useWorkspaceRootAsCwd".
2023-05-11 11:59:15 +02:00
Eberhard Beilharz
1b76f98ec8
chore(linux): Add .shellcheckrc instead of inline directives
Also improve output specification.

Co-authored-by: Marc Durdin <marc@durdin.net>
2023-05-11 10:31:12 +02:00
Marc Durdin
70279914a8 feat(developer): validate package name in compiler 2023-05-11 15:03:53 +07:00
Marc Durdin
b2be12c258 feat(developer): validate content file names in packages 2023-05-11 14:42:26 +07:00
Darcy Wong
d796104775
Merge pull request #8749 from keymanapp/chore/android/cleanup-build-play-store-notes
chore(android/app): Cleanup build-play-store-notes script
2023-05-11 13:42:12 +07:00