diff --git a/.github/workflows/deb-packaging.README.md b/.github/workflows/deb-packaging.README.md index 6bbeabd9e1..9dcfce20db 100644 --- a/.github/workflows/deb-packaging.README.md +++ b/.github/workflows/deb-packaging.README.md @@ -1,4 +1,4 @@ -# Debian Packaging GitHub Action +# Ubuntu Packaging GitHub Action You can manually trigger a deb-packaging action on GitHub, e.g. to test changes: diff --git a/.github/workflows/deb-packaging.yml b/.github/workflows/deb-packaging.yml index 00468125c7..96ad55ca1a 100644 --- a/.github/workflows/deb-packaging.yml +++ b/.github/workflows/deb-packaging.yml @@ -1,3 +1,14 @@ +# +# This workflow builds the source package for Keyman for Linux, and then builds +# the binary packages for the released versions of Ubuntu. It also signs the +# packages. Released Keyman versions get uploaded to the LLSO repository. +# It is triggered by a repository_dispatch event with the +# types `deb-release-packaging:*` and `deb-pr-packaging:*`. +# +# We use the filename `deb-packaging.yml` even though we only do Ubuntu +# packaging here, because we're packaging the .deb format, and because it's shorter. +# + name: "Ubuntu packaging" run-name: "Ubuntu packaging - ${{ github.event.client_payload.branch }} (branch ${{ github.event.client_payload.baseBranch }}), by @${{ github.event.client_payload.user }}, testbuild: ${{ github.event.client_payload.isTestBuild }}" on: @@ -16,7 +27,7 @@ on: env: COLOR_GREEN: "\e[32m" GH_TOKEN: ${{ github.token }} - STATUS_CONTEXT: 'Debian Packaging' + STATUS_CONTEXT: 'Ubuntu Packaging' DEBFULLNAME: 'Keyman GHA packager' DEBEMAIL: 'support@keyman.com' @@ -45,7 +56,7 @@ jobs: /repos/$GITHUB_REPOSITORY/statuses/${{ github.event.client_payload.buildSha }} \ -f state='pending' \ -f target_url="$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" \ - -f description='Debian packaging started' \ + -f description='Ubuntu packaging started' \ -f context="$STATUS_CONTEXT" - name: Install devscripts diff --git a/HISTORY.md b/HISTORY.md index 8641b986ab..74ad0f284b 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,9 @@ # Keyman Version History +## 19.0.19 alpha 2025-03-31 + +* chore: merge beta to master B18S4 (#13606) + ## 19.0.18 alpha 2025-03-25 * chore(developer): improve ldml code coverage (#13516) @@ -80,6 +84,59 @@ * refactor(windows): rename `TKeymanMutex.MutexOwned` to `TakeOwnership` and add `ReleaseOwnership` (#13168) * chore: increment to alpha 19.0 (#13187) +## 18.0.222 beta 2025-03-28 + +* fix(android): Handle banner overrides independently when device is locked and unlocked (#13546) + +## 18.0.221 beta 2025-03-27 + +* fix(windows): configuration update tab text changes (#13555) +* chore(common): update language-subtag-registry to 2025-03-10 release (#13577) +* docs(mac): update help documentation due to changes in Settings in macOS 13.0 Ventura (#13501) +* fix(linux): improve emitting keystrokes (#13558) +* fix(linux): improve key mapping to allow Core to reset context (#13372) + +## 18.0.220 beta 2025-03-24 + +* fix(windows,mac): Update Spanish configuration string and mac strings (#13564) +* chore(developer): use 'statement' instead of 'command' for messages about kmn statements (#13562) + +## 18.0.219 beta 2025-03-21 + +* fix(windows): add exception handling for loading xml file in XSL Rendering (#13530) +* refactor(linux): rename `initialize_queue` method (#13554) + +## 18.0.218 beta 2025-03-19 + +* fix(developer): add validation of `nul` usage in output part of rule (#13532) +* fix(web): model unload and load should use consistent, canEnable check (#13534) +* feat(web): adds gesture 'traces' for warning/error logging (#13360) +* fix(linux): fix building in Docker with different Ubuntu/Debian version (#13537) +* chore(linux): replace deprecated setup.py (#13524) +* chore(linux): rename "Debian packaging" to "Ubuntu packaging" (#13523) + +## 18.0.217 beta 2025-03-18 + +* fix(windows): cherry pick hard code key cap (#13526) +* fix(android,windows): Update Russian language strings to use Cyrillic script (#13527) +* docs(web): add internal documentation for context state and keystroke processing (#13520) +* docs(common): add link to schemas (#13521) +* chore(linux): update URL for lcov package (#13535) +* chore(linux): allow to build and use Debian docker image (#13536) + +## 18.0.216 beta 2025-03-17 + +* change(android): re-order host page script load so Sentry can report script load failures (#13333) +* chore(web): remove dead osk code (#13358) +* fix(web): cancel held backspace on new key input (#13359) +* fix(developer): handle non bmp numeric entities in xml reader (#13365) + +## 18.0.215 beta 2025-03-14 + +* docs(common): Update Sentry links to keyman.sentry.io (#13491) +* chore(android,windows): Update Crowdin for Spanish and Spanish (Latin America) (#13499) +* chore(common): update crowdin strings for Italian (#13500) + ## 18.0.214 beta 2025-03-13 * fix(mac): change text in privacy alert for macOS 13.0 and later (#13480) diff --git a/VERSION.md b/VERSION.md index 54beea1b81..e2ac71704b 100644 --- a/VERSION.md +++ b/VERSION.md @@ -1 +1 @@ -19.0.19 \ No newline at end of file +19.0.20 \ No newline at end of file diff --git a/android/KMAPro/kMAPro/src/main/java/com/keyman/android/SystemKeyboard.java b/android/KMAPro/kMAPro/src/main/java/com/keyman/android/SystemKeyboard.java index d1965f41b4..023195d1c4 100644 --- a/android/KMAPro/kMAPro/src/main/java/com/keyman/android/SystemKeyboard.java +++ b/android/KMAPro/kMAPro/src/main/java/com/keyman/android/SystemKeyboard.java @@ -159,9 +159,11 @@ public class SystemKeyboard extends InputMethodService implements OnKeyboardEven Context appContext = getApplicationContext(); // Temporarily disable predictions on certain fields (e.g. hidden password field or numeric) inputType = attribute.inputType; - KMManager.setMayPredictOverride(inputType); - if (KMManager.getMayPredictOverride()) { + KMManager.setPredictionsSuspended(inputType, KeyboardType.KEYBOARD_TYPE_SYSTEM); + if (KMManager.getPredictionsSuspended(KeyboardType.KEYBOARD_TYPE_SYSTEM)) { KMManager.setBannerOptions(false); + // Set the system keyboard HTML banner + BannerController.setHTMLBanner(this, KeyboardType.KEYBOARD_TYPE_SYSTEM); } else if (KMManager.isKeyboardLoaded(KeyboardType.KEYBOARD_TYPE_SYSTEM)){ // Check if predictions needs to be re-enabled per Settings preference Keyboard kbInfo = KMManager.getCurrentKeyboardInfo(appContext); diff --git a/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/MainActivity.java b/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/MainActivity.java index f5a3c63cb9..07ce5c4cbb 100644 --- a/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/MainActivity.java +++ b/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/MainActivity.java @@ -244,6 +244,12 @@ public class MainActivity extends BaseActivity implements OnKeyboardEventListene @Override protected void onResume() { super.onResume(); + + if (textView != null) { + // Reset inAppPredictionsSuspendedForSensitiveInput flag + KMManager.setPredictionsSuspended(textView.getInputType(), KeyboardType.KEYBOARD_TYPE_INAPP); + } + KMManager.onResume(); KMManager.hideSystemKeyboard(); diff --git a/android/KMAPro/kMAPro/src/main/res/values-b+es+419/strings.xml b/android/KMAPro/kMAPro/src/main/res/values-b+es+419/strings.xml index 856c14c922..0d1f0efde5 100644 --- a/android/KMAPro/kMAPro/src/main/res/values-b+es+419/strings.xml +++ b/android/KMAPro/kMAPro/src/main/res/values-b+es+419/strings.xml @@ -126,11 +126,11 @@ Restaurar valores predeterminados - Delay Time: %1$.1f seconds + Tiempo de retraso: %1$.1f segundos - Delay time longer + Tiempo de retraso más largo - Delay time shorter + Tiempo de retraso más corto Longpress delay time slider diff --git a/android/KMEA/app/src/main/assets/keyboard.html b/android/KMEA/app/src/main/assets/keyboard.html index a1408c5db5..8d9d2d67dc 100644 --- a/android/KMEA/app/src/main/assets/keyboard.html +++ b/android/KMEA/app/src/main/assets/keyboard.html @@ -9,9 +9,9 @@ Keyman - +