`onboard-keyman` isn't available on Debian/Ubuntu and doesn't work properly with Wayland. This change removes the `onboard-keyman` recommends which used to cause `onboard-keyman` to be installed automatically together with `keyman`. The user can still manually install `onboard-keyman`.
Fixes: #14769Fixes: #5214
`onboard-keyman` isn't available on Debian/Ubuntu and doesn't work
properly with Wayland. This change removes the `onboard-keyman`
recommends which used to cause `onboard-keyman` to be installed
automatically together with `keyman`. The user can still manually install
`onboard-keyman`.
Fixes: #14769Fixes: #5214
Build-bot: skip
Test-bot: skip
Add breadcrumbs and system information to Sentry error reports
- add breadcrumbs with keyboard details
- add some more information about system
- some refactorings
By default we skip package builds if run on a non-Keyman repo. This makes it harder to test changes, so this PR allows to pass the parameter `force: true` when triggering the build.
- add breadcrumbs with keyboard details
- add some more information about system
- mark files in `km_config` as to the app belonging
- some refactorings
Test-bot: skip
Using `if var := func():` syntax outputs a warning
`FutureWarning: The behavior of this method will change in future
versions. Use specific 'len(elem)' or 'elem is not None' test instead.`
in Python 3.12. This change works around this warning.
Test-bot: skip
By default we skip package builds if run on a non-Keyman repo. This
makes it harder to test changes, so this PR allows to pass the parameter
`force: true` when triggering the build.
sil_yi was impacted by the changes in #14746, as it had the group name
'Unicode Group', which is now illegal, so the compiler fails to build
the keyboard at the referenced commit. Easiest workaround currently is
to remove it from the set of compared keyboards.
By default the local image registry is not available from different jobs.
Uploading and downloading the images to transfer them between the jobs
seems to be an extra effort not being worth it.
Relates-To: #13594
Test-bot: skip
Build-bot: skip
The compiler has always been very ambiguous on which characters were
accepted in group and store names, even to the point of accepting
things like comma in a store name, which would then make it impossible
to reference in an `index` statement!
This commit clarifies the allowable characters in an identifier. While
it would have been possible to use UAX#31 for this, that would have
extended the requirements for this change substantially, and may have
caused us more trouble with legacy keyboards. Given kmcmplib is
end-of-life (see epic/ng-compiler), I have chosen a lower friction
approach. There are certainly other characters that could be excluded,
but in general I have chosen to exclude only those that will definitely
be problematic.
The set of allowable characters for deadkeys has actually been expanded
in this release to match the store and group name rules.
It is expected that there may be some impacted keyboards, but addressing
this change will be relatively straightforward, so I consider this to be
an acceptable back-compatibility trade-off, see
https://github.com/keymanapp/keyman/wiki/Principles-of-Keyman-Code-Changes#4-source-backward-compatibility-keyboard-model-and-package-source-file-formats-should-be-backward-compatibleFixes: #14604
Test-bot: skip
Build-bot: skip build:developer