Eberhard Beilharz
3bd0173954
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 .
2021-07-01 12:49:50 +02:00
Eberhard Beilharz
8b1a529f43
Merge pull request #5401 from keymanapp/fix/linux/issue-5400
...
fix(linux): Improve bitmap conversion
2021-07-01 09:00:41 +02:00
Eberhard Beilharz
f519c2447d
fix(linux): Improve bitmap conversion
...
Converting some bitmaps fail with a truncation error. This change
allows to successfully convert the bitmap files.
Fixes #5400 .
2021-06-30 18:57:22 +02:00
Eberhard Beilharz
3e938fe82c
fix(linux): Report Sentry related messages to stderr
...
This will make them not appear in the generated markdown help files.
2021-06-30 12:18:02 +02:00
Eberhard Beilharz
56e27473ac
Merge pull request #5373 from keymanapp/fix/linux/issue-5310
...
fix(linux): Save QR code in temporary directory
2021-06-28 16:53:52 +02:00
Eberhard Beilharz
a92c59f3be
Merge pull request #5372 from keymanapp/refactor/linux/issue-5309
...
refactor(linux): Centralize paths
2021-06-28 16:51:56 +02:00
Eberhard Beilharz
768de5f66b
fix(linux): Save QR code in temporary directory
...
Fixes #5310 .
2021-06-25 19:41:51 +02:00
Eberhard Beilharz
50d19372bc
refactor(linux): Use path instead of os.path
2021-06-25 19:39:16 +02:00
Eberhard Beilharz
35d506c977
refactor(linux): Centralize paths
...
Introduce methods to get paths instead of hard-coding the values.
This also deprecates four methods (`user_keyman_dir`,
`user_keyman_font_dir`, `user_keyboard_dir`, and `get_isntall_area_path`).
This change also fixes a crash trying to install a package in the
shared area.
2021-06-25 19:25:48 +02:00
Eberhard Beilharz
0a2dd29e53
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 .
2021-06-25 18:59:12 +02:00
Eberhard Beilharz
7c28e87ece
fix(linux): fix crash in km-package-install -p foo
2021-06-25 18:59:11 +02:00
Eberhard Beilharz
5bde5b5904
chore(linux): Add deprecated decorator
2021-06-25 18:52:10 +02:00
Eberhard Beilharz
76d2f65abc
refactor(linux): Use single quotes
2021-06-25 15:51:21 +02:00
Eberhard Beilharz
70b88790df
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 .
2021-06-24 16:09:27 +02:00
Eberhard Beilharz
b9b1ff8a95
fix(linux): Improve error handling if lang_tags_map.py is missing
...
If the developer forgot to run `make` to create `lang_tags_map.py`
we now print a message instead of reporting to Sentry.
Fixes #5343
2021-06-23 17:09:59 +02:00
Eberhard Beilharz
0909cbbf63
Update linux/keyman-config/keyman_config/install_window.py
...
Co-authored-by: Marc Durdin <marc@durdin.net>
2021-06-03 13:03:45 +02:00
Eberhard Beilharz
03d85b65aa
feat(linux): Integrate with fcitx5
...
This change implements the Keyman side of the fcitx5 integration.
Closes #4910 .
2021-06-02 19:11:48 +02:00
Eberhard Beilharz
5a3a7910ab
feat(linux): Try only 5 instead of 10000 times to connect to ibus
...
Part of #4910 .
2021-06-02 15:16:22 +02:00
Eberhard Beilharz
6b1cbb508d
fix(linux): Don't crash on invalid metadata
...
Fixes #5184
2021-05-28 18:30:24 +02:00
Eberhard Beilharz
03fc8953a8
fix(linux): Fix two bugs introduced by recent refactoring
2021-05-28 18:29:48 +02:00
Eberhard Beilharz
c35e5ff9cc
refactor(linux): Refactor install_kmp.py
...
- Introduce `InstallKmp` class
- Remove unused `list_files` method
- Extract common method that `install_kmp_shared` and
`install_kmp_user` use
- Make internal methods protected
2021-05-17 10:58:04 +02:00
Eberhard Beilharz
3adc8e8695
Merge pull request #4971 from keymanapp/fix/linux/issue-4908
...
fix(linux): Fix crash with incomplete metadata (#4908 )
2021-04-26 00:01:13 -07:00
Eberhard Beilharz
31a0de32fe
fix(linux): Fix crash with incomplete metadata ( #4908 )
2021-04-23 11:39:27 +02:00
Eberhard Beilharz
319b7d20ee
fix(linux): Don't crash if kmp file vanishes ( fixes #4907 )
2021-04-23 11:13:46 +02:00
Eberhard Beilharz
599b602603
chore(linux): Merge branch 'master' into feat/linux/sentry
...
# Conflicts:
# linux/keyman-config/keyman_config/handle_install.py
2021-04-20 11:49:43 +02:00
Eberhard Beilharz
9fcddb8afa
fix(linux): Set userid instead of username
...
Username expects a string, so we set the userid instead.
2021-04-20 11:46:15 +02:00
Eberhard Beilharz
9d7be1b6b5
feat(linux): Log some errors as critical
...
Some errors we want to be reported on Sentry, so we change those
to critical.
2021-04-20 11:45:07 +02:00
Eberhard Beilharz
68f9fd315e
feat(linux): Use hash of username
2021-04-20 11:14:23 +02:00
Eberhard Beilharz
0845a9d6c8
Merge pull request #4912 from keymanapp/fix/linux/issue-4911
...
fix(linux): Don't crash on network problem (fixes #4911 )
2021-04-20 02:03:18 -07:00
Eberhard Beilharz
09fe5e86a5
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
- log username in crash report
2021-04-19 18:56:06 +02:00
Eberhard Beilharz
1c04d5200c
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.
2021-04-19 18:06:14 +02:00
Eberhard Beilharz
801810f72c
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 .
(cherry picked from commit 59c45c4671 )
2021-04-19 16:14:41 +02:00
Eberhard Beilharz
0e3c672b63
fix(linux): Fix crash if <kbd>.json doesn't contain description
...
This fixes #4823 . Cherry-pick of PR #4835 .
(cherry picked from commit ebe49cfc6f )
2021-04-01 12:26:16 +02:00
Eberhard Beilharz
5c1c114e5d
fix(linux): Fix crash if query doesn't contain bcp47 tag ( #4800 )
...
(cherry picked from commit c9de93d478 )
2021-03-29 09:14:38 +02: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
Eberhard Beilharz
bb20389dc4
fix(linux): Also use staging site for beta versions
2021-02-09 17:31:07 +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
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
1bf3fe936b
fix(linux): Remove version.sh
...
Remove version.sh and determine version/tier from the .md files
2020-10-09 13:55:18 +07:00
Darcy Wong
9bcb343e03
Merge pull request #3593 from keymanapp/fix/linux/json-decoder
...
fix(linux/config): Catch if kmp.json is invalid JSON
2020-09-18 11:42:11 +07:00
Darcy
07d18fa63a
chore(linux/config): Tweak error message about keyboard being damaged
2020-09-18 11:19:16 +07:00
Darcy
f95acb6b98
fix(linux/config): Display dialog when metadata is invalid
2020-09-18 11:00:49 +07:00
Darcy
5ff61520e6
fix(linux/config): Catch if kmp.json is invalid JSON
2020-09-17 14:02:48 +07:00