If we try to install a keyboard that's missing some metadata
we shouldn't crash.
Fixes#5384, #5385. Cherry-pick of #5414.
(cherry picked from commit 3bd0173954)
When installing in the shared area the user has to run
`km-package-install` with sudo so that he has sufficient permissions.
In that case we have to do extra work to restart ibus for the
logged-in user instead of root.
Fixes#5309. Partial cherry-pick of #5371.
(cherry picked from commit 0a2dd29e53)
Converting some bitmaps fail with a truncation error. This change
allows to successfully convert the bitmap files.
Fixes#5400. Cherry-pick of #5401.
(cherry picked from commit f519c2447d)
When we update/reinstall an existing keyboard we don't want to
add a new entry to the list of keyboards.
Fixes#5308.
(cherry picked from commit 70b88790df)
# Conflicts:
# linux/keyman-config/keyman_config/install_kmp.py
ibus-keyman depends on keyman-keyboardprocessor which we don't
build for s390x because we currently don't support big-endian.
We only build for the same architectures as keyman-keyboardprocessor.
(cherry picked from commit f0e2c848c3)
It turns out that the Debian package build system only considers
the first alternative; python3-raven isn't available on the current
Debian version, however we still need it on Ubuntu 18.04 Bionic where
python3-sentry-sdk is not available. This change swaps the
alternatives and so should work both on Debian as well as for
Bionic.
(cherry picked from commit 4dd0a48b2b)
- don't log regular errors - those are handled and we report them
to the user, but don't want to create a Sentry error
- report some errors, which we want to see on Sentry, as critical
- log hash of username in crash report
(cherry-pick of PR #4914)
If the network is down or the server name can't be resolved we
shouldn't crash. This change logs an error instead.
(cherry picked from commit 1c04d5200c)
Don't re-set context if it changed because the cursor location was
wrong. When the user switches to the EuroLatin keyboard in the
middle of the line, we're getting a wrong cursor location. This will
be fixed with the next keypress, but it leads to the context string
suddenly having more characters added to the front. If we re-set the
context because it's different now we will loose the information we
previously added to the context.
We now compare the end of the string. If the new context string ends
with the old context string we assume that the cursor position got
updated and don't re-set the context.
This fixes#4678.
`buildtools/build-langtags.py` gets executed before creating the
source tarball, so we don't need it in the source package. Excluding
it reduces confusion because the files it requires are not found
in the source package.
The previous setting didn't complain if uscan didn't find a signature
which doesn't help security wise. It would still allow an attacker
to modify the source package. This change now requires a valid
signature for the source package.
When running from source we set the environment to `local` when
reporting to Sentry. This change also adds the package version and
the tier as additional Sentry tags.
This is a follow-up of PR #4581.
This change modifies the reported version number for km-config:
if km-config is installed from a debian package, the package
version will be output as well, e.g.:
`km-config version 14.0.252-beta (package version 14.0.252-1+bionic1)`
Otherwise the output will be identical to before:
`km-config version 14.0.252-beta-local`.
This change also modifies the script that sets the version number so
that builds on Jenkins are now detected in addition to TC.
This fixes#4579.