Commit graph

32520 commits

Author SHA1 Message Date
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
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
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