auto: A19S33 merge master into web-core 🎼 - #16265
Open
keyman-server wants to merge 81 commits into
Open
Conversation
When a new OSK is attached, we need to set its active keyboard and lexical model. These are undocumented API contracts between Keyman Engine for Web and Keyman Developer Server, so this appears to have changed in v.19 for keyboards (although the sync is also necessary for v.18). Fixes: #15217 Test-bot: skip
For Keyman for Android, add the new `keyman-version` parameter to the api.keyman.com/package-version call so that updates to packages that are not supported on the current version of Keyman will not be offered. This supports the scenario where an updated keyboard or lexical model depends on a newer version of Keyman. Note that an older version of the keyboard or lexical model package will not be offered (the user can still download and install an older version manually, but generally, the recommended solution is to upgrade Keyman; there would be significant cost to add support for querying and installation of older version keyboards on the server side, for limited benefit). Relates-to: keymanapp/api.keyman.com#325
For Keyman for iOS, add the new `keyman-version` parameter to the api.keyman.com/package-version call so that updates to packages that are not supported on the current version of Keyman will not be offered. This supports the scenario where an updated keyboard or lexical model depends on a newer version of Keyman. Note that an older version of the keyboard or lexical model package will not be offered (the user can still download and install an older version manually, but generally, the recommended solution is to upgrade Keyman; there would be significant cost to add support for querying and installation of older version keyboards on the server side, for limited benefit). Also change order of handling for response so that error responses are recognized even if non-error fields are present. (The current api endpoint, before keymanapp/api.keyman.com#325 lands, can return `kmp` and `version` fields even when an `error` field was present, and the iOS code would see that as a valid response for upgrade, when it shouldn't. The keymanapp/api.keyman.com#325 change ensures that the additional fields are not set if there is an `error` field.) Relates-to: keymanapp/api.keyman.com#325
* Clean up `KMLog` -- simpler code paths, DRY out common validation, remove redundant re-entrancy checks. * Use Sentry `setTag` API and scopes instead of `setExtra`. * Wrap all potential failure points in exception handlers for extra resilience -- do our best to make sure errors are reported in as many cases as possible. Fixes: #16122 Test-bot: skip
Test-bot: skip Build-bot: skip release:developer
Also add logging if unit test fails
Ensure that the IME interface methods are all defined for both browser and webview modes. Deprecate 'Element' methods and replace with 'TextStore' to clarify return type. Add deprecation flags where needed and update documentation accordingly. Fixes: #16144
Fixes: #16169 Test-bot: skip
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
…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
…nc-model-after-device-switch
…t osk After review, it is better to do the sync of the model banner in KeymanWeb `set osk()` than in the client of the API. The client should be able to assign a new OSK and have it "just work" without needing to attach things to it. Fixes: #15217
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
Co-authored-by: Marc Durdin <marc@durdin.net> Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
This addresses a code review comment.
…esting Build-bot: skip build:web Test-bot: skip
Cancel button goes on the left according to GNOME Human Interface Guidelines. Test-bot: skip
Co-authored-by: Marc Durdin <marc@durdin.net>
…utton-order chore(linux): reorder buttons on kmp install window
…-keymanweb-variable refactor(web): rename `keymanweb` to `keyman` in UI modules
…d-html-metas chore: remove deprecated "X-UA-Compatible" and "apple-mobile-web-app-capable" metas
…MLog fix(android): refactor `KMLog` - simplification and added resilience
fix(android): differentiate between fontPath and fontUrl in Keyman Engine for Android
This change renames the font variable names so that they match the two conceptual fonts we have. Also remove obsolete code that dealt with the `font` parameter being a JSON object instead of a string containing the font filename. Having the `font` parameter containing a JSON object was legacy code that won't happen with current Keyman versions. Follow-up-of: #16188 Build-bot: release:android
fix(web): fixes cookie unit-tests and path for OSK resources during testing
Test-bot: skip Build-bot: skip
auto: increment master version to 19.0.253
User Test ResultsTest specification and instructions User tests are not required Test Artifacts
|
Contributor
|
Web Test failing because of #16167 |
rc-swag
enabled auto-merge
July 22, 2026 06:09
rc-swag
disabled auto-merge
July 22, 2026 06:09
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Test-bot: skip
Build-bot: build