From ada527bd80a557eeb526e1cfdfe0247b134f8af4 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Fri, 11 Mar 2022 04:25:55 +1100 Subject: [PATCH 01/10] fix(web): bounding rect offset was incorrect When embedding the On Screen Keyboard into a page, the calculation for the bounding rectangle only took into account the first offsetParent, which meant it would get the offset incorrect when there were multiple layers of offsetParents. Once I changed to using getAbsoluteX / getAbsoluteY, this also corrects for scroll with window.pageOffsetY, so we can eliminate that special case for fixed positioning. This was observable in the Web Developer test window, where interaction with the bottom row of the keyboard in touch mode was not working correctly, in 15.0.210-beta. --- web/source/osk/visualKeyboard.ts | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/web/source/osk/visualKeyboard.ts b/web/source/osk/visualKeyboard.ts index bb4c075ca5..eb1ee6a201 100644 --- a/web/source/osk/visualKeyboard.ts +++ b/web/source/osk/visualKeyboard.ts @@ -457,9 +457,8 @@ namespace com.keyman.osk { */ private getInteractiveBoundingRect(): BoundingRect { // Determine the important geometric values involved - const _Box = this.element.offsetParent as HTMLElement; - let oskX = this.element.offsetLeft + (_Box?.offsetLeft || 0); - let oskY = this.element.offsetTop + (_Box?.offsetTop || 0); + let oskX = dom.Utils.getAbsoluteX(this.element); + let oskY = dom.Utils.getAbsoluteY(this.element); // Determine the out-of-bounds threshold at which touch-cancellation should automatically occur. // Assuming square key-squares, we'll use 1/3 the height of a row for bounds detection @@ -476,15 +475,6 @@ namespace com.keyman.osk { bottom: oskY + this.height + buffer }; - // If the OSK is using fixed positioning (thus, viewport-relative), we need to - // convert the 'clientX'-like values into 'pageX'-like values. - if (this.usesFixedPositioning) { - boundingRect.left += window.pageXOffset; - boundingRect.right += window.pageXOffset; - boundingRect.top += window.pageYOffset; - boundingRect.bottom += window.pageYOffset; - } - return boundingRect; } From 103e61868004310b7c4504ac5eb21f1387f5d1db Mon Sep 17 00:00:00 2001 From: Darcy Wong Date: Fri, 11 Mar 2022 12:49:24 +0700 Subject: [PATCH 02/10] chore(android/engine): Remove visual gaps in keyboard picker menu --- .../main/java/com/tavultesoft/kmea/KeyboardPickerActivity.java | 3 ++- android/KMEA/app/src/main/res/layout/ime_list_layout.xml | 3 +-- android/KMEA/app/src/main/res/layout/list_row_layout5.xml | 2 +- android/KMEA/app/src/main/res/values-sw720dp/dimens.xml | 2 ++ android/KMEA/app/src/main/res/values/dimens.xml | 1 + 5 files changed, 7 insertions(+), 4 deletions(-) diff --git a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KeyboardPickerActivity.java b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KeyboardPickerActivity.java index d73043244e..db63d2c2f9 100644 --- a/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KeyboardPickerActivity.java +++ b/android/KMEA/app/src/main/java/com/tavultesoft/kmea/KeyboardPickerActivity.java @@ -214,7 +214,8 @@ public final class KeyboardPickerActivity extends BaseActivity { imeListAdapter = new SimpleAdapter(this, imeList, R.layout.list_row_layout5, from, to); imeListView.setAdapter(imeListAdapter); // Rescale IME listview so entire list is visible (wrap_content not working) - imeListView.getLayoutParams().height = actionBarHeight * imeListAdapter.getCount(); + imeListView.getLayoutParams().height = ((int) context.getResources().getDimension(R.dimen.other_ime_row_height)) * + imeListAdapter.getCount(); imeListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { diff --git a/android/KMEA/app/src/main/res/layout/ime_list_layout.xml b/android/KMEA/app/src/main/res/layout/ime_list_layout.xml index 0cc705cfb9..bad2c6ba19 100644 --- a/android/KMEA/app/src/main/res/layout/ime_list_layout.xml +++ b/android/KMEA/app/src/main/res/layout/ime_list_layout.xml @@ -16,8 +16,7 @@ android:ellipsize="end" android:singleLine="true" android:textSize="@dimen/titlebar_label_textsize" - android:textStyle="bold" - android:layout_marginTop="@dimen/fab_margin"/> + android:textStyle="bold" /> 80dp 0.5dp 10dp + 50dp + 60dp diff --git a/android/KMEA/app/src/main/res/values/dimens.xml b/android/KMEA/app/src/main/res/values/dimens.xml index 703451bd98..068e1d1847 100644 --- a/android/KMEA/app/src/main/res/values/dimens.xml +++ b/android/KMEA/app/src/main/res/values/dimens.xml @@ -16,6 +16,7 @@ 0.5dp 6dp 35dp + 50dp 10dp 70dp 250dp From 19e8c09fc42cf9668ef0d1f0cdac6e848074e985 Mon Sep 17 00:00:00 2001 From: Keyman Server Date: Fri, 18 Mar 2022 10:57:10 +1100 Subject: [PATCH 03/10] chore(ios): stop lint complaints --- ios/keyman/Keyman/Keyman/AppDelegate.swift | 6 +++--- .../Classes/KMWebBrowser/BookmarksViewController.swift | 6 +++--- .../Classes/LogoBackgroundView/KMUnderscoreView.swift | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/ios/keyman/Keyman/Keyman/AppDelegate.swift b/ios/keyman/Keyman/Keyman/AppDelegate.swift index 91e84589a4..c7ca42e078 100644 --- a/ios/keyman/Keyman/Keyman/AppDelegate.swift +++ b/ios/keyman/Keyman/Keyman/AppDelegate.swift @@ -87,9 +87,9 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window!.rootViewController = navigationController window!.makeKeyAndVisible() - //TODO: look in documents directory for .zip / .kmp files - //TODO: OR browse documents Dir from new keyboard window - //self.installAdhocKeyboard(filePath: "") + // TODO: look in documents directory for .zip / .kmp files + // TODO: OR browse documents Dir from new keyboard window + // self.installAdhocKeyboard(filePath: "") return true } diff --git a/ios/keyman/Keyman/Keyman/Classes/KMWebBrowser/BookmarksViewController.swift b/ios/keyman/Keyman/Keyman/Classes/KMWebBrowser/BookmarksViewController.swift index d453978ed1..fe0ecba47a 100644 --- a/ios/keyman/Keyman/Keyman/Classes/KMWebBrowser/BookmarksViewController.swift +++ b/ios/keyman/Keyman/Keyman/Classes/KMWebBrowser/BookmarksViewController.swift @@ -57,7 +57,7 @@ class BookmarksViewController: UIViewController, UITableViewDelegate, UITableVie message: "", preferredStyle: UIAlertController.Style.alert) alertController.addTextField(configurationHandler: { (textField) in - //listen for changes + // listen for changes NotificationCenter.default.addObserver(self, selector: #selector(BookmarksViewController.handleTextFieldTextChangedNotification(notification:)), name: UITextField.textDidChangeNotification, object: textField) @@ -70,7 +70,7 @@ class BookmarksViewController: UIViewController, UITableViewDelegate, UITableVie self.inputTitleField = textField }) alertController.addTextField(configurationHandler: { (textField) in - //listen for changes + // listen for changes NotificationCenter.default.addObserver(self, selector: #selector(BookmarksViewController.handleTextFieldTextChangedNotification(notification:)), name: UITextField.textDidChangeNotification, object: textField) @@ -207,7 +207,7 @@ class BookmarksViewController: UIViewController, UITableViewDelegate, UITableVie tableView.reloadData() } - //handler + // handler @objc func handleTextFieldTextChangedNotification(notification: NSNotification) { updateAddButtonEnableState() } diff --git a/ios/keyman/Keyman/Keyman/Classes/LogoBackgroundView/KMUnderscoreView.swift b/ios/keyman/Keyman/Keyman/Classes/LogoBackgroundView/KMUnderscoreView.swift index 96e6a2f1ab..689ba469f4 100644 --- a/ios/keyman/Keyman/Keyman/Classes/LogoBackgroundView/KMUnderscoreView.swift +++ b/ios/keyman/Keyman/Keyman/Classes/LogoBackgroundView/KMUnderscoreView.swift @@ -11,7 +11,7 @@ import UIKit class KMUnderscoreView: KMView { override func draw(_ rect: CGRect) { - //percentage based widths for the color bar portion of the logo + // percentage based widths for the color bar portion of the logo let widths: [CGFloat] = [0.6, 0.25, 0.15] let colors: [UIColor] = [ UIColor.keymanOrange, UIColor.keymanRed, From a3d9a9e4c171170a51ae1ceafe34198f92bfb2ab Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Fri, 18 Mar 2022 11:33:41 +1100 Subject: [PATCH 04/10] chore(windows): move crash metadata to extra Fixes #6396. --- windows/src/ext/sentry/Sentry.Client.pas | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/windows/src/ext/sentry/Sentry.Client.pas b/windows/src/ext/sentry/Sentry.Client.pas index d1aaf7d67b..74f3183a36 100644 --- a/windows/src/ext/sentry/Sentry.Client.pas +++ b/windows/src/ext/sentry/Sentry.Client.pas @@ -276,11 +276,13 @@ begin {$WARN SYMBOL_PLATFORM OFF} // W1002 Symbol 'CmdLine' is specific to a platform if CmdLine <> nil then begin - sentry_set_tag('keyman.commandline', PAnsiChar(AnsiString(string(CmdLine)))); + sentry_set_extra('keyman.commandline', sentry_value_new_string(PAnsiChar(AnsiString(string(CmdLine))))); end; {$WARN SYMBOL_PLATFORM DEFAULT} - sentry_set_tag('keyman.executable', PAnsiChar(AnsiString(ParamStr(0)))); + sentry_set_extra('keyman.executable.fullpath', sentry_value_new_string(PAnsiChar(AnsiString(ParamStr(0))))); + sentry_set_tag('keyman.executable', PAnsiChar(AnsiString(ExtractFileName(ParamStr(0))))); + // TODO: callback to capture list of keyboard filenames, TSF settings, additional diag? if scfCaptureExceptions in AFlags then begin From 5d6bc10de957af0402d8f0e22ec8014becbcc899 Mon Sep 17 00:00:00 2001 From: Keyman Build Agent Date: Fri, 18 Mar 2022 14:02:34 -0400 Subject: [PATCH 05/10] auto: increment beta version to 15.0.217 --- HISTORY.md | 4 ++++ VERSION.md | 2 +- .../web/input-processor/package-lock.json | 2 +- common/core/web/input-processor/package.json | 16 +++++++-------- .../web/keyboard-processor/package-lock.json | 2 +- .../core/web/keyboard-processor/package.json | 10 +++++----- .../core/web/tools/recorder/package-lock.json | 2 +- common/core/web/tools/recorder/package.json | 10 +++++----- .../tools/sentry-manager/package-lock.json | 2 +- .../web/tools/sentry-manager/package.json | 4 ++-- common/core/web/utils/package-lock.json | 2 +- common/core/web/utils/package.json | 6 +++--- common/models/templates/package-lock.json | 2 +- common/models/templates/package.json | 8 ++++---- common/models/types/package-lock.json | 2 +- common/models/types/package.json | 2 +- common/models/wordbreakers/package-lock.json | 2 +- common/models/wordbreakers/package.json | 4 ++-- common/predictive-text/package-lock.json | 2 +- common/predictive-text/package.json | 14 ++++++------- developer/js/package-lock.json | 2 +- developer/js/package.json | 8 ++++---- developer/server/package-lock.json | 2 +- developer/server/package.json | 2 +- lerna.json | 2 +- resources/gosh/package-lock.json | 2 +- resources/gosh/package.json | 2 +- resources/web-environment/package-lock.json | 2 +- resources/web-environment/package.json | 4 ++-- web/package-lock.json | 2 +- web/package.json | 20 +++++++++---------- 31 files changed, 75 insertions(+), 71 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index df57d7815d..844c7d6947 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,9 @@ # Keyman Version History +## 15.0.216 beta 2022-03-18 + +* feat(linux): Allow to run ibus tests on Wayland ️ (#6202) + ## 15.0.215 beta 2022-03-17 * fix(web): crash on focus before init (#6393) diff --git a/VERSION.md b/VERSION.md index 8b01078ed3..d4e75f92e5 100644 --- a/VERSION.md +++ b/VERSION.md @@ -1 +1 @@ -15.0.216 \ No newline at end of file +15.0.217 \ No newline at end of file diff --git a/common/core/web/input-processor/package-lock.json b/common/core/web/input-processor/package-lock.json index 53ee499c90..1fa2699e56 100644 --- a/common/core/web/input-processor/package-lock.json +++ b/common/core/web/input-processor/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/input-processor", - "version": "15.0.216", + "version": "15.0.217", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/common/core/web/input-processor/package.json b/common/core/web/input-processor/package.json index d75de9055b..3e763234be 100644 --- a/common/core/web/input-processor/package.json +++ b/common/core/web/input-processor/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/input-processor", - "version": "15.0.216", + "version": "15.0.217", "description": "The core text and prediction processing engine for KeymanWeb", "repository": { "type": "git", @@ -18,8 +18,8 @@ }, "homepage": "https://github.com/keymanapp/keyman#readme", "devDependencies": { - "@keymanapp/lexical-model-compiler": "^15.0.216", - "@keymanapp/resources-gosh": "^15.0.216", + "@keymanapp/lexical-model-compiler": "^15.0.217", + "@keymanapp/resources-gosh": "^15.0.217", "@types/node": "^11.9.4", "chai": "^4.3.4", "mocha": "^8.4.0", @@ -34,11 +34,11 @@ "mocha": "mocha" }, "dependencies": { - "@keymanapp/keyboard-processor": "^15.0.216", - "@keymanapp/lexical-model-layer": "^15.0.216", - "@keymanapp/models-types": "^15.0.216", - "@keymanapp/web-environment": "^15.0.216", - "@keymanapp/web-utils": "^15.0.216", + "@keymanapp/keyboard-processor": "^15.0.217", + "@keymanapp/lexical-model-layer": "^15.0.217", + "@keymanapp/models-types": "^15.0.217", + "@keymanapp/web-environment": "^15.0.217", + "@keymanapp/web-utils": "^15.0.217", "eventemitter3": "^4.0.0" } } diff --git a/common/core/web/keyboard-processor/package-lock.json b/common/core/web/keyboard-processor/package-lock.json index fe44fb7853..5df9122152 100644 --- a/common/core/web/keyboard-processor/package-lock.json +++ b/common/core/web/keyboard-processor/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/keyboard-processor", - "version": "15.0.216", + "version": "15.0.217", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/common/core/web/keyboard-processor/package.json b/common/core/web/keyboard-processor/package.json index 347f838f6b..215626c0a6 100644 --- a/common/core/web/keyboard-processor/package.json +++ b/common/core/web/keyboard-processor/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/keyboard-processor", - "version": "15.0.216", + "version": "15.0.217", "description": "Core module for Keyman keyboard support in KeymanWeb.", "repository": { "type": "git", @@ -18,7 +18,7 @@ }, "homepage": "https://github.com/keymanapp/keyman#readme", "devDependencies": { - "@keymanapp/resources-gosh": "^15.0.216", + "@keymanapp/resources-gosh": "^15.0.217", "chai": "^4.3.4", "mocha": "^8.4.0", "mocha-teamcity-reporter": "^4.0.0", @@ -32,9 +32,9 @@ "mocha": "mocha" }, "dependencies": { - "@keymanapp/models-types": "^15.0.216", - "@keymanapp/web-environment": "^15.0.216", - "@keymanapp/web-utils": "^15.0.216", + "@keymanapp/models-types": "^15.0.217", + "@keymanapp/web-environment": "^15.0.217", + "@keymanapp/web-utils": "^15.0.217", "@types/node": "^11.9.4" } } diff --git a/common/core/web/tools/recorder/package-lock.json b/common/core/web/tools/recorder/package-lock.json index c44727da9a..698c8fdb73 100644 --- a/common/core/web/tools/recorder/package-lock.json +++ b/common/core/web/tools/recorder/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/recorder-core", - "version": "15.0.216", + "version": "15.0.217", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/common/core/web/tools/recorder/package.json b/common/core/web/tools/recorder/package.json index b12e1b6284..65866b8bc6 100644 --- a/common/core/web/tools/recorder/package.json +++ b/common/core/web/tools/recorder/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/recorder-core", - "version": "15.0.216", + "version": "15.0.217", "description": "Core classes used to develop KeymanWeb test cases based on keystrokes", "main": "index.js", "scripts": { @@ -17,10 +17,10 @@ }, "homepage": "https://github.com/keymanapp/keyman#readme", "dependencies": { - "@keymanapp/keyboard-processor": "^15.0.216", - "@keymanapp/models-types": "^15.0.216", - "@keymanapp/web-environment": "^15.0.216", - "@keymanapp/web-utils": "^15.0.216", + "@keymanapp/keyboard-processor": "^15.0.217", + "@keymanapp/models-types": "^15.0.217", + "@keymanapp/web-environment": "^15.0.217", + "@keymanapp/web-utils": "^15.0.217", "@types/node": "^11.9.4" }, "devDependencies": { diff --git a/common/core/web/tools/sentry-manager/package-lock.json b/common/core/web/tools/sentry-manager/package-lock.json index a932f2a8d8..40cbf96780 100644 --- a/common/core/web/tools/sentry-manager/package-lock.json +++ b/common/core/web/tools/sentry-manager/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/web-sentry-manager", - "version": "15.0.216", + "version": "15.0.217", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/common/core/web/tools/sentry-manager/package.json b/common/core/web/tools/sentry-manager/package.json index 4f432b8ffc..57b088cb9f 100644 --- a/common/core/web/tools/sentry-manager/package.json +++ b/common/core/web/tools/sentry-manager/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/web-sentry-manager", - "version": "15.0.216", + "version": "15.0.217", "description": "Common setup for KeymanWeb's Sentry-based error reporting", "main": "dist/index.js", "scripts": { @@ -20,7 +20,7 @@ "typescript": "^3.8.3" }, "dependencies": { - "@keymanapp/web-environment": "^15.0.216", + "@keymanapp/web-environment": "^15.0.217", "@sentry/browser": "^5.27.4" } } diff --git a/common/core/web/utils/package-lock.json b/common/core/web/utils/package-lock.json index f90dd640fe..bf7d2acd37 100644 --- a/common/core/web/utils/package-lock.json +++ b/common/core/web/utils/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/web-utils", - "version": "15.0.216", + "version": "15.0.217", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/common/core/web/utils/package.json b/common/core/web/utils/package.json index 016e57bdb7..15deff9101 100644 --- a/common/core/web/utils/package.json +++ b/common/core/web/utils/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/web-utils", - "version": "15.0.216", + "version": "15.0.217", "description": "Common utility functions used throughout other Keyman packages", "main": "./dist/index.js", "types": "./dist/index.d.ts", @@ -20,8 +20,8 @@ }, "homepage": "https://github.com/keymanapp/keyman#readme", "devDependencies": { - "@keymanapp/resources-gosh": "^15.0.216", - "@keymanapp/web-environment": "^15.0.216", + "@keymanapp/resources-gosh": "^15.0.217", + "@keymanapp/web-environment": "^15.0.217", "@types/node": "^14.0.5", "typescript": "^3.8.3" } diff --git a/common/models/templates/package-lock.json b/common/models/templates/package-lock.json index aed3769f2c..afd6ca99eb 100644 --- a/common/models/templates/package-lock.json +++ b/common/models/templates/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/models-templates", - "version": "15.0.216", + "version": "15.0.217", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/common/models/templates/package.json b/common/models/templates/package.json index f7fc5c69be..ec61f901bf 100644 --- a/common/models/templates/package.json +++ b/common/models/templates/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/models-templates", - "version": "15.0.216", + "version": "15.0.217", "description": "Backing model implementations (templates) for Keyman's modelling layer", "keywords": [ "lm", @@ -42,8 +42,8 @@ "url": "https://github.com/keymanapp/keyman/issues" }, "devDependencies": { - "@keymanapp/models-types": "^15.0.216", - "@keymanapp/web-utils": "^15.0.216", + "@keymanapp/models-types": "^15.0.217", + "@keymanapp/web-utils": "^15.0.217", "@types/chai": "^4.2.11", "@types/mocha": "^7.0.2", "@types/node": "^14.0.4", @@ -52,6 +52,6 @@ "typescript": "^3.8.3" }, "dependencies": { - "@keymanapp/models-wordbreakers": "^15.0.216" + "@keymanapp/models-wordbreakers": "^15.0.217" } } diff --git a/common/models/types/package-lock.json b/common/models/types/package-lock.json index 8a5baf0b92..40415799d7 100644 --- a/common/models/types/package-lock.json +++ b/common/models/types/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/models-types", - "version": "15.0.216", + "version": "15.0.217", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/common/models/types/package.json b/common/models/types/package.json index 78762c80d3..fef111bee6 100644 --- a/common/models/types/package.json +++ b/common/models/types/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/models-types", - "version": "15.0.216", + "version": "15.0.217", "description": "Type definitions in used in the modeling (lexical model/predictive text) component of Keyman.", "types": "./index.d.ts", "scripts": { diff --git a/common/models/wordbreakers/package-lock.json b/common/models/wordbreakers/package-lock.json index 745b40eeed..e869053795 100644 --- a/common/models/wordbreakers/package-lock.json +++ b/common/models/wordbreakers/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/models-wordbreakers", - "version": "15.0.216", + "version": "15.0.217", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/common/models/wordbreakers/package.json b/common/models/wordbreakers/package.json index f90fb38d59..33e2bc501f 100644 --- a/common/models/wordbreakers/package.json +++ b/common/models/wordbreakers/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/models-wordbreakers", - "version": "15.0.216", + "version": "15.0.217", "description": "Word breakers bundled in the modeling layer", "keywords": [ "lexical model", @@ -40,7 +40,7 @@ "url": "https://github.com/keymanapp/keyman/issues" }, "devDependencies": { - "@keymanapp/models-types": "^15.0.216", + "@keymanapp/models-types": "^15.0.217", "@types/chai": "^4.2.11", "@types/mocha": "^7.0.2", "chai": "^4.3.4", diff --git a/common/predictive-text/package-lock.json b/common/predictive-text/package-lock.json index 08ec16035f..f0f39583e8 100644 --- a/common/predictive-text/package-lock.json +++ b/common/predictive-text/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/lexical-model-layer", - "version": "15.0.216", + "version": "15.0.217", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/common/predictive-text/package.json b/common/predictive-text/package.json index b2b0df0192..921c8bce2d 100644 --- a/common/predictive-text/package.json +++ b/common/predictive-text/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/lexical-model-layer", - "version": "15.0.216", + "version": "15.0.217", "description": "Keyman/Predictive Text integration layer", "main": "build/index.js", "scripts": { @@ -21,8 +21,8 @@ }, "homepage": "https://github.com/keymanapp/keyman#readme", "devDependencies": { - "@keymanapp/models-types": "^15.0.216", - "@keymanapp/resources-gosh": "^15.0.216", + "@keymanapp/models-types": "^15.0.217", + "@keymanapp/resources-gosh": "^15.0.217", "@types/node": "^10.17.21", "chai": "^4.3.4", "karma": "^6.3.4", @@ -46,10 +46,10 @@ "typescript": "^3.8.3" }, "dependencies": { - "@keymanapp/models-templates": "^15.0.216", - "@keymanapp/models-wordbreakers": "^15.0.216", - "@keymanapp/web-environment": "^15.0.216", - "@keymanapp/web-utils": "^15.0.216", + "@keymanapp/models-templates": "^15.0.217", + "@keymanapp/models-wordbreakers": "^15.0.217", + "@keymanapp/web-environment": "^15.0.217", + "@keymanapp/web-utils": "^15.0.217", "es6-shim": "^0.35.5", "string.prototype.codepointat": "^0.2.1", "string.prototype.startswith": "^0.2.0" diff --git a/developer/js/package-lock.json b/developer/js/package-lock.json index 7c5242c7ad..2b378e2c40 100644 --- a/developer/js/package-lock.json +++ b/developer/js/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/lexical-model-compiler", - "version": "15.0.216", + "version": "15.0.217", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/developer/js/package.json b/developer/js/package.json index feb257b144..d9654b9261 100644 --- a/developer/js/package.json +++ b/developer/js/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/lexical-model-compiler", - "version": "15.0.216", + "version": "15.0.217", "description": "Keyman Developer lexical model compiler", "keywords": [ "keyboard", @@ -37,14 +37,14 @@ "node": ">=12.0.0" }, "dependencies": { - "@keymanapp/models-types": "^15.0.216", + "@keymanapp/models-types": "^15.0.217", "commander": "^3.0.0", "typescript": "^3.8.3", "xml2js": "^0.4.19" }, "devDependencies": { - "@keymanapp/models-templates": "^15.0.216", - "@keymanapp/models-wordbreakers": "^15.0.216", + "@keymanapp/models-templates": "^15.0.217", + "@keymanapp/models-wordbreakers": "^15.0.217", "@types/chai": "^4.1.7", "@types/mocha": "^5.2.7", "@types/node": "^10.14.6", diff --git a/developer/server/package-lock.json b/developer/server/package-lock.json index d446541e4f..b52b9b786b 100644 --- a/developer/server/package-lock.json +++ b/developer/server/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/developer-server", - "version": "15.0.216", + "version": "15.0.217", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/developer/server/package.json b/developer/server/package.json index aa88108be2..6934721d34 100644 --- a/developer/server/package.json +++ b/developer/server/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/developer-server", - "version": "15.0.216", + "version": "15.0.217", "description": "Keyman Developer backend server", "main": "dist/index.js", "scripts": { diff --git a/lerna.json b/lerna.json index 780730545e..a455d896e8 100644 --- a/lerna.json +++ b/lerna.json @@ -21,5 +21,5 @@ "ts-node", "typescript" ], - "version": "15.0.216" + "version": "15.0.217" } diff --git a/resources/gosh/package-lock.json b/resources/gosh/package-lock.json index 52c6bf6913..a66f373ba8 100644 --- a/resources/gosh/package-lock.json +++ b/resources/gosh/package-lock.json @@ -1,5 +1,5 @@ { "name": "@keymanapp/resources-gosh", - "version": "15.0.216", + "version": "15.0.217", "lockfileVersion": 1 } diff --git a/resources/gosh/package.json b/resources/gosh/package.json index 88c1df00d1..74d92ac20d 100644 --- a/resources/gosh/package.json +++ b/resources/gosh/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/resources-gosh", - "version": "15.0.216", + "version": "15.0.217", "description": "Good Ol' Shell", "author": "Marc Durdin (https://github.com/mcdurdin)", "contributors": [ diff --git a/resources/web-environment/package-lock.json b/resources/web-environment/package-lock.json index 29b4be57ff..6c924758b1 100644 --- a/resources/web-environment/package-lock.json +++ b/resources/web-environment/package-lock.json @@ -1,5 +1,5 @@ { "name": "@keymanapp/web-environment", - "version": "15.0.216", + "version": "15.0.217", "lockfileVersion": 1 } diff --git a/resources/web-environment/package.json b/resources/web-environment/package.json index 001df8b36a..bd20cc0c39 100644 --- a/resources/web-environment/package.json +++ b/resources/web-environment/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/web-environment", - "version": "15.0.216", + "version": "15.0.217", "description": "A compilation utility for passing select environment variables into our TS builds", "author": "Joshua Horton (https://github.com/jahorton)", "homepage": "https://github.com/keymanapp/keyman", @@ -17,6 +17,6 @@ "url": "https://github.com/keymanapp/keyman/issues" }, "devDependencies": { - "@keymanapp/resources-gosh": "^15.0.216" + "@keymanapp/resources-gosh": "^15.0.217" } } diff --git a/web/package-lock.json b/web/package-lock.json index 1e3873552f..943af44c03 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -1,6 +1,6 @@ { "name": "keyman", - "version": "15.0.216", + "version": "15.0.217", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/web/package.json b/web/package.json index b952160f48..3a99b10b02 100644 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "keyman", - "version": "15.0.216", + "version": "15.0.217", "description": "Facilitates text input in any language.", "repository": { "type": "git", @@ -18,8 +18,8 @@ }, "homepage": "https://github.com/keymanapp/keyman#readme", "devDependencies": { - "@keymanapp/resources-gosh": "^15.0.216", - "@keymanapp/web-sentry-manager": "^15.0.216", + "@keymanapp/resources-gosh": "^15.0.217", + "@keymanapp/web-sentry-manager": "^15.0.217", "@sentry/cli": "^1.52.3", "chai": "^4.3.4", "google-closure-compiler-java": "^20200224.0.0", @@ -52,13 +52,13 @@ "sentry-cli": "sentry-cli" }, "dependencies": { - "@keymanapp/input-processor": "^15.0.216", - "@keymanapp/keyboard-processor": "^15.0.216", - "@keymanapp/lexical-model-layer": "^15.0.216", - "@keymanapp/models-types": "^15.0.216", - "@keymanapp/recorder-core": "^15.0.216", - "@keymanapp/web-environment": "^15.0.216", - "@keymanapp/web-utils": "^15.0.216", + "@keymanapp/input-processor": "^15.0.217", + "@keymanapp/keyboard-processor": "^15.0.217", + "@keymanapp/lexical-model-layer": "^15.0.217", + "@keymanapp/models-types": "^15.0.217", + "@keymanapp/recorder-core": "^15.0.217", + "@keymanapp/web-environment": "^15.0.217", + "@keymanapp/web-utils": "^15.0.217", "@types/node": "^11.9.4", "es6-shim": "^0.35.5", "eventemitter3": "^4.0.0" From f13c07acbfeec13227ea3a8f11b259297535efc1 Mon Sep 17 00:00:00 2001 From: Keyman Build Agent Date: Sat, 19 Mar 2022 14:02:39 -0400 Subject: [PATCH 06/10] auto: increment beta version to 15.0.218 --- HISTORY.md | 4 ++++ VERSION.md | 2 +- .../web/input-processor/package-lock.json | 2 +- common/core/web/input-processor/package.json | 16 +++++++-------- .../web/keyboard-processor/package-lock.json | 2 +- .../core/web/keyboard-processor/package.json | 10 +++++----- .../core/web/tools/recorder/package-lock.json | 2 +- common/core/web/tools/recorder/package.json | 10 +++++----- .../tools/sentry-manager/package-lock.json | 2 +- .../web/tools/sentry-manager/package.json | 4 ++-- common/core/web/utils/package-lock.json | 2 +- common/core/web/utils/package.json | 6 +++--- common/models/templates/package-lock.json | 2 +- common/models/templates/package.json | 8 ++++---- common/models/types/package-lock.json | 2 +- common/models/types/package.json | 2 +- common/models/wordbreakers/package-lock.json | 2 +- common/models/wordbreakers/package.json | 4 ++-- common/predictive-text/package-lock.json | 2 +- common/predictive-text/package.json | 14 ++++++------- developer/js/package-lock.json | 2 +- developer/js/package.json | 8 ++++---- developer/server/package-lock.json | 2 +- developer/server/package.json | 2 +- lerna.json | 2 +- resources/gosh/package-lock.json | 2 +- resources/gosh/package.json | 2 +- resources/web-environment/package-lock.json | 2 +- resources/web-environment/package.json | 4 ++-- web/package-lock.json | 2 +- web/package.json | 20 +++++++++---------- 31 files changed, 75 insertions(+), 71 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index 844c7d6947..b526c96d67 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,9 @@ # Keyman Version History +## 15.0.217 beta 2022-03-19 + +* fix(web): bounding rect offset was incorrect (#6357) + ## 15.0.216 beta 2022-03-18 * feat(linux): Allow to run ibus tests on Wayland ️ (#6202) diff --git a/VERSION.md b/VERSION.md index d4e75f92e5..ab954b3ca8 100644 --- a/VERSION.md +++ b/VERSION.md @@ -1 +1 @@ -15.0.217 \ No newline at end of file +15.0.218 \ No newline at end of file diff --git a/common/core/web/input-processor/package-lock.json b/common/core/web/input-processor/package-lock.json index 1fa2699e56..5b7ae6c2c7 100644 --- a/common/core/web/input-processor/package-lock.json +++ b/common/core/web/input-processor/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/input-processor", - "version": "15.0.217", + "version": "15.0.218", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/common/core/web/input-processor/package.json b/common/core/web/input-processor/package.json index 3e763234be..da49594592 100644 --- a/common/core/web/input-processor/package.json +++ b/common/core/web/input-processor/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/input-processor", - "version": "15.0.217", + "version": "15.0.218", "description": "The core text and prediction processing engine for KeymanWeb", "repository": { "type": "git", @@ -18,8 +18,8 @@ }, "homepage": "https://github.com/keymanapp/keyman#readme", "devDependencies": { - "@keymanapp/lexical-model-compiler": "^15.0.217", - "@keymanapp/resources-gosh": "^15.0.217", + "@keymanapp/lexical-model-compiler": "^15.0.218", + "@keymanapp/resources-gosh": "^15.0.218", "@types/node": "^11.9.4", "chai": "^4.3.4", "mocha": "^8.4.0", @@ -34,11 +34,11 @@ "mocha": "mocha" }, "dependencies": { - "@keymanapp/keyboard-processor": "^15.0.217", - "@keymanapp/lexical-model-layer": "^15.0.217", - "@keymanapp/models-types": "^15.0.217", - "@keymanapp/web-environment": "^15.0.217", - "@keymanapp/web-utils": "^15.0.217", + "@keymanapp/keyboard-processor": "^15.0.218", + "@keymanapp/lexical-model-layer": "^15.0.218", + "@keymanapp/models-types": "^15.0.218", + "@keymanapp/web-environment": "^15.0.218", + "@keymanapp/web-utils": "^15.0.218", "eventemitter3": "^4.0.0" } } diff --git a/common/core/web/keyboard-processor/package-lock.json b/common/core/web/keyboard-processor/package-lock.json index 5df9122152..169aa4fc94 100644 --- a/common/core/web/keyboard-processor/package-lock.json +++ b/common/core/web/keyboard-processor/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/keyboard-processor", - "version": "15.0.217", + "version": "15.0.218", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/common/core/web/keyboard-processor/package.json b/common/core/web/keyboard-processor/package.json index 215626c0a6..d09e4246e4 100644 --- a/common/core/web/keyboard-processor/package.json +++ b/common/core/web/keyboard-processor/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/keyboard-processor", - "version": "15.0.217", + "version": "15.0.218", "description": "Core module for Keyman keyboard support in KeymanWeb.", "repository": { "type": "git", @@ -18,7 +18,7 @@ }, "homepage": "https://github.com/keymanapp/keyman#readme", "devDependencies": { - "@keymanapp/resources-gosh": "^15.0.217", + "@keymanapp/resources-gosh": "^15.0.218", "chai": "^4.3.4", "mocha": "^8.4.0", "mocha-teamcity-reporter": "^4.0.0", @@ -32,9 +32,9 @@ "mocha": "mocha" }, "dependencies": { - "@keymanapp/models-types": "^15.0.217", - "@keymanapp/web-environment": "^15.0.217", - "@keymanapp/web-utils": "^15.0.217", + "@keymanapp/models-types": "^15.0.218", + "@keymanapp/web-environment": "^15.0.218", + "@keymanapp/web-utils": "^15.0.218", "@types/node": "^11.9.4" } } diff --git a/common/core/web/tools/recorder/package-lock.json b/common/core/web/tools/recorder/package-lock.json index 698c8fdb73..b1453b0a9d 100644 --- a/common/core/web/tools/recorder/package-lock.json +++ b/common/core/web/tools/recorder/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/recorder-core", - "version": "15.0.217", + "version": "15.0.218", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/common/core/web/tools/recorder/package.json b/common/core/web/tools/recorder/package.json index 65866b8bc6..849f360c20 100644 --- a/common/core/web/tools/recorder/package.json +++ b/common/core/web/tools/recorder/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/recorder-core", - "version": "15.0.217", + "version": "15.0.218", "description": "Core classes used to develop KeymanWeb test cases based on keystrokes", "main": "index.js", "scripts": { @@ -17,10 +17,10 @@ }, "homepage": "https://github.com/keymanapp/keyman#readme", "dependencies": { - "@keymanapp/keyboard-processor": "^15.0.217", - "@keymanapp/models-types": "^15.0.217", - "@keymanapp/web-environment": "^15.0.217", - "@keymanapp/web-utils": "^15.0.217", + "@keymanapp/keyboard-processor": "^15.0.218", + "@keymanapp/models-types": "^15.0.218", + "@keymanapp/web-environment": "^15.0.218", + "@keymanapp/web-utils": "^15.0.218", "@types/node": "^11.9.4" }, "devDependencies": { diff --git a/common/core/web/tools/sentry-manager/package-lock.json b/common/core/web/tools/sentry-manager/package-lock.json index 40cbf96780..bfa08d1f78 100644 --- a/common/core/web/tools/sentry-manager/package-lock.json +++ b/common/core/web/tools/sentry-manager/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/web-sentry-manager", - "version": "15.0.217", + "version": "15.0.218", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/common/core/web/tools/sentry-manager/package.json b/common/core/web/tools/sentry-manager/package.json index 57b088cb9f..2dbc7b0895 100644 --- a/common/core/web/tools/sentry-manager/package.json +++ b/common/core/web/tools/sentry-manager/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/web-sentry-manager", - "version": "15.0.217", + "version": "15.0.218", "description": "Common setup for KeymanWeb's Sentry-based error reporting", "main": "dist/index.js", "scripts": { @@ -20,7 +20,7 @@ "typescript": "^3.8.3" }, "dependencies": { - "@keymanapp/web-environment": "^15.0.217", + "@keymanapp/web-environment": "^15.0.218", "@sentry/browser": "^5.27.4" } } diff --git a/common/core/web/utils/package-lock.json b/common/core/web/utils/package-lock.json index bf7d2acd37..409daa45ce 100644 --- a/common/core/web/utils/package-lock.json +++ b/common/core/web/utils/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/web-utils", - "version": "15.0.217", + "version": "15.0.218", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/common/core/web/utils/package.json b/common/core/web/utils/package.json index 15deff9101..a5bf32a194 100644 --- a/common/core/web/utils/package.json +++ b/common/core/web/utils/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/web-utils", - "version": "15.0.217", + "version": "15.0.218", "description": "Common utility functions used throughout other Keyman packages", "main": "./dist/index.js", "types": "./dist/index.d.ts", @@ -20,8 +20,8 @@ }, "homepage": "https://github.com/keymanapp/keyman#readme", "devDependencies": { - "@keymanapp/resources-gosh": "^15.0.217", - "@keymanapp/web-environment": "^15.0.217", + "@keymanapp/resources-gosh": "^15.0.218", + "@keymanapp/web-environment": "^15.0.218", "@types/node": "^14.0.5", "typescript": "^3.8.3" } diff --git a/common/models/templates/package-lock.json b/common/models/templates/package-lock.json index afd6ca99eb..ff10bf8822 100644 --- a/common/models/templates/package-lock.json +++ b/common/models/templates/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/models-templates", - "version": "15.0.217", + "version": "15.0.218", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/common/models/templates/package.json b/common/models/templates/package.json index ec61f901bf..5546480e2b 100644 --- a/common/models/templates/package.json +++ b/common/models/templates/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/models-templates", - "version": "15.0.217", + "version": "15.0.218", "description": "Backing model implementations (templates) for Keyman's modelling layer", "keywords": [ "lm", @@ -42,8 +42,8 @@ "url": "https://github.com/keymanapp/keyman/issues" }, "devDependencies": { - "@keymanapp/models-types": "^15.0.217", - "@keymanapp/web-utils": "^15.0.217", + "@keymanapp/models-types": "^15.0.218", + "@keymanapp/web-utils": "^15.0.218", "@types/chai": "^4.2.11", "@types/mocha": "^7.0.2", "@types/node": "^14.0.4", @@ -52,6 +52,6 @@ "typescript": "^3.8.3" }, "dependencies": { - "@keymanapp/models-wordbreakers": "^15.0.217" + "@keymanapp/models-wordbreakers": "^15.0.218" } } diff --git a/common/models/types/package-lock.json b/common/models/types/package-lock.json index 40415799d7..4fbf790e16 100644 --- a/common/models/types/package-lock.json +++ b/common/models/types/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/models-types", - "version": "15.0.217", + "version": "15.0.218", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/common/models/types/package.json b/common/models/types/package.json index fef111bee6..02e5b0f790 100644 --- a/common/models/types/package.json +++ b/common/models/types/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/models-types", - "version": "15.0.217", + "version": "15.0.218", "description": "Type definitions in used in the modeling (lexical model/predictive text) component of Keyman.", "types": "./index.d.ts", "scripts": { diff --git a/common/models/wordbreakers/package-lock.json b/common/models/wordbreakers/package-lock.json index e869053795..0e13664b9c 100644 --- a/common/models/wordbreakers/package-lock.json +++ b/common/models/wordbreakers/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/models-wordbreakers", - "version": "15.0.217", + "version": "15.0.218", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/common/models/wordbreakers/package.json b/common/models/wordbreakers/package.json index 33e2bc501f..4651d8dd61 100644 --- a/common/models/wordbreakers/package.json +++ b/common/models/wordbreakers/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/models-wordbreakers", - "version": "15.0.217", + "version": "15.0.218", "description": "Word breakers bundled in the modeling layer", "keywords": [ "lexical model", @@ -40,7 +40,7 @@ "url": "https://github.com/keymanapp/keyman/issues" }, "devDependencies": { - "@keymanapp/models-types": "^15.0.217", + "@keymanapp/models-types": "^15.0.218", "@types/chai": "^4.2.11", "@types/mocha": "^7.0.2", "chai": "^4.3.4", diff --git a/common/predictive-text/package-lock.json b/common/predictive-text/package-lock.json index f0f39583e8..0e60293b68 100644 --- a/common/predictive-text/package-lock.json +++ b/common/predictive-text/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/lexical-model-layer", - "version": "15.0.217", + "version": "15.0.218", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/common/predictive-text/package.json b/common/predictive-text/package.json index 921c8bce2d..a83f5cc327 100644 --- a/common/predictive-text/package.json +++ b/common/predictive-text/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/lexical-model-layer", - "version": "15.0.217", + "version": "15.0.218", "description": "Keyman/Predictive Text integration layer", "main": "build/index.js", "scripts": { @@ -21,8 +21,8 @@ }, "homepage": "https://github.com/keymanapp/keyman#readme", "devDependencies": { - "@keymanapp/models-types": "^15.0.217", - "@keymanapp/resources-gosh": "^15.0.217", + "@keymanapp/models-types": "^15.0.218", + "@keymanapp/resources-gosh": "^15.0.218", "@types/node": "^10.17.21", "chai": "^4.3.4", "karma": "^6.3.4", @@ -46,10 +46,10 @@ "typescript": "^3.8.3" }, "dependencies": { - "@keymanapp/models-templates": "^15.0.217", - "@keymanapp/models-wordbreakers": "^15.0.217", - "@keymanapp/web-environment": "^15.0.217", - "@keymanapp/web-utils": "^15.0.217", + "@keymanapp/models-templates": "^15.0.218", + "@keymanapp/models-wordbreakers": "^15.0.218", + "@keymanapp/web-environment": "^15.0.218", + "@keymanapp/web-utils": "^15.0.218", "es6-shim": "^0.35.5", "string.prototype.codepointat": "^0.2.1", "string.prototype.startswith": "^0.2.0" diff --git a/developer/js/package-lock.json b/developer/js/package-lock.json index 2b378e2c40..3a131ce753 100644 --- a/developer/js/package-lock.json +++ b/developer/js/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/lexical-model-compiler", - "version": "15.0.217", + "version": "15.0.218", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/developer/js/package.json b/developer/js/package.json index d9654b9261..821d352f52 100644 --- a/developer/js/package.json +++ b/developer/js/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/lexical-model-compiler", - "version": "15.0.217", + "version": "15.0.218", "description": "Keyman Developer lexical model compiler", "keywords": [ "keyboard", @@ -37,14 +37,14 @@ "node": ">=12.0.0" }, "dependencies": { - "@keymanapp/models-types": "^15.0.217", + "@keymanapp/models-types": "^15.0.218", "commander": "^3.0.0", "typescript": "^3.8.3", "xml2js": "^0.4.19" }, "devDependencies": { - "@keymanapp/models-templates": "^15.0.217", - "@keymanapp/models-wordbreakers": "^15.0.217", + "@keymanapp/models-templates": "^15.0.218", + "@keymanapp/models-wordbreakers": "^15.0.218", "@types/chai": "^4.1.7", "@types/mocha": "^5.2.7", "@types/node": "^10.14.6", diff --git a/developer/server/package-lock.json b/developer/server/package-lock.json index b52b9b786b..1aa733079c 100644 --- a/developer/server/package-lock.json +++ b/developer/server/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/developer-server", - "version": "15.0.217", + "version": "15.0.218", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/developer/server/package.json b/developer/server/package.json index 6934721d34..e9f4667f1e 100644 --- a/developer/server/package.json +++ b/developer/server/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/developer-server", - "version": "15.0.217", + "version": "15.0.218", "description": "Keyman Developer backend server", "main": "dist/index.js", "scripts": { diff --git a/lerna.json b/lerna.json index a455d896e8..bcf7724a28 100644 --- a/lerna.json +++ b/lerna.json @@ -21,5 +21,5 @@ "ts-node", "typescript" ], - "version": "15.0.217" + "version": "15.0.218" } diff --git a/resources/gosh/package-lock.json b/resources/gosh/package-lock.json index a66f373ba8..52ef547e2b 100644 --- a/resources/gosh/package-lock.json +++ b/resources/gosh/package-lock.json @@ -1,5 +1,5 @@ { "name": "@keymanapp/resources-gosh", - "version": "15.0.217", + "version": "15.0.218", "lockfileVersion": 1 } diff --git a/resources/gosh/package.json b/resources/gosh/package.json index 74d92ac20d..19a485d358 100644 --- a/resources/gosh/package.json +++ b/resources/gosh/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/resources-gosh", - "version": "15.0.217", + "version": "15.0.218", "description": "Good Ol' Shell", "author": "Marc Durdin (https://github.com/mcdurdin)", "contributors": [ diff --git a/resources/web-environment/package-lock.json b/resources/web-environment/package-lock.json index 6c924758b1..1c9bd5893c 100644 --- a/resources/web-environment/package-lock.json +++ b/resources/web-environment/package-lock.json @@ -1,5 +1,5 @@ { "name": "@keymanapp/web-environment", - "version": "15.0.217", + "version": "15.0.218", "lockfileVersion": 1 } diff --git a/resources/web-environment/package.json b/resources/web-environment/package.json index bd20cc0c39..1a953c5814 100644 --- a/resources/web-environment/package.json +++ b/resources/web-environment/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/web-environment", - "version": "15.0.217", + "version": "15.0.218", "description": "A compilation utility for passing select environment variables into our TS builds", "author": "Joshua Horton (https://github.com/jahorton)", "homepage": "https://github.com/keymanapp/keyman", @@ -17,6 +17,6 @@ "url": "https://github.com/keymanapp/keyman/issues" }, "devDependencies": { - "@keymanapp/resources-gosh": "^15.0.217" + "@keymanapp/resources-gosh": "^15.0.218" } } diff --git a/web/package-lock.json b/web/package-lock.json index 943af44c03..bb102a628e 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -1,6 +1,6 @@ { "name": "keyman", - "version": "15.0.217", + "version": "15.0.218", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/web/package.json b/web/package.json index 3a99b10b02..fabb428b66 100644 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "keyman", - "version": "15.0.217", + "version": "15.0.218", "description": "Facilitates text input in any language.", "repository": { "type": "git", @@ -18,8 +18,8 @@ }, "homepage": "https://github.com/keymanapp/keyman#readme", "devDependencies": { - "@keymanapp/resources-gosh": "^15.0.217", - "@keymanapp/web-sentry-manager": "^15.0.217", + "@keymanapp/resources-gosh": "^15.0.218", + "@keymanapp/web-sentry-manager": "^15.0.218", "@sentry/cli": "^1.52.3", "chai": "^4.3.4", "google-closure-compiler-java": "^20200224.0.0", @@ -52,13 +52,13 @@ "sentry-cli": "sentry-cli" }, "dependencies": { - "@keymanapp/input-processor": "^15.0.217", - "@keymanapp/keyboard-processor": "^15.0.217", - "@keymanapp/lexical-model-layer": "^15.0.217", - "@keymanapp/models-types": "^15.0.217", - "@keymanapp/recorder-core": "^15.0.217", - "@keymanapp/web-environment": "^15.0.217", - "@keymanapp/web-utils": "^15.0.217", + "@keymanapp/input-processor": "^15.0.218", + "@keymanapp/keyboard-processor": "^15.0.218", + "@keymanapp/lexical-model-layer": "^15.0.218", + "@keymanapp/models-types": "^15.0.218", + "@keymanapp/recorder-core": "^15.0.218", + "@keymanapp/web-environment": "^15.0.218", + "@keymanapp/web-utils": "^15.0.218", "@types/node": "^11.9.4", "es6-shim": "^0.35.5", "eventemitter3": "^4.0.0" From 07643052117bcc9a7a1e898f3eb0db07b5e41a25 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Mon, 21 Mar 2022 17:06:38 +1100 Subject: [PATCH 07/10] fix(developer): detect changes in dropdowns in builder Fixes #6386. The touch layout editor would not reliably detect changes if using the mouse to select an item in a dropdown 'autocomplete'. --- .../TIKE/xml/layoutbuilder/builder.js | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/windows/src/developer/TIKE/xml/layoutbuilder/builder.js b/windows/src/developer/TIKE/xml/layoutbuilder/builder.js index 6cae305b1f..6d49f16c27 100644 --- a/windows/src/developer/TIKE/xml/layoutbuilder/builder.js +++ b/windows/src/developer/TIKE/xml/layoutbuilder/builder.js @@ -1446,11 +1446,18 @@ $(function () { builder.updateKeyId(builder.selectedKey()); }, {saveOnce: true}); + const wrapInstant = function(f) { + return function() { + window.setTimeout(f.bind(this), 0); + } + } + $('#inpKeyName') .change(inpKeyNameChange) .autocomplete({ source: builder.lookupKeyNames, - change: inpKeyNameChange + change: inpKeyNameChange, + select: wrapInstant(inpKeyNameChange) }) .on('input', inpKeyNameChange) .blur(function () { @@ -1494,7 +1501,8 @@ $(function () { .change(inpKeyCapChange) .autocomplete({ source: builder.specialKeyNames, - change: inpKeyCapChange + change: inpKeyCapChange, + select: wrapInstant(inpKeyCapChange) }) .mouseup(function () { builder.updateCharacterMap($(this).val(), false); @@ -1721,7 +1729,8 @@ $(function () { .on('input', subKeyNameChange) .autocomplete({ source: builder.lookupKeyNames, - change: subKeyNameChange + change: subKeyNameChange, + select: wrapInstant(subKeyNameChange) }).blur(function () { builder.hasSavedKeyUndo = false; }); @@ -1744,7 +1753,8 @@ $(function () { .change(inpSubKeyCapChange) .autocomplete({ source: builder.specialKeyNames, - change: inpSubKeyCapChange + change: inpSubKeyCapChange, + select: wrapInstant(inpSubKeyCapChange) }) .on('input', inpSubKeyCapChange) .mouseup(function () { From b3c8372cb954c95ff2f85c37df2d976c4429a01d Mon Sep 17 00:00:00 2001 From: Keyman Build Agent Date: Mon, 21 Mar 2022 14:01:46 -0400 Subject: [PATCH 08/10] auto: increment beta version to 15.0.219 --- HISTORY.md | 4 ++++ VERSION.md | 2 +- .../web/input-processor/package-lock.json | 2 +- common/core/web/input-processor/package.json | 16 +++++++-------- .../web/keyboard-processor/package-lock.json | 2 +- .../core/web/keyboard-processor/package.json | 10 +++++----- .../core/web/tools/recorder/package-lock.json | 2 +- common/core/web/tools/recorder/package.json | 10 +++++----- .../tools/sentry-manager/package-lock.json | 2 +- .../web/tools/sentry-manager/package.json | 4 ++-- common/core/web/utils/package-lock.json | 2 +- common/core/web/utils/package.json | 6 +++--- common/models/templates/package-lock.json | 2 +- common/models/templates/package.json | 8 ++++---- common/models/types/package-lock.json | 2 +- common/models/types/package.json | 2 +- common/models/wordbreakers/package-lock.json | 2 +- common/models/wordbreakers/package.json | 4 ++-- common/predictive-text/package-lock.json | 2 +- common/predictive-text/package.json | 14 ++++++------- developer/js/package-lock.json | 2 +- developer/js/package.json | 8 ++++---- developer/server/package-lock.json | 2 +- developer/server/package.json | 2 +- lerna.json | 2 +- resources/gosh/package-lock.json | 2 +- resources/gosh/package.json | 2 +- resources/web-environment/package-lock.json | 2 +- resources/web-environment/package.json | 4 ++-- web/package-lock.json | 2 +- web/package.json | 20 +++++++++---------- 31 files changed, 75 insertions(+), 71 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index b526c96d67..adb01c5355 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,9 @@ # Keyman Version History +## 15.0.218 beta 2022-03-21 + +* chore(android/engine): Remove visual gaps in keyboard picker menu (#6370) + ## 15.0.217 beta 2022-03-19 * fix(web): bounding rect offset was incorrect (#6357) diff --git a/VERSION.md b/VERSION.md index ab954b3ca8..0b68b966eb 100644 --- a/VERSION.md +++ b/VERSION.md @@ -1 +1 @@ -15.0.218 \ No newline at end of file +15.0.219 \ No newline at end of file diff --git a/common/core/web/input-processor/package-lock.json b/common/core/web/input-processor/package-lock.json index 5b7ae6c2c7..1cd7df94e8 100644 --- a/common/core/web/input-processor/package-lock.json +++ b/common/core/web/input-processor/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/input-processor", - "version": "15.0.218", + "version": "15.0.219", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/common/core/web/input-processor/package.json b/common/core/web/input-processor/package.json index da49594592..4b85c78042 100644 --- a/common/core/web/input-processor/package.json +++ b/common/core/web/input-processor/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/input-processor", - "version": "15.0.218", + "version": "15.0.219", "description": "The core text and prediction processing engine for KeymanWeb", "repository": { "type": "git", @@ -18,8 +18,8 @@ }, "homepage": "https://github.com/keymanapp/keyman#readme", "devDependencies": { - "@keymanapp/lexical-model-compiler": "^15.0.218", - "@keymanapp/resources-gosh": "^15.0.218", + "@keymanapp/lexical-model-compiler": "^15.0.219", + "@keymanapp/resources-gosh": "^15.0.219", "@types/node": "^11.9.4", "chai": "^4.3.4", "mocha": "^8.4.0", @@ -34,11 +34,11 @@ "mocha": "mocha" }, "dependencies": { - "@keymanapp/keyboard-processor": "^15.0.218", - "@keymanapp/lexical-model-layer": "^15.0.218", - "@keymanapp/models-types": "^15.0.218", - "@keymanapp/web-environment": "^15.0.218", - "@keymanapp/web-utils": "^15.0.218", + "@keymanapp/keyboard-processor": "^15.0.219", + "@keymanapp/lexical-model-layer": "^15.0.219", + "@keymanapp/models-types": "^15.0.219", + "@keymanapp/web-environment": "^15.0.219", + "@keymanapp/web-utils": "^15.0.219", "eventemitter3": "^4.0.0" } } diff --git a/common/core/web/keyboard-processor/package-lock.json b/common/core/web/keyboard-processor/package-lock.json index 169aa4fc94..b8c1e4deea 100644 --- a/common/core/web/keyboard-processor/package-lock.json +++ b/common/core/web/keyboard-processor/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/keyboard-processor", - "version": "15.0.218", + "version": "15.0.219", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/common/core/web/keyboard-processor/package.json b/common/core/web/keyboard-processor/package.json index d09e4246e4..1a9e119975 100644 --- a/common/core/web/keyboard-processor/package.json +++ b/common/core/web/keyboard-processor/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/keyboard-processor", - "version": "15.0.218", + "version": "15.0.219", "description": "Core module for Keyman keyboard support in KeymanWeb.", "repository": { "type": "git", @@ -18,7 +18,7 @@ }, "homepage": "https://github.com/keymanapp/keyman#readme", "devDependencies": { - "@keymanapp/resources-gosh": "^15.0.218", + "@keymanapp/resources-gosh": "^15.0.219", "chai": "^4.3.4", "mocha": "^8.4.0", "mocha-teamcity-reporter": "^4.0.0", @@ -32,9 +32,9 @@ "mocha": "mocha" }, "dependencies": { - "@keymanapp/models-types": "^15.0.218", - "@keymanapp/web-environment": "^15.0.218", - "@keymanapp/web-utils": "^15.0.218", + "@keymanapp/models-types": "^15.0.219", + "@keymanapp/web-environment": "^15.0.219", + "@keymanapp/web-utils": "^15.0.219", "@types/node": "^11.9.4" } } diff --git a/common/core/web/tools/recorder/package-lock.json b/common/core/web/tools/recorder/package-lock.json index b1453b0a9d..01fab46fbd 100644 --- a/common/core/web/tools/recorder/package-lock.json +++ b/common/core/web/tools/recorder/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/recorder-core", - "version": "15.0.218", + "version": "15.0.219", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/common/core/web/tools/recorder/package.json b/common/core/web/tools/recorder/package.json index 849f360c20..8208aa6b5b 100644 --- a/common/core/web/tools/recorder/package.json +++ b/common/core/web/tools/recorder/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/recorder-core", - "version": "15.0.218", + "version": "15.0.219", "description": "Core classes used to develop KeymanWeb test cases based on keystrokes", "main": "index.js", "scripts": { @@ -17,10 +17,10 @@ }, "homepage": "https://github.com/keymanapp/keyman#readme", "dependencies": { - "@keymanapp/keyboard-processor": "^15.0.218", - "@keymanapp/models-types": "^15.0.218", - "@keymanapp/web-environment": "^15.0.218", - "@keymanapp/web-utils": "^15.0.218", + "@keymanapp/keyboard-processor": "^15.0.219", + "@keymanapp/models-types": "^15.0.219", + "@keymanapp/web-environment": "^15.0.219", + "@keymanapp/web-utils": "^15.0.219", "@types/node": "^11.9.4" }, "devDependencies": { diff --git a/common/core/web/tools/sentry-manager/package-lock.json b/common/core/web/tools/sentry-manager/package-lock.json index bfa08d1f78..9a88067f7a 100644 --- a/common/core/web/tools/sentry-manager/package-lock.json +++ b/common/core/web/tools/sentry-manager/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/web-sentry-manager", - "version": "15.0.218", + "version": "15.0.219", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/common/core/web/tools/sentry-manager/package.json b/common/core/web/tools/sentry-manager/package.json index 2dbc7b0895..f534eb7bd8 100644 --- a/common/core/web/tools/sentry-manager/package.json +++ b/common/core/web/tools/sentry-manager/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/web-sentry-manager", - "version": "15.0.218", + "version": "15.0.219", "description": "Common setup for KeymanWeb's Sentry-based error reporting", "main": "dist/index.js", "scripts": { @@ -20,7 +20,7 @@ "typescript": "^3.8.3" }, "dependencies": { - "@keymanapp/web-environment": "^15.0.218", + "@keymanapp/web-environment": "^15.0.219", "@sentry/browser": "^5.27.4" } } diff --git a/common/core/web/utils/package-lock.json b/common/core/web/utils/package-lock.json index 409daa45ce..ab1fb40773 100644 --- a/common/core/web/utils/package-lock.json +++ b/common/core/web/utils/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/web-utils", - "version": "15.0.218", + "version": "15.0.219", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/common/core/web/utils/package.json b/common/core/web/utils/package.json index a5bf32a194..3d236c7c69 100644 --- a/common/core/web/utils/package.json +++ b/common/core/web/utils/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/web-utils", - "version": "15.0.218", + "version": "15.0.219", "description": "Common utility functions used throughout other Keyman packages", "main": "./dist/index.js", "types": "./dist/index.d.ts", @@ -20,8 +20,8 @@ }, "homepage": "https://github.com/keymanapp/keyman#readme", "devDependencies": { - "@keymanapp/resources-gosh": "^15.0.218", - "@keymanapp/web-environment": "^15.0.218", + "@keymanapp/resources-gosh": "^15.0.219", + "@keymanapp/web-environment": "^15.0.219", "@types/node": "^14.0.5", "typescript": "^3.8.3" } diff --git a/common/models/templates/package-lock.json b/common/models/templates/package-lock.json index ff10bf8822..53946a4c7b 100644 --- a/common/models/templates/package-lock.json +++ b/common/models/templates/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/models-templates", - "version": "15.0.218", + "version": "15.0.219", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/common/models/templates/package.json b/common/models/templates/package.json index 5546480e2b..d6f6cbec11 100644 --- a/common/models/templates/package.json +++ b/common/models/templates/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/models-templates", - "version": "15.0.218", + "version": "15.0.219", "description": "Backing model implementations (templates) for Keyman's modelling layer", "keywords": [ "lm", @@ -42,8 +42,8 @@ "url": "https://github.com/keymanapp/keyman/issues" }, "devDependencies": { - "@keymanapp/models-types": "^15.0.218", - "@keymanapp/web-utils": "^15.0.218", + "@keymanapp/models-types": "^15.0.219", + "@keymanapp/web-utils": "^15.0.219", "@types/chai": "^4.2.11", "@types/mocha": "^7.0.2", "@types/node": "^14.0.4", @@ -52,6 +52,6 @@ "typescript": "^3.8.3" }, "dependencies": { - "@keymanapp/models-wordbreakers": "^15.0.218" + "@keymanapp/models-wordbreakers": "^15.0.219" } } diff --git a/common/models/types/package-lock.json b/common/models/types/package-lock.json index 4fbf790e16..960b9d7e08 100644 --- a/common/models/types/package-lock.json +++ b/common/models/types/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/models-types", - "version": "15.0.218", + "version": "15.0.219", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/common/models/types/package.json b/common/models/types/package.json index 02e5b0f790..a9eb601fdb 100644 --- a/common/models/types/package.json +++ b/common/models/types/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/models-types", - "version": "15.0.218", + "version": "15.0.219", "description": "Type definitions in used in the modeling (lexical model/predictive text) component of Keyman.", "types": "./index.d.ts", "scripts": { diff --git a/common/models/wordbreakers/package-lock.json b/common/models/wordbreakers/package-lock.json index 0e13664b9c..f7788d5bc6 100644 --- a/common/models/wordbreakers/package-lock.json +++ b/common/models/wordbreakers/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/models-wordbreakers", - "version": "15.0.218", + "version": "15.0.219", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/common/models/wordbreakers/package.json b/common/models/wordbreakers/package.json index 4651d8dd61..4ae0429e71 100644 --- a/common/models/wordbreakers/package.json +++ b/common/models/wordbreakers/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/models-wordbreakers", - "version": "15.0.218", + "version": "15.0.219", "description": "Word breakers bundled in the modeling layer", "keywords": [ "lexical model", @@ -40,7 +40,7 @@ "url": "https://github.com/keymanapp/keyman/issues" }, "devDependencies": { - "@keymanapp/models-types": "^15.0.218", + "@keymanapp/models-types": "^15.0.219", "@types/chai": "^4.2.11", "@types/mocha": "^7.0.2", "chai": "^4.3.4", diff --git a/common/predictive-text/package-lock.json b/common/predictive-text/package-lock.json index 0e60293b68..4d7782ac3a 100644 --- a/common/predictive-text/package-lock.json +++ b/common/predictive-text/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/lexical-model-layer", - "version": "15.0.218", + "version": "15.0.219", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/common/predictive-text/package.json b/common/predictive-text/package.json index a83f5cc327..5f8dbf819f 100644 --- a/common/predictive-text/package.json +++ b/common/predictive-text/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/lexical-model-layer", - "version": "15.0.218", + "version": "15.0.219", "description": "Keyman/Predictive Text integration layer", "main": "build/index.js", "scripts": { @@ -21,8 +21,8 @@ }, "homepage": "https://github.com/keymanapp/keyman#readme", "devDependencies": { - "@keymanapp/models-types": "^15.0.218", - "@keymanapp/resources-gosh": "^15.0.218", + "@keymanapp/models-types": "^15.0.219", + "@keymanapp/resources-gosh": "^15.0.219", "@types/node": "^10.17.21", "chai": "^4.3.4", "karma": "^6.3.4", @@ -46,10 +46,10 @@ "typescript": "^3.8.3" }, "dependencies": { - "@keymanapp/models-templates": "^15.0.218", - "@keymanapp/models-wordbreakers": "^15.0.218", - "@keymanapp/web-environment": "^15.0.218", - "@keymanapp/web-utils": "^15.0.218", + "@keymanapp/models-templates": "^15.0.219", + "@keymanapp/models-wordbreakers": "^15.0.219", + "@keymanapp/web-environment": "^15.0.219", + "@keymanapp/web-utils": "^15.0.219", "es6-shim": "^0.35.5", "string.prototype.codepointat": "^0.2.1", "string.prototype.startswith": "^0.2.0" diff --git a/developer/js/package-lock.json b/developer/js/package-lock.json index 3a131ce753..a1648d22ce 100644 --- a/developer/js/package-lock.json +++ b/developer/js/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/lexical-model-compiler", - "version": "15.0.218", + "version": "15.0.219", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/developer/js/package.json b/developer/js/package.json index 821d352f52..4bd6cb4a14 100644 --- a/developer/js/package.json +++ b/developer/js/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/lexical-model-compiler", - "version": "15.0.218", + "version": "15.0.219", "description": "Keyman Developer lexical model compiler", "keywords": [ "keyboard", @@ -37,14 +37,14 @@ "node": ">=12.0.0" }, "dependencies": { - "@keymanapp/models-types": "^15.0.218", + "@keymanapp/models-types": "^15.0.219", "commander": "^3.0.0", "typescript": "^3.8.3", "xml2js": "^0.4.19" }, "devDependencies": { - "@keymanapp/models-templates": "^15.0.218", - "@keymanapp/models-wordbreakers": "^15.0.218", + "@keymanapp/models-templates": "^15.0.219", + "@keymanapp/models-wordbreakers": "^15.0.219", "@types/chai": "^4.1.7", "@types/mocha": "^5.2.7", "@types/node": "^10.14.6", diff --git a/developer/server/package-lock.json b/developer/server/package-lock.json index 1aa733079c..203ec08f85 100644 --- a/developer/server/package-lock.json +++ b/developer/server/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/developer-server", - "version": "15.0.218", + "version": "15.0.219", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/developer/server/package.json b/developer/server/package.json index e9f4667f1e..0bc1854154 100644 --- a/developer/server/package.json +++ b/developer/server/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/developer-server", - "version": "15.0.218", + "version": "15.0.219", "description": "Keyman Developer backend server", "main": "dist/index.js", "scripts": { diff --git a/lerna.json b/lerna.json index bcf7724a28..0acd3a3269 100644 --- a/lerna.json +++ b/lerna.json @@ -21,5 +21,5 @@ "ts-node", "typescript" ], - "version": "15.0.218" + "version": "15.0.219" } diff --git a/resources/gosh/package-lock.json b/resources/gosh/package-lock.json index 52ef547e2b..1b830282b7 100644 --- a/resources/gosh/package-lock.json +++ b/resources/gosh/package-lock.json @@ -1,5 +1,5 @@ { "name": "@keymanapp/resources-gosh", - "version": "15.0.218", + "version": "15.0.219", "lockfileVersion": 1 } diff --git a/resources/gosh/package.json b/resources/gosh/package.json index 19a485d358..9f6053eafc 100644 --- a/resources/gosh/package.json +++ b/resources/gosh/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/resources-gosh", - "version": "15.0.218", + "version": "15.0.219", "description": "Good Ol' Shell", "author": "Marc Durdin (https://github.com/mcdurdin)", "contributors": [ diff --git a/resources/web-environment/package-lock.json b/resources/web-environment/package-lock.json index 1c9bd5893c..7f1f416ab7 100644 --- a/resources/web-environment/package-lock.json +++ b/resources/web-environment/package-lock.json @@ -1,5 +1,5 @@ { "name": "@keymanapp/web-environment", - "version": "15.0.218", + "version": "15.0.219", "lockfileVersion": 1 } diff --git a/resources/web-environment/package.json b/resources/web-environment/package.json index 1a953c5814..3bad58f8bf 100644 --- a/resources/web-environment/package.json +++ b/resources/web-environment/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/web-environment", - "version": "15.0.218", + "version": "15.0.219", "description": "A compilation utility for passing select environment variables into our TS builds", "author": "Joshua Horton (https://github.com/jahorton)", "homepage": "https://github.com/keymanapp/keyman", @@ -17,6 +17,6 @@ "url": "https://github.com/keymanapp/keyman/issues" }, "devDependencies": { - "@keymanapp/resources-gosh": "^15.0.218" + "@keymanapp/resources-gosh": "^15.0.219" } } diff --git a/web/package-lock.json b/web/package-lock.json index bb102a628e..f448c1391a 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -1,6 +1,6 @@ { "name": "keyman", - "version": "15.0.218", + "version": "15.0.219", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/web/package.json b/web/package.json index fabb428b66..26e4cb0210 100644 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "keyman", - "version": "15.0.218", + "version": "15.0.219", "description": "Facilitates text input in any language.", "repository": { "type": "git", @@ -18,8 +18,8 @@ }, "homepage": "https://github.com/keymanapp/keyman#readme", "devDependencies": { - "@keymanapp/resources-gosh": "^15.0.218", - "@keymanapp/web-sentry-manager": "^15.0.218", + "@keymanapp/resources-gosh": "^15.0.219", + "@keymanapp/web-sentry-manager": "^15.0.219", "@sentry/cli": "^1.52.3", "chai": "^4.3.4", "google-closure-compiler-java": "^20200224.0.0", @@ -52,13 +52,13 @@ "sentry-cli": "sentry-cli" }, "dependencies": { - "@keymanapp/input-processor": "^15.0.218", - "@keymanapp/keyboard-processor": "^15.0.218", - "@keymanapp/lexical-model-layer": "^15.0.218", - "@keymanapp/models-types": "^15.0.218", - "@keymanapp/recorder-core": "^15.0.218", - "@keymanapp/web-environment": "^15.0.218", - "@keymanapp/web-utils": "^15.0.218", + "@keymanapp/input-processor": "^15.0.219", + "@keymanapp/keyboard-processor": "^15.0.219", + "@keymanapp/lexical-model-layer": "^15.0.219", + "@keymanapp/models-types": "^15.0.219", + "@keymanapp/recorder-core": "^15.0.219", + "@keymanapp/web-environment": "^15.0.219", + "@keymanapp/web-utils": "^15.0.219", "@types/node": "^11.9.4", "es6-shim": "^0.35.5", "eventemitter3": "^4.0.0" From 6b1ae79c114e11cec40c69324b4bff86761f2834 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Tue, 22 Mar 2022 09:21:17 +1100 Subject: [PATCH 09/10] fix(ios): remove busy 100ms waitForFonts timer on iOS Observed while debugging another issue on iOS. The VisualKeyboard.waitForFonts function sets up a busy timer to wait for font loading. This functionality is not even needed on the iOS app, because it's really only used for the touch alias elements. However, it was being called, potentially multiple times, leading to the timer never being removed. On Android, the timer was correctly removed. This aligns the iOS code path with the Android code path. --- web/source/kmwembedded.ts | 98 +++++++++++++++++++-------------------- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/web/source/kmwembedded.ts b/web/source/kmwembedded.ts index f0f0c68cb1..97e4f19956 100644 --- a/web/source/kmwembedded.ts +++ b/web/source/kmwembedded.ts @@ -34,7 +34,7 @@ namespace com.keyman.osk { } } else if(keyName.indexOf('K_ROPT') >= 0) { if(keyDown) { - this.highlightKey(e,false); + this.highlightKey(e,false); if(typeof keyman['hideKeyboard'] == 'function') { keyman['hideKeyboard'](); } @@ -49,10 +49,10 @@ namespace com.keyman.osk { if(device.OS == 'Android') { // assumption - if this file is being loaded, keyman.isEmbedded == true. // Send the subkey array to iOS, with centre,top of base key position /** - * Create a popup key array natively - * + * Create a popup key array natively + * * @param {Object} key base key element - */ + */ VisualKeyboard.prototype.startLongpress = function(this: VisualKeyboard, key: KeyElement): PendingGesture { if(typeof(window['oskCreatePopup']) == 'function') { var xBase = dom.Utils.getAbsoluteX(key) - dom.Utils.getAbsoluteX(this.kbdDiv) + key.offsetWidth/2, @@ -78,11 +78,11 @@ namespace com.keyman.osk { this.keytip = new osk.embedded.KeyTip(window['oskCreateKeyPreview'], window['oskClearKeyPreview']); } }; + } - VisualKeyboard.prototype.waitForFonts = function(this: VisualKeyboard, kfd, ofd) { - // a dummy function; it's only really used for 'native' KMW. - return true; - } + VisualKeyboard.prototype.waitForFonts = function(this: VisualKeyboard, kfd, ofd) { + // a dummy function; it's only really used for 'native' KMW. + return true; } SuggestionManager.prototype.platformHold = function(this: SuggestionManager, suggestionObj: BannerSuggestion, isCustom: boolean) { @@ -129,10 +129,10 @@ namespace com.keyman.text { // Allow definition of application name keymanweb.options['app']=''; - + // Flag to control refreshing of a keyboard that is already loaded keymanweb.mustReloadKeyboard = true; - + // Skip full page initialization - skips native-mode only code keymanweb.isEmbedded = true; @@ -140,14 +140,14 @@ namespace com.keyman.text { keymanweb.setDefaultDeviceOptions = function(opt: com.keyman.OptionType) { opt['attachType'] = 'manual'; device.app=opt['app']; - device.touchable=true; - device.formFactor='phone'; + device.touchable=true; + device.formFactor='phone'; if(navigator && navigator.userAgent && navigator.userAgent.indexOf('iPad') >= 0) device.formFactor='tablet'; if(device.app.indexOf('Mobile') >= 0) device.formFactor='phone'; if(device.app.indexOf('Tablet') >= 0) device.formFactor='tablet'; device.browser='native'; }; - + // Get default style sheet path keymanweb.getStyleSheetPath = function(ssName) { return keymanweb.rootPath+ssName; @@ -191,7 +191,7 @@ namespace com.keyman.text { /** * Force reload of resource - * + * * @param {string} s unmodified URL * @return {string} modified URL */ @@ -200,7 +200,7 @@ namespace com.keyman.text { s = s + '?v=' + t; return s; }; - + util.wait = function() { // Empty stub - this function should not be implemented or used within embedded code routes. console.warn("util.wait() call attempted in embedded mode!"); // Sends log message to embedding app. @@ -213,39 +213,39 @@ namespace com.keyman.text { /** * Refresh element content after change of text (if required) - * + * * @param {Object} Pelem input element - */ - keymanweb.refreshElementContent = function(Pelem) + */ + keymanweb.refreshElementContent = function(Pelem) { if('ontextchange' in keymanweb) keymanweb['ontextchange'](Pelem); }; /** * Set target element text direction (LTR or RTL): not functional for KMEI, KMEA - * + * * @param {Object} Ptarg Target element - */ + */ keymanweb.domManager._SetTargDir = function(Ptarg){}; - + /** * Align input fields (should not be needed with KMEI, KMEA) - * + * * @param {object} eleList A list of specific elements to align. If nil, selects all elements. - * + * **/ keymanweb.alignInputs = function(eleList: HTMLElement[]) {}; /** * Use rotation events to adjust OSK element positions and scaling if necessary - */ + */ keymanweb.handleRotationEvents = function() {}; - + /** * Caret position always determined from the active (but hidden) element - * + * * @return {boolean} - **/ + **/ keymanweb.isPositionSynthesized = function() { return false; @@ -264,7 +264,7 @@ namespace com.keyman.text { /** * Register a lexical model - * + * * @param {com.keyman.text.prediction.ModelSpec} model Spec of the lexical model */ keymanweb['registerModel']=function(model: com.keyman.text.prediction.ModelSpec) { @@ -272,12 +272,12 @@ namespace com.keyman.text { }; /** - * Function called by Android and iOS when a device-implemented keyboard popup + * Function called by Android and iOS when a device-implemented keyboard popup * is displayed or hidden. As this is controlled by the app, we use it as a * trigger for 'embedded'-mode gesture state management. - * + * * @param {boolean} isVisible - * + * **/ keymanweb['popupVisible'] = function(isVisible) { let osk = keymanweb.osk; @@ -287,7 +287,7 @@ namespace com.keyman.text { /* * If a longpress popup was visible, but is no longer, this means that the * associated longpress gesture was cancelled. It is possible for the base - * key to emit if selected at this time; detecton of this is managed by + * key to emit if selected at this time; detecton of this is managed by * the `SubkeyDelegator` class. */ if(!isVisible) { @@ -302,9 +302,9 @@ namespace com.keyman.text { /* * If the popup was not visible, but now is, that means our previously-pending - * longpress is now 'realized' (complete). The OSK relies upon this state + * longpress is now 'realized' (complete). The OSK relies upon this state * information, which will be properly updated by `resolve`. - * + * * Prominent uses of such state info helps prevent change of base key, key * previews, and key output from occurring while a subkey popup remains active. */ @@ -316,9 +316,9 @@ namespace com.keyman.text { /** * Return position of language menu key to KeymanTouch - * + * * @return {string} comma-separated x,y,w,h of language menu key - * + * **/ keymanweb['touchMenuPos'] = function() { let osk = keymanweb.osk; @@ -329,14 +329,14 @@ namespace com.keyman.text { var key: HTMLElement = osk.vkbd.lgKey; // A CSS change of kmd-key-square from position:fixed to position:static was needed // for Android 4.3 to display the OSK correctly, but resulted in the position of - // the menu key not being returned correctly. The following line gets the - // key element, instead of the key-square element, fixes this. It should be + // the menu key not being returned correctly. The following line gets the + // key element, instead of the key-square element, fixes this. It should be // removed again when the key-square elements are all removed as planned. if(typeof key.firstChild != 'undefined' && key.firstChild != null && util.hasClass(key.firstChild,'kmw-key')) { key = key.firstChild; } - var w=key.offsetWidth, + var w=key.offsetWidth, h=key.offsetHeight, // Since the full OSKManager '_Box' is displayed within the keyboards' WebViews, // these calculations should be performed with respect to that, rather than osk.vkbd.kbdDiv. @@ -345,13 +345,13 @@ namespace com.keyman.text { return x+','+y+','+w+','+h; }; - + /** * Accept an external key ID (from KeymanTouch) and pass to the keyboard mapping - * + * * @param {string} keyName key identifier which could contain a display layer and a "functional" layer * e.g: 'shift-K_E+rightalt-shift' - **/ + **/ keymanweb['executePopupKey'] = function(keyName: string) { let osk = keymanweb.osk; var origArg = keyName; @@ -376,7 +376,7 @@ namespace com.keyman.text { return false; } keyName = matches[2] + (matches[3] ? '+' + matches[3] : ''); - + // Note: this assumes Lelem is properly attached and has an element interface. // Currently true in the Android and iOS apps. var Lelem=keymanweb.domManager.lastActiveElement; @@ -394,13 +394,13 @@ namespace com.keyman.text { /** * API endpoint for hardware keystroke events from Android external keyboards - * + * * @param {number} code key identifier * @param {number} shift shift state (0x01=left ctrl 0x02=right ctrl 0x04=left alt 0x08=right alt * 0x10=shift 0x20=ctrl 0x40=alt) * @param {number} lstates lock state (0x0200=no caps 0x0400=num 0x0800=no num 0x1000=scroll 0x2000=no scroll locks) * @return {boolean} false when KMW _has_ fully handled the event and true when not. - **/ + **/ keymanweb['executeHardwareKeystroke'] = function(code, shift, lstates = 0): boolean { if(!keymanweb.core.activeKeyboard || code == 0) { return false; @@ -408,14 +408,14 @@ namespace com.keyman.text { // Clear any pending (non-popup) key keymanweb.osk.vkbd.keyPending = null; - + // Note: this assumes Lelem is properly attached and has an element interface. // Currently true in the Android and iOS apps. var Lelem = keymanweb.domManager.lastActiveElement; - + keymanweb.domManager.initActiveElement(Lelem); - // Check the virtual key + // Check the virtual key var Lkc: com.keyman.text.KeyEvent = { Lmodifiers: shift, vkCode: code, @@ -425,7 +425,7 @@ namespace com.keyman.text { kName: '', device: keymanweb.util.physicalDevice.coreSpec, // As we're executing a hardware keystroke. isSynthetic: false - }; + }; try { // Now that we've manually constructed a proper keystroke-sourced KeyEvent, pass control From d9e99d30406df72ddba3401ac433ecaea0678c71 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Tue, 22 Mar 2022 13:50:34 +1100 Subject: [PATCH 10/10] chore(mac): update build env for monterey Python2.7 is excluded from macOS Monterey, and is not available directly via brew any longer. We still need it for now. pyenv does the job... --- docs/build/macos.md | 8 ++++++-- resources/devbox/macos/keyman.macos.env.sh | 3 +++ resources/devbox/macos/macos.sh | 6 +++++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/docs/build/macos.md b/docs/build/macos.md index 70d055a13e..7870c8d04b 100644 --- a/docs/build/macos.md +++ b/docs/build/macos.md @@ -48,11 +48,15 @@ These dependencies are also listed below if you'd prefer to install manually. ## Shared Dependencies -* Shared: HomeBrew, Bash 5.0+, jq, Python 3, Meson, Ninja, coreutils, Pandoc +* Shared: HomeBrew, Bash 5.0+, jq, Python 2.7, Python 3, Meson, Ninja, coreutils, Pandoc ```shell /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - brew install bash jq python3 meson ninja coreutils pandoc + brew install bash jq python3 meson ninja coreutils pandoc pyenv + # Python 2.7 required for DeviceKit (among others?) at present + pyenv install 2.7.18 + pyenv global 2.7.18 + echo 'eval "$(pyenv init --path)"' >> ~/.bash_profile ``` On M1 only (as greadlink is not on the path otherwise in XCode): diff --git a/resources/devbox/macos/keyman.macos.env.sh b/resources/devbox/macos/keyman.macos.env.sh index b6fc5b83d8..34acdfce0f 100644 --- a/resources/devbox/macos/keyman.macos.env.sh +++ b/resources/devbox/macos/keyman.macos.env.sh @@ -17,3 +17,6 @@ export PATH=$ANDROID_HOME/build-tools/30.0.3:$PATH export PATH="/usr/local/opt/openjdk@8/bin:$PATH" export JAVA_HOME=/usr/local/opt/openjdk@8 + +# Python 2.7 +eval "$(pyenv init --path)" diff --git a/resources/devbox/macos/macos.sh b/resources/devbox/macos/macos.sh index ca5568806a..19ebea01bc 100755 --- a/resources/devbox/macos/macos.sh +++ b/resources/devbox/macos/macos.sh @@ -144,7 +144,7 @@ which brew || ( ## Install devchain components -BREW_ALL="bash jq python3 meson ninja coreutils" +BREW_ALL="bash jq python3 meson ninja coreutils pyenv" BREW_WEB="node emscripten openjdk@8" BREW_IOS="swiftlint carthage" BREW_MACOS="carthage cocoapods" @@ -162,6 +162,10 @@ $REQUIRE_MACOS && brew install $BREW_MACOS $REQUIRE_PANDOC && brew install pandoc $REQUIRE_SENTRYCLI && brew install getsentry/tools/sentry-cli +# Add python 2.7.18 from pyenv +pyenv install 2.7.18 +pyenv global 2.7.18 + # Install WINE $REQUIRE_KMCOMP && ( brew tap homebrew/cask-versions