Commit graph

32489 commits

Author SHA1 Message Date
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
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
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
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
Eberhard Beilharz
584e9d87aa
refactor(linux): extract functions
Test-bot: skip
2025-10-10 15:50:25 +02:00
Marc Durdin
9a1ec32d86
Merge pull request #14919 from keymanapp/DavidLRowe-patch-1
docs(developer): Update keyboard-editor.md to clarify when entire row will be deleted
2025-10-10 05:37:00 +02:00
Marc Durdin
f8c63ed65d
Merge pull request #14893 from keymanapp/maint/trigger-more-logging
maint(resources): fix watch bug for common files, and add more logging for triggering builds
2025-10-10 05:03:31 +02:00
Darcy Wong
43501ae69e fix(android): Update Sample1 text field to resize 2025-10-10 09:52:46 +07:00
Darcy Wong
ffd2b950c7
Merge pull request #14915 from keymanapp/chore/crowdin-vi
chore(common): Update crowdin strings for Vietnamese
2025-10-10 08:45:44 +07:00
DavidLRowe
618fd3b1a0
Update keyboard-editor.md
I think this change avoids the misunderstanding that deleting the rightmost ("last") key on the row will delete the entire row.
2025-10-09 11:20:52 -08:00
Keyman Server
e08464ac61
Merge pull request #14918 from keymanapp/auto/version-master-19.0.137
auto: increment master version to 19.0.137
2025-10-09 20:03:46 +02:00
Keyman Build Agent
c779739197 auto: increment master version to 19.0.137
Test-bot: skip
Build-bot: skip
2025-10-09 13:01:49 -05:00
Shawn Schantz
922e747b98
Merge pull request #14914 from keymanapp/chore/renew-ios-cert
chore(ios): renew certificate
2025-10-09 08:40:37 -04:00
Eberhard Beilharz
94eabd3ead
Merge pull request #14895 from keymanapp/fix/linux/14888_dbusx11dep
fix(linux): replace `dbus-x11` dependency
2025-10-09 11:17:59 +02:00
Darcy Wong
c38f488986 chore(common): Update crowdin strings for Vietnamese 2025-10-09 11:40:18 +07:00
Shawn Schantz
a4a495a705 chore(ios): renew certificate 2025-10-08 20:21:51 -04:00
Darcy Wong
7a4484dbc9
Merge pull request #14873 from keymanapp/fix/android/extra-bar
fix(android): Refactor bottom inset calculations for in-app and system keyboard
2025-10-09 06:41:34 +07:00
Keyman Server
5bf828b60b
Merge pull request #14912 from keymanapp/auto/version-master-19.0.136
auto: increment master version to 19.0.136
2025-10-08 20:04:01 +02:00
Keyman Build Agent
d80fa47f30 auto: increment master version to 19.0.136
Test-bot: skip
Build-bot: skip
2025-10-08 13:01:39 -05:00