Commit graph

381 commits

Author SHA1 Message Date
Eberhard Beilharz
7446d8d711
fix(linux): Don't crash with corrupt keyboard
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)
2021-07-02 12:02:51 +02:00
Eberhard Beilharz
e2c1732e53
Merge pull request #5413 from keymanapp/fix/linux/cherry/issue-5309
fix(linux): Fix restarting ibus when running with `sudo` 🍒
2021-07-02 10:06:55 +02:00
Eberhard Beilharz
207b843508
Merge pull request #5411 from keymanapp/fix/linux/cherry/issue-5310
fix(linux): Save QR code in temporary directory 🍒
2021-07-02 10:06:44 +02:00
Eberhard Beilharz
cf03a2b2e0
fix(linux): Fix restarting ibus when running with sudo
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)
2021-07-01 11:12:37 +02:00
Eberhard Beilharz
13e02788ca
fix(linux): Save QR code in temporary directory
Fixes #5310. Partial cherry-pick of #5373.

(cherry picked from commit 768de5f66b)
2021-07-01 11:05:49 +02:00
Eberhard Beilharz
0a67c59ad5
fix(linux): Improve bitmap conversion
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)
2021-07-01 11:01:21 +02:00
Eberhard Beilharz
ea0807e259
fix(linux): Don't add duplicate entries when reinstalling keyboard
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
2021-06-25 09:53:19 +02:00
Gunnar Hjalmarsson
12e2c4c2c1
fix(linux): Add libglib2.0-bin to keyman Depends
Fixes #5344
2021-06-24 10:46:24 +02:00
Eberhard Beilharz
f91b52d3ea
chore(linux): Update changelogs to match Debian
The changelogs should match what got uploaded (and accepted) to
Debian so that the changelog reflects the upload history to Debian.
2021-06-17 15:10:59 +02:00
Eberhard Beilharz
705d56a436
Merge pull request #5114 from keymanapp/chore/linux/cherry/moredependency
chore(linux): Swap order of dependency 🍒
2021-05-20 08:41:32 +02:00
Darcy Wong
f9db2e5efe chore(common): Check in crowdin strings for Amharic 2021-05-20 05:47:59 +07:00
Eberhard Beilharz
d1829843af
chore(linux): Swap order of dependency
This was already partially done in 695ee6fde, but we missed this
line.

(cherry picked from commit 8c8823f7ab)
2021-05-19 17:16:27 +02:00
Eberhard Beilharz
d2532fa335
chore(linux): Update changelogs 2021-05-11 18:38:19 +02:00
Eberhard Beilharz
05c3980e71
fix(linux): Swap order of dependencies for Debian package
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)
2021-05-11 16:56:58 +02:00
Darcy Wong
75220054d9 chore(common): Check in crowdin files for Azerbaijani 2021-05-07 13:49:11 +07:00
Eberhard Beilharz
c8eccb53e9
fix(linux): Fix crash with incomplete metadata (#4908)
(cherry picked from commit 31a0de32fe)
2021-04-26 09:16:43 +02:00
Eberhard Beilharz
2773a5aa5e
fix(linux): Don't crash if kmp file vanishes (fixes #4907)
(cherry picked from commit 319b7d20ee)
2021-04-23 11:53:15 +02:00
Eberhard Beilharz
127bc02ef1
feat(linux): Improve Sentry crash reporting
- 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)
2021-04-22 10:12:07 +02:00
Eberhard Beilharz
a28e37f4ed
fix(linux): Don't crash on network problem (fixes #4911)
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)
2021-04-20 11:04:31 +02:00
Eberhard Beilharz
59c45c4671
fix(linux): don't crash on legacy non-Unicode files
If we encounter a legacy non-Unicode file we now simply ignore the
file instead of crashing.

This fixes #4876.
2021-04-12 17:38:57 +02:00
Darcy Wong
1011de5c8b
Merge pull request #4822 from keymanapp/chore/windows/crowdin-ff
chore(common): Check in crowdin strings for Fulah
2021-04-01 08:50:35 +07:00
Eberhard Beilharz
ebe49cfc6f
fix(linux): Fix crash if <kbd>.json doesn't contain description
This fixes #4823.
2021-03-31 19:19:05 +02:00
Darcy Wong
029f07aba5 chore(linux): Check in crowdin for Fulah 2021-03-31 14:21:41 +07:00
Eberhard Beilharz
c9de93d478
fix(linux): Fix crash if query doesn't contain bcp47 tag (#4800) 2021-03-26 19:35:03 +01:00
Darcy Wong
be6a906f79
Merge pull request #4672 from keymanapp/chore/common/crowdin-de-b14s8-utf8
chore(android/app,ios/app): Update crowdin for de
2021-03-15 13:58:03 +07:00
Darcy Wong
abfb1657eb chore(common): Update crowdin for de 2021-03-15 13:16:34 +07:00
Darcy Wong
718279b574 chore(common): Update crowdin for km 2021-03-15 13:11:17 +07:00
Eberhard Beilharz
e371fcb8b8
chore(linux): Verify signed source packages 2021-03-08 19:29:27 +01:00
Eberhard Beilharz
ec6ddf7e97
chore(linux): Fix more lintian warnings 2021-03-08 18:27:11 +01:00
Eberhard Beilharz
22ba0d6866
chore(linux): Clarify licenses 2021-03-08 18:26:50 +01:00
Eberhard Beilharz
3a78ef4be1
chore(linux): Fix some lintian warnings for Debian package 2021-03-08 17:38:28 +01:00
Eberhard Beilharz
63cefab0eb
chore(linux): Improve Sentry environment setting
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.
2021-03-04 16:01:52 +01:00
Eberhard Beilharz
96c688551d
Merge pull request #4581 from keymanapp/chore/linux/sentry
chore(linux): Don't report to Sentry in dev environment
2021-03-04 15:57:08 +01:00
Eberhard Beilharz
33bf5750b0
fix(linux): Improve version number
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.
2021-03-03 20:01:34 +01:00
Eberhard Beilharz
0158e17636
chore(linux): Don't report to Sentry in dev environment
When the environment variable KEYMAN_NOSENTRY is set we'll skip
reporting to Sentry. This is helpful on development machines.
2021-03-03 19:37:27 +01:00
Darcy Wong
2c6bff4f43 chore(linux): Check in crowdin files for de 2021-03-03 14:47:16 +07:00
Eberhard Beilharz
6d69279a9c
feat(linux): Improve output of km-package-list-installed
Closes #4465.
2021-02-11 17:55:25 +01:00
Eberhard Beilharz
ee56b47923
fix(linux): Fix dependencies on packages
The way we previously specified the Sentry library doesn't work
when building on ppa because the build process there doesn't set
the flags.
2021-02-10 16:59:06 +01:00
Eberhard Beilharz
bb20389dc4
fix(linux): Also use staging site for beta versions 2021-02-09 17:31:07 +01:00
Eberhard Beilharz
88e83e191e
fix(linux): Address code review comment
Also add additional test cases from Windows implementation.
2021-02-09 15:51:31 +01:00
Eberhard Beilharz
69402fbd79
fix(linux): Use new parameter 2021-02-08 17:57:10 +01:00
Eberhard Beilharz
42f3f36013
fix(linux): improve BCP 47 canonicalization
This is based on #4425. Also a few additional bug fixes that showed
up on the way.
2021-02-08 17:50:05 +01:00
Darcy Wong
9938af36a5
Merge pull request #4420 from keymanapp/chore/common/crowdin-fr
chore(common): Check in crowdin files for French
2021-02-08 16:05:36 +07:00
Eberhard Beilharz
3e586bc58e
fix(linux): Fix packaging
Tell the Python build that we have a new module in a subdirectory.
Part of the improvements for #3399.
2021-02-05 18:55:17 +01:00
Darcy Wong
f2f80151fb chore(linux): Check in crowdin files for fr 2021-02-04 08:27:50 +07:00
Eberhard Beilharz
693f13a953
fix(linux): Improve fix for #3399
This improves the implementation for normalizing language tags
when installing a keyboard. Based on the Windows implementation
in `Keyman.System.CanonicalLanguageCodeUtils.pas`.

One difference to the Windows implementation is that the mapping of
3- to 2-letter tags is based on `langtags.json` instead of
`iso639-3.tab`.

Closes #3399.
2021-02-03 19:08:03 +01:00
Eberhard Beilharz
a54a711943
fix(linux): Don't crash if uninstalling last keyboard
If a Keyman keyboard is the only installed/selected keyboard in Gnome
and the user uninstalls this in km-config, we have to set the value
for `sources` to an empty array variant. Previously this crashed.

Fixes #4375.
2021-02-02 17:26:08 +01:00
Eberhard Beilharz
e862d3bfe5
chore(linux): Don't report on Sentry when running unit tests
When running unit tests we try to install some keyboards with
invalid URLs which normally results in an issue being reported on
Sentry. This change detects when we're running unit tests and
in that case doesn't initialize Sentry reporting.
2021-01-27 16:27:28 +01:00
Eberhard Beilharz
88637bb818
chore(linux): Don't report on Sentry when running unit tests
When running unit tests we try to install some keyboards with
invalid URLs which normally results in an issue being reported on
Sentry. This change sets an environment variable when running
the tests and modifies the initialization code to not initialize
Sentry reporting when the environment variable `KEYMAN_NOSENTRY`
is set to 1.
2021-01-27 15:59:49 +01:00
Darcy Wong
aa82cbcdd0 chore(linux): Check in crowdin files for de 2021-01-19 15:18:13 +07:00