Commit graph

32505 commits

Author SHA1 Message Date
Darcy Wong
cfddda8d1e
Merge pull request #14935 from keymanapp/fix/android/style-status-bar-white
fix(android): Set the main app background white
2025-10-20 15:25:49 +07:00
Darcy Wong
3fa69fe663 fix(android): Only apply statusBarHeight in portrait orientation 2025-10-20 10:05:23 +07:00
Darcy Wong
9d32743d3a fix(android): Let textView overflow under keyboard 2025-10-20 09:34:21 +07:00
Keyman Server
6c20584b98
Merge pull request #14978 from keymanapp/auto/version-master-19.0.143
auto: increment master version to 19.0.143
2025-10-17 20:04:07 +02:00
Keyman Build Agent
dcc08caec9 auto: increment master version to 19.0.143
Test-bot: skip
Build-bot: skip
2025-10-17 13:01:42 -05:00
Eberhard Beilharz
e77d2432ef
Merge pull request #14973 from keymanapp/chore/linux/14957_parseversion
chore(linux): replace deprecated `parse_version`

`pkg_resources` which contains `parse_version` is deprecated. Latest versions output a warning. This change uses the suggested replacement, `package.version.parse` which is available in all supported Ubuntu versions.

Fixes: #14957
2025-10-17 09:15:18 +02:00
Eberhard Beilharz
917c6c20a1
Merge pull request #14971 from keymanapp/fix/linux/10178_exitibus
fix(linux): use `ibus` command to restart ibus

When using Kubuntu exiting ibus sometimes used to hang (#10178). This was because ibus' `bus.exit()` doesn't shutdown properly (see https://github.com/ibus/ibus/issues/2816#issuecomment-3410473708). The recommended way is to use the `ibus exit` command. Since we no longer use the API we can directly use the `ibus restart` command, which this PR implements.

Fixes: #10178
2025-10-17 09:14:46 +02:00
Marc Durdin
18b3cec77c
Merge pull request #14960 from keymanapp/chore/web/helpURL-and-float-kmw-link
chore(web): update helpURL documentation and float ui link
2025-10-17 06:04:12 +02:00
Marc Durdin
2e458752f4
Merge pull request #14967 from keymanapp/chore/common/schemas-model_info
chore(common): add .model_info schema
2025-10-17 06:04:04 +02:00
Keyman Server
fe1bc22747
Merge pull request #14974 from keymanapp/auto/version-master-19.0.142
auto: increment master version to 19.0.142
2025-10-16 20:04:17 +02:00
Keyman Build Agent
21749f6b6f auto: increment master version to 19.0.142
Test-bot: skip
Build-bot: skip
2025-10-16 13:02:20 -05:00
Eberhard Beilharz
ddb9522337
chore(linux): replace deprecated parse_version
`pkg_resources` which contains `parse_version` is deprecated. Latest
versions output a warning. This change uses the suggested replacement,
`package.version.parse` which is available in all supported Ubuntu
versions.

Fixes: #14957
2025-10-16 18:27:57 +02:00
Eberhard Beilharz
9fb6618924
Merge pull request #14950 from keymanapp/test/linux/clitests
test(linux): add regression tests for cli tools to autopkgtests 🍲

This change adds tests that execute km-package-install, km-package-list-installed, and km-package-uninstall and verifies the results. We have two sets of tests, for both gnome-shell and ibus-proper environments.
2025-10-16 18:03:04 +02:00
Eberhard Beilharz
be2118aaf2
Merge pull request #14962 from keymanapp/fix/linux/14943_installschema
fix(linux): install schema during `keyman-config/build.sh install`

- improve documentation for installing km-config
- install schema during `keyman-config/build.sh install`
- remove schema during `keyman-config/build.sh uninstall`
- improve two scenarios when running `keyman-config/build.sh install`:
    - on newer Ubuntu versions it's no longer possible to directly install Python packages, so we have to use a virtual environment. This change detects a virtual environment and installs into that.
    - detect if we're running directly as `root` user instead of `sudo` and explicitly install into `/usr/local`.
- remove obsolete targets from Makefile. `make deb` no longer worked, so this change removes it. The other removed targets in the Makefile were just calling `./build.sh` and so are not really necessary and not used.
- update packaging documentation

Fixes: #14943
2025-10-16 17:12:09 +02:00
Eberhard Beilharz
1958cd52bf
fix(linux): use ibus command to restart ibus
When using Kubuntu exiting ibus sometimes used to hang (#10178). This
was because ibus' `bus.exit()` doesn't shutdown properly
(see https://github.com/ibus/ibus/issues/2816#issuecomment-3410473708).
The recommended way is to use the `ibus exit` command. Since we no longer
use the API we can directly use the `ibus restart` command, which this
PR implements.

Fixes: #10178
2025-10-16 16:58:18 +02:00
Eberhard Beilharz
da1371ff4c
fix(linux): remove schema during keyman-config/build.sh uninstall
Part-of: #14943
Test-bot: skip
2025-10-16 16:47:57 +02:00
Eberhard Beilharz
a666072679
docs(linux): address code review comments
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-10-16 16:38:50 +02:00
Eberhard Beilharz
7574d2eb68
Merge pull request #14953 from keymanapp/fix/linux/14911_instshared
fix(linux): fix installing keyboard in shared area 🍲

Installing into the shared area (`/usr/local/share`) requires `root` permissions, so in order to install into the shared area the user has to call `km-package-install` with `sudo`. But we also want to add the keyboard to the user's list of available keyboards so that he can switch to it. That needs to be done in the user context. However, when `sudo` ran the command in the user context, the environment variables to connect to the user's session dbus were not set.

This change fixes this by passing `DBUS_SESSION_BUS_ADDRESS` along with the `sudo -u <user>` call. Since `root` doesn't have this variable set (or at least not pointing to the user's dbus), we construct the dbus address based on the user's uid.

On newer Ubuntu versions (>=25.04) we also have to set `XDG_RUNTIME_DIR`, at least when running the autopkgtests.

Fixes: #14911
2025-10-16 15:33:34 +02:00
Eberhard Beilharz
7da6a4e98c
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-10-16 15:17:35 +02:00
Eberhard Beilharz
58875a5680
fix(linux): refactor common strings
Also some other minor changes to address code review comments.
2025-10-16 12:33:56 +02:00
Eberhard Beilharz
be62a31a25
Merge pull request #14938 from keymanapp/chore/linux/sentryautopkgtests
chore(linux): don't report errors to Sentry when running autopkgtests 🍲
2025-10-16 12:11:09 +02:00
Eberhard Beilharz
b5535ff4c0
Merge pull request #14956 from keymanapp/refactor/linux/removeoldcode
refactor(linux): remove no-longer-needed Python 3.7 code

Our oldest supported Ubuntu version is 22.04 which comes with Python 3.10, so we can remove the code for Python 3.7.
2025-10-16 11:36:50 +02:00
Eberhard Beilharz
2993446049
Merge pull request #14937 from keymanapp/refactor/linux/pkginst
refactor(linux): extract functions 🍲
2025-10-16 11:22:29 +02:00
Marc Durdin
bcafb34f42 chore(common): add .model_info schema
Add the v2.0 .model_info schema file, from api.keyman.com. Does not add
the schema to list of compiled schemas in common/types; this can be done
on an as-needed basis.

Test-bot: skip
Build-bot: skip
2025-10-16 08:24:57 +02:00
Keyman Server
2ec783d83b
Merge pull request #14966 from keymanapp/auto/version-master-19.0.141
auto: increment master version to 19.0.141
2025-10-15 20:03:44 +02:00
Keyman Build Agent
8b39999c6f auto: increment master version to 19.0.141
Test-bot: skip
Build-bot: skip
2025-10-15 13:01:27 -05:00
Eberhard Beilharz
19c09e8bc3
docs(linux): update packaging documentation 2025-10-15 11:57:02 +02:00
Eberhard Beilharz
f9a41473c0
chore(linux): remove obsolete targets from Makefile
`make deb` no longer worked, so this change removes it. The other targets
were just calling `./build.sh` and so are not really necessary and not
used.
2025-10-15 11:57:02 +02:00
Eberhard Beilharz
211f05afe3
fix(linux): improve local installation
This improves two scenarios when running `keyman-config/build.sh install`:
- on newer Ubuntu versions it's no longer possible to directly install
  Python packages, so we have to use a virtual environment. This change
  detects a virtual environment and installs into that.
- detect if we're running directly as `root` user instead of `sudo`
  and explicitly install into `/usr/local`.

Test-bot: skip
2025-10-15 11:57:02 +02:00
Eberhard Beilharz
d3abb26bca
fix(linux): install schema during keyman-config/build.sh install
Also improve detection when running with root permissions.

Fixes: #14943
Test-bot: skip
2025-10-15 11:57:01 +02:00
Eberhard Beilharz
152a9122fe
docs(linux): improve documentation for installing km-config
Test-bot: skip
2025-10-15 11:57:01 +02:00
Marc Durdin
d34f238eeb chore(web): update helpURL documentation and float ui link
Make the float UI KeymanWeb link point to the home for KeymanWeb, and
https rather than http, and update the helpURL documentation to match
the current endpoint.

Test-bot: skip
Build-bot: skip
2025-10-15 07:57:08 +02:00
Keyman Server
a1c11056d4
Merge pull request #14959 from keymanapp/auto/cherry-pick-18.0.243-history-to-alpha
auto: cherry-pick 18.0.243 history to alpha
2025-10-15 05:41:01 +02:00
Keyman Build Agent
097ce73c10 auto: cherry-pick 18.0.243 history to alpha
Build-bot: skip
Test-bot: skip
2025-10-14 22:39:31 -05:00
Shawn Schantz
4fd2adc8b0
Merge pull request #14940 from keymanapp/fix/mac/14160-bengali-word
fix(mac): add Microsoft Word to non-compliant app list
2025-10-14 21:14:41 -04:00
Eberhard Beilharz
d1fa884266
refactor(linux): remove no-longer-needed code
Our oldest supported Ubuntu version is 22.04 which comes with Python 3.10,
so we can remove the code for Python 3.7.

Test-bot: skip
2025-10-14 18:03:57 +02:00
Eberhard Beilharz
69513108e3
test(linux): add regression tests for cli tools to autopkgtests
This change adds tests that execute km-package-install,
km-package-list-installed, and km-package-uninstall and verifies the
results. We have two sets of tests, for both gnome-shell and
ibus-proper environments.

Test-bot: skip
2025-10-14 17:54:36 +02:00
Eberhard Beilharz
b7d5e89577
fix(linux): fix installing keyboard in shared area
Installing into the shared area (`/usr/local/share`) requires `root`
permissions, so in order to install into the shared area the user has
to call `km-package-install` with `sudo`. But we also want to add the
keyboard to the user's list of available keyboards so that he can
switch to it. That needs to be done in the user context. However,
when `sudo` ran the command in the user context, the environment
variables to connect to the user's session dbus were not set.

This change fixes this by passing `DBUS_SESSION_BUS_ADDRESS` along
with the `sudo -u <user>` call. Since `root` doesn't have this variable
set (or at least not pointing to the user's dbus), we construct the
dbus address based on the user's uid.

On newer Ubuntu versions (>=25.04) we also have to set `XDG_RUNTIME_DIR`,
at least when running the autopkgtests.

Fixes: #14911
2025-10-14 17:54:36 +02:00
Eberhard Beilharz
3690fec1f2
fix(linux): don't cache files when running with sudo
When running `km-package-install` with `sudo`, cache files owned by
root get created in the users directory. This makes it harder to
replace, and if the user tries to install the keyboard again under his
user account, installation will fail. This change prevents the use
of the cache when running with `sudo`.

Test-bot: skip
2025-10-14 09:55:47 +02:00
Keyman Server
682734a7bb
Merge pull request #14952 from keymanapp/auto/version-master-19.0.140
auto: increment master version to 19.0.140
2025-10-13 20:03:45 +02:00
Keyman Build Agent
109088d86a auto: increment master version to 19.0.140
Test-bot: skip
Build-bot: skip
2025-10-13 13:01:23 -05:00
Eberhard Beilharz
eaf0183460
chore(linux): don't report errors to Sentry when running autopkgtests
Test-bot: skip
2025-10-13 18:29:24 +02:00
Marc Durdin
96e7ed56b5
Merge pull request #14909 from keymanapp/fix/windows/14890-ctrl-ralt-on-osk
fix(windows): osk: handle simulated left Control event when AltGr pressed
2025-10-13 10:39:42 +02:00
Marc Durdin
03cd865c09
Apply suggestions from code review
Co-authored-by: rc-swag <58423624+rc-swag@users.noreply.github.com>
2025-10-13 10:37:35 +02:00
Keyman Server
2a8e474f31
Merge pull request #14944 from keymanapp/auto/version-master-19.0.139
auto: increment master version to 19.0.139
2025-10-11 20:03:51 +02:00
Keyman Build Agent
e623efd8eb auto: increment master version to 19.0.139
Test-bot: skip
Build-bot: skip
2025-10-11 13:01:29 -05:00
Darcy Wong
62462db67b
Merge pull request #14922 from keymanapp/fix/android/sample1-height
fix(android): Update Sample1 text field to resize
2025-10-11 12:43:06 +07:00
Shawn Schantz
9f755c075d fix(mac): add Microsoft Word to non-compliant app list
addresses issue with Bengali text

Fixes: #14160
2025-10-10 16:52:11 -04:00
Keyman Server
dbfd8266cf
Merge pull request #14939 from keymanapp/auto/version-master-19.0.138
auto: increment master version to 19.0.138
2025-10-10 20:03:43 +02:00
Keyman Build Agent
4239ad55f4 auto: increment master version to 19.0.138
Test-bot: skip
Build-bot: skip
2025-10-10 13:01:33 -05:00