For Keyman Developer Server, add app.webmanifest so that it can be saved
to the home screen; other pages should not require this.
Fixes: #16172
Test-bot: skip
* Centralize the api-extractor.json files, update usage
* Support @since
* Tidy up a few warnings relating to API documentation content
Fixes: #14838
Test-bot: skip
If a Keyman Cloud keyboard is legacy and has no source available, make
this more obvious to the author when they attempt to clone it. Add also
messages to help the author complete the other required steps to clone
a keyboard.
Fixes: #15606
Test-bot: skip
In order to maintain roughly the current build artifact size, strip out
the unfinished core integration from what we merge with preflight.
Test-bot: skip
Build-bot: release:android,ios,developer,web
Turns out `end(result, true)` didn't actually do anything except calling
`end(result, true)` on each child, which resulted basically in a no-op.
Therefore this change removes the `force` parameter from `end()`.
Previously the loop at the beginning of `end` had an infinite loop
because the child was never removed from `childrenToVisit`. This change
refactors and fixes the loop.
Build-bot: skip build:web
Test-bot: skip
* Add `TKeymanPaths.KeymanLocalePath` for consistent access to locales
folder, and update references.
* Remove the `SKDefaultLanguageCode` string and hard code the default
language in CustomisationMessages.pas.
* Hide the test locale 'qqq' on release builds.
Fixes: #15164
* Move the following files from common/windows/cpp/include/ to
common/include/:
* keymanversion.h
* vkeys.h
* Move the following file from common/windows/cpp/ to common/cpp/:
* vkeys.cpp
* Move crc32.cpp,crc32.h into kmcmplib, as they are only used there.
* Remove unused ConvertUTF.c and ConvertUTF.h.
* Update references to the above files.
* Remove precompiled header refs from vkeys.cpp and change data type to
`char*` for types in vkeys.cpp (unless `USE_CHAR16_T` is defined), so
that it is more cross-platform accessible, update usages accordingly,
fixup project definitions accordingly.
* Remove unused define `KMN_KBP_EXPORTING` from kmcmplib/meson.build.
Fixes: #15565
Test-bot: skip
Simplify usage of `TestCompilerCallbacks` by making it responsible for
the `beforeEach` and `afterEach` incantations itself. There are a couple
of more complex usages of `TestCompilerCallbacks` which have been
excluded from this change on purpose.
Renamed `testCallbacks` to `callbacks` in the one place where it was
different.
Hoist @types/node and @types/mocha because inconsistent versions of
@types/mocha were causing compiler errors with this change.
Also added a cast to `fs.readFileSync` to `Uint8Array` to eliminate
compiler warnings/errors in test files.
Fixes: #15654
Test-bot: skip
test(web): add baseline tests for .js keyboards
This change adds baseline tests for .js keyboards. Several of those tests fail and so are skipped for now (#15342).
This test also includes the .js files of the baseline keyboards because they can't easily be generated on non-Windows platforms. This is similar to the .kmx files that are also included in the repo for the same reason.
This fixes a problem where TC shows an error because it can't find the
end of the service message for a failed test. Single quotes (and some
other characters) have to be escaped with `|'` inside of a message.
Build-bot: skip:all build:web
Test-bot: skip
This is basically the same test as `k_0201___ralt_2.kmn` but uses
ALT instead of RALT in the rule.
Also update `k_0201___ralt_2.kmn` to be a bit more extensive.
Note: since the change in `k_0201___ralt_2.kmn` is only in the test
data, i.e. the comments, the .js and .kmx files don't change.
Related-to: #15358
Test-bot: skip
This adds a custom reporter used when building on TeamCity that outputs
the test results in a form that TeamCity can show them nicely.
Build-bot: skip:all build:web
Test-bot: skip