Commit graph

32532 commits

Author SHA1 Message Date
Marc Durdin
4a685ba8aa
Merge pull request #15021 from cvosoft/test/add-osk-character-use-warnings
test(developer): add coverage tests for warning messages in kmc-analyze/AnalyzeOskCharacterUse
2025-10-27 16:00:41 +01:00
Marc Durdin
89f0aed697
Merge pull request #15022 from keymanapp/fix/developer/11909-prevent-ansi-keyboards-crashing-debugger
fix(developer): prevent ANSI keyboards crashing debugger
2025-10-27 15:41:47 +01:00
Marc Durdin
b653f32a54
Merge pull request #15008 from keymanapp/fix/mac/15007-ignore-ansi-kvk
fix(mac): ignore non-Unicode key caps when preparing OSK
2025-10-27 15:41:35 +01:00
Christoph Völker
368766acdc test(kmc-analyze): fix import paths and order 2025-10-27 14:05:13 +01:00
Christoph Völker
469149e72d test(kmc-analyze): add message coverage tests for AnalyzeOskCharacterUse 2025-10-27 08:36:56 +01:00
Christoph Völker
07c13e81ac test(kmc-analyze): add message coverage tests for AnalyzeOskCharacterUse 2025-10-25 07:38:28 +02:00
Marc Durdin
1e8e3587cf
Merge branch 'master' into test/add-osk-character-use-warnings 2025-10-25 06:15:48 +02:00
Keyman Server
a5b55715d6
Merge pull request #15025 from keymanapp/auto/version-master-19.0.146
auto: increment master version to 19.0.146
2025-10-24 20:03:52 +02:00
Keyman Build Agent
fc87ef38aa auto: increment master version to 19.0.146
Test-bot: skip
Build-bot: skip
2025-10-24 13:01:38 -05:00
Marc Durdin
55d6efe482 fix(developer): prevent ANSI keyboards crashing debugger
Note: #11909 has some additional future cleanup we could do, but these
code paths are not currently accessible, so in the interest of moving
forward, am leaving them for now.

Fixes: #11909
Test-bot: skip
2025-10-24 14:45:17 +02:00
Christoph Völker
cbaae084f7 test(kmc-analyze): add warnings coverage tests for AnalyzeOskCharacterUse 2025-10-24 13:31:15 +02:00
Marc Durdin
da364f978d
Merge pull request #14038 from cvosoft/test-warn-previousmap
test(developer): add test to kmc-analyze for Warn_PreviousMapFileCouldNotBeLoaded
2025-10-24 11:07:22 +02:00
Marc Durdin
a51f4ff965 fix(mac): ignore non-Unicode key caps when preparing OSK
The typeFlags property is used to differentiate Unicode and non-Unicode
keys in the array of keys in a .kvk file. All non-Unicode keys should
be ignored, as we do not support non-Unicode keyboards on macOS.

The reason this fixes #15007, is that the keyboard in question had both
ANSI and Unicode sections in its .kvk file, and the ANSI section was
stored after the Unicode section, so the font spec for ANSI was
overriding the previously (correctly) set Unicode font spec.

Fixes: #15007
2025-10-24 11:00:07 +02:00
Marc Durdin
a7a8cb0b72
Merge pull request #15002 from keymanapp/fix/developer/14411-handle-missing-begin-unicode
fix(developer): handle missing `begin Unicode` in KMW compiler
2025-10-24 09:19:10 +02:00
Marc Durdin
e862f533ce
Merge pull request #15001 from keymanapp/fix/developer/14988-string-escape-syntax-highlight
fix(developer): do not treat backslash as a string escape in syntax highlighting
2025-10-24 09:18:49 +02:00
Christoph Völker
15ea1f321e test(developer): use unitTestEndPoints for loadPreviousMap and clean up test 2025-10-24 08:09:14 +02:00
Christoph Völker
d57274b26d test(developer): add unit test for Warn_PreviousMapFileCouldNotBeLoaded and raise coverage threshold to 75% 2025-10-23 21:03:52 +02:00
Keyman Server
b9c50f3724
Merge pull request #15003 from keymanapp/auto/version-master-19.0.145
auto: increment master version to 19.0.145
2025-10-23 20:03:52 +02:00
Keyman Build Agent
f93b39bcd0 auto: increment master version to 19.0.145
Test-bot: skip
Build-bot: skip
2025-10-23 13:01:54 -05:00
Marc Durdin
c6a96fc457 fix(developer): handle missing begin Unicode in KMW compiler
This probably arose with the move to kmcmplib in WASM, and as it was
never unit tested, we missed it. A simple signed vs unsigned issue.

Fixes: #14411
Test-bot: skip
2025-10-23 15:08:12 +02:00
Marc Durdin
4307073464
Merge pull request #15000 from keymanapp/revert-14984-dependabot/npm_and_yarn/playwright-1.56.1
chore(web): revert "chore(deps-dev): bump playwright from 1.46.1 to 1.56.1"
2025-10-23 14:39:39 +02:00
Marc Durdin
a6f476e557 fix(developer): do not treat backslash as a string escape in syntax highlighting
Adjust two incorrect rules that caused backslash to be treated as an
escape in strings in syntax highlighting in .kmn language.

Fixes: #14988
Test-bot: skip
Build-bot: skip
2025-10-23 11:55:17 +02:00
Marc Durdin
58b56f7ed1
Revert "chore(deps-dev): bump playwright from 1.46.1 to 1.56.1" 2025-10-23 11:02:53 +02:00
Marc Durdin
75ef3d66ac
Merge pull request #14984 from keymanapp/dependabot/npm_and_yarn/playwright-1.56.1
chore(deps-dev): bump playwright from 1.46.1 to 1.56.1
2025-10-23 10:31:33 +02:00
dependabot[bot]
006f0a57cf
chore(deps-dev): bump playwright from 1.46.1 to 1.56.1
Bumps [playwright](https://github.com/microsoft/playwright) from 1.46.1 to 1.56.1.
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](https://github.com/microsoft/playwright/compare/v1.46.1...v1.56.1)

---
updated-dependencies:
- dependency-name: playwright
  dependency-version: 1.56.1
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-20 18:55:50 +00:00
Keyman Server
8b5b733969
Merge pull request #14983 from keymanapp/auto/version-master-19.0.144
auto: increment master version to 19.0.144
2025-10-20 20:03:56 +02:00
Keyman Build Agent
2dd0dbbae4 auto: increment master version to 19.0.144
Test-bot: skip
Build-bot: skip
2025-10-20 13:01:27 -05:00
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