Commit graph

34184 commits

Author SHA1 Message Date
Joshua Horton
21c43452e0
Merge pull request #16209 from keymanapp/fix/auto-test-cookies-and-paths
fix(web): fixes cookie unit-tests and path for OSK resources during testing
2026-07-09 00:45:43 +07:00
Eberhard Beilharz
fcf8988910
Merge pull request #16188 from keymanapp/fix/android/16187_font
fix(android): differentiate between fontPath and fontUrl in Keyman Engine for Android
2026-07-08 14:35:10 +02:00
Marc Durdin
1aae71e998
Merge pull request #16152 from keymanapp/fix/android/16122-refactor-KMLog
fix(android): refactor `KMLog` - simplification and added resilience
2026-07-08 22:34:21 +10:00
Marc Durdin
34c6beb958
Merge pull request #16176 from keymanapp/chore/16172-remove-deprecated-html-metas
chore: remove deprecated "X-UA-Compatible" and "apple-mobile-web-app-capable" metas
2026-07-08 22:34:00 +10:00
Marc Durdin
c9bfc87828
Merge pull request #16174 from keymanapp/refactor/web/16168-ui-remove-keymanweb-variable
refactor(web): rename `keymanweb` to `keyman` in UI modules
2026-07-08 22:33:48 +10:00
Marc Durdin
e00304ce9c
Merge pull request #16210 from kingsuper195/chore/linux/install-kmp-button-order
chore(linux): reorder buttons on kmp install window
2026-07-08 21:46:18 +10:00
Eberhard Beilharz
71aefb8f47
fix(android): address code review comments
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-07-08 11:43:15 +02:00
Peter Durdin
c6db29c454 chore(linux): reorder buttons on kmp install window
Cancel button goes on the left according to GNOME Human Interface Guidelines.

Test-bot: skip
2026-07-08 10:28:21 +02:00
Joshua Horton
81b0c0b706 fix(web): fixes cookie unit-tests and path for OSK resources during testing
Build-bot: skip build:web
Test-bot: skip
2026-07-06 11:13:24 -05:00
Eberhard Beilharz
70282bfd5b
fix(android): rename method to getKeyboardTextFontFilenameOnly
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
This addresses a code review comment.
2026-07-03 17:26:05 +02:00
Eberhard Beilharz
1867a7659f
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2026-07-03 17:23:19 +02:00
Keyman Server
028a741fb1
Merge pull request #16189 from keymanapp/auto/version-master-19.0.252
auto: increment master version to 19.0.252
2026-07-02 20:02:33 +02:00
Keyman Build Agent
048be2f6a8 auto: increment master version to 19.0.252
Test-bot: skip
Build-bot: skip
2026-07-02 13:01:27 -05:00
Eberhard Beilharz
1191e4387f
fix(android): fix setting font
PR #16146 introduced a problem with selecting a different font as
display font so that we always ended up with not setting the font.
This was caused by the font filenames now being a URL (which is necessary
because they get processed by the web engine). However, the Android code
checks for the existence of the font in order to create the typeface,
which only works for local paths.

This PR modifies and simplifies `KMKeyboard.getFontFilename` to return the
full path, renames `KMKeyboard.txtFont` and `KMKeyboard.oskFont` to make
it clearer that they contain a path and not a URL.

Also initialize `KMKeyboard.oskFontPath` with empty string instead of
`null`. This makes it consistent with` txtFontPath` and with the
documented behavior of `KMManager.getKeyboardOskFontFilename()` (which
returns `KMKeyboard.oskFontPath`).

Follows: #16146
Fixes: #16187
Build-bot: release:android
2026-07-02 19:52:35 +02:00
Marc Durdin
522018b6ef
Merge pull request #16184 from keymanapp/fix/android/16183-skip-test-on-windows
fix(android): skip test on Windows that triggers androidx WebKit bug
2026-07-02 21:42:27 +10:00
Marc Durdin
fb761fc78f fix(android): skip test on Windows that triggers androidx WebKit bug
Fixes: #16183
Test-bot: skip
2026-07-02 09:16:17 +02:00
Keyman Server
f5fd6ff6e0
Merge pull request #16179 from keymanapp/auto/version-master-19.0.251
auto: increment master version to 19.0.251
2026-07-01 20:04:06 +02:00
Keyman Build Agent
8dfdd8251e auto: increment master version to 19.0.251
Test-bot: skip
Build-bot: skip
2026-07-01 13:01:37 -05:00
Joshua Horton
824925a387
Merge pull request #16136 from keymanapp/fix/ios/load-via-scheme-handler 2026-07-01 21:57:37 +07:00
Joshua Horton
ef6f1bac76
Merge pull request #16142 from keymanapp/fix/ios/bundle-globe-hint 2026-07-01 21:56:42 +07:00
Eberhard Beilharz
98a4e44135
Merge pull request #16146 from keymanapp/fix/android/16096_blankKeyboard
fix(android): use `WebViewAssetLoader` for loading assets on Android (address regression in 19.0.242)

This PR migrates the Android WebView from loading local files via file:// URLs to using `WebViewAssetLoader`, which serves internal storage files through a magic HTTPS domain (https://appassets.androidplatform.net). This fixes the blank keyboard problem reported in #16096 for Android.

Core pattern of the change:

```
// Before:
"file://" + context.getDir("data", ...)
  + "/" + filename
// After:
"https://appassets.androidplatform.net"
  + "/data/" + filename
```

The `WebViewAssetLoader` in `KMKeyboardWebViewClient` intercepts requests to this domain and serves files from internal storage. Since the domain is a constant, `Context` is no longer needed to construct URLs, simplifying several method signatures.

Also this PR makes `KMKeyboard.getKeyboardRoot()` private, and renames public `Keyboard.getKeyboardPath()` to private `Keyboard.getKeyboardUrl()`.

Part-of: #16096
Replaces: #16132
2026-07-01 15:52:47 +02:00
Eberhard Beilharz
28652af8ab
fix(android): suppress error for fallback keyboard
We use SIL EuroLatin as fallback keyboard. If that is not installed,
previously we output an error which showed up as a toast for the user.
This change now outputs a warning instead of the error for the default
keyboard.

Also changed the KeyboardHarness test app to set a different keyoard as
default.
2026-07-01 12:27:38 +02:00
Eberhard Beilharz
0aa41c1028
fix(android): fix typo 2026-07-01 11:52:02 +02:00
Eberhard Beilharz
a146345eae
fix(android): fix problem with fonts
The default fonts (DejaVueSans.ttf and keymanweb-osk.ttf) are located in
the root directory, not the package directory. This fixes the
KeyboardHarness test app.

Also some improvements with variable and function names to better match
what they do.
2026-07-01 11:33:01 +02:00
Marc Durdin
cda7dc6d24 chore: remove deprecated "X-UA-Compatible" and "apple-mobile-web-app-capable" metas
For Keyman Developer Server, add app.webmanifest so that it can be saved
to the home screen; other pages should not require this.

Fixes: #16172
Test-bot: skip
2026-07-01 10:27:22 +02:00
Marc Durdin
e6d86d7e04 refactor(web): rename keymanweb to keyman in UI modules
The variable name `keymanweb` used in the UI modules is confusing
because `KeymanWeb` also exists and points to something else. Rename to
`keyman` which just mirrors `window.keyman`.

Also fixup type declaration for toolbar `lastDismissalCallback`, which
did not match the assigned type.

Fixes: #16168
Test-bot: skip
2026-07-01 09:18:11 +02:00
Keyman Server
8d2cdc433b
Merge pull request #16166 from keymanapp/auto/version-master-19.0.250
auto: increment master version to 19.0.250
2026-06-30 20:04:20 +02:00
Keyman Build Agent
d549508f5b auto: increment master version to 19.0.250
Test-bot: skip
Build-bot: skip
2026-06-30 13:02:05 -05:00
Marc Durdin
36a437de93
Merge pull request #16110 from keymanapp/fix/developer/14227-map-shift-key-on-import
fix(developer): map shift key nextlayer property when importing OSK
2026-07-01 00:55:37 +10:00
Marc Durdin
4f72d7f2bb
Merge pull request #16140 from keymanapp/fix/developer/11916-warn-on-race-destroying-appsource
fix(developer): warn only on race when destroying TAppSourceHttpResponder
2026-07-01 00:55:21 +10:00
Marc Durdin
809a3cad4a chore(android): address review comments
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Also add logging if unit test fails
2026-06-30 15:12:59 +02:00
Marc Durdin
fd6e2bfc6f chore(developer): remove outdated comment
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-06-30 14:42:21 +02:00
Eberhard Beilharz
bad356f499
Merge pull request #16163 from keymanapp/chore/android/dockerfv
chore(android): allow to build FV app in docker container

Building the FirstVoices app is triggered in the top-level `build.sh` if the two environment variables are set. Previously we didn't pass these variables to Docker, so the FV app was never built even when the env variables were set. This change passes the two variables to the container, thus allowing to build the FW app in the docker container.
2026-06-30 13:08:30 +02:00
Eberhard Beilharz
b490d20098
fix(android): add missing dependency for KeyboardHarness app
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-06-30 12:56:50 +02:00
Eberhard Beilharz
c606733a56
fix(android): add missing dependency for FirstVoices and Samples
Fixes: FV-ANDROID-20E
Build-bot: release:android
2026-06-30 12:17:13 +02:00
Eberhard Beilharz
23764b7e56
chore(android): allow to build FV app in docker container
Building the FirstVoices app is triggered in the top-level `build.sh`
if the two environment variables are set. Previously we didn't pass
these variables to Docker, so the FV app was never built even when the
env variables were set. This change passes the two variables to the
container, thus allowing to build the FW app in the docker container.

Build-bot: skip
Test-bot: skip
2026-06-30 11:51:03 +02:00
Eberhard Beilharz
32e045527d
Merge branch 'master' into fix/android/16096_blankKeyboard 2026-06-30 09:08:01 +02:00
rc-swag
82cfbce114
Merge pull request #16126 from keymanapp/fix/windows/15433/add-update-propery-remote-check
fix(windows): add update property to remote check
2026-06-30 12:50:29 +10:00
Keyman Server
fea10dda20
Merge pull request #16161 from keymanapp/auto/version-master-19.0.249
auto: increment master version to 19.0.249
2026-06-29 20:04:13 +02:00
Keyman Build Agent
c1fbf2fdf1 auto: increment master version to 19.0.249
Test-bot: skip
Build-bot: skip
2026-06-29 13:02:46 -05:00
Eberhard Beilharz
be188563d3
Merge pull request #16153 from keymanapp/maint/linux/improveapicheck
maint(linux): show output of API check also in log file

Previously the output of running the API check was only shown on the summary page, but not in the log file of the step. With this change it is now also displayed in the log file.

Related: #16151
2026-06-29 18:35:33 +02:00
Eberhard Beilharz
71b0586c66
fix(android): fix failing test on Windows
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
On Windows the tests failed because the AppData directory doesn't yet
exist under an allowed app internal storage path. This change creates
the directory first when running tests.
2026-06-29 18:25:26 +02:00
Eberhard Beilharz
bec75197b1
fix(android): add tests for WebViewUtils.buildAssertUrl
Also fix `assertEquals` in that test file - the parameter ordering is
`expected, actual` but we had it the other way round which gives a
confusing message if the test fails.
2026-06-29 17:56:06 +02:00
Eberhard Beilharz
a2150b17bf
Merge pull request #16108 from keymanapp/test/web/guide-examples
test(web): add e2e tests for examples from guide
2026-06-29 17:29:59 +02:00
Joshua Horton
700380ddc1 change(ios): pre-emptively denote utf-8 encoding for JSON
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
We don't actually pass JSON through our scheme handler yet, but just in case... we ensure we detect JSON's MIME type and annotate appropriately
2026-06-29 10:24:17 -05:00
Joshua Horton
fa435cbeae
docs(ios): change file header date format
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-06-29 22:21:58 +07:00
Joshua Horton
a70861dad8
change(web): Fix ios/engine/build.sh comment
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-06-29 22:14:40 +07:00
Eberhard Beilharz
b805f66177
chore(android): address code review comment 2026-06-29 17:08:24 +02:00
Eberhard Beilharz
0847fb6ca2
chore(android): address code review comments
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-06-29 16:57:33 +02:00
Marc Durdin
5371ed2edd
Merge pull request #16156 from keymanapp/fix/web/16155-regression-set-osk
fix(web): revert regression in setting `activeKeyboard` in `set osk`
2026-06-30 00:46:46 +10:00