From 6867bfd492b7e02ca38438a45667c8bf193fadd2 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Fri, 17 Jun 2022 05:17:05 +1000 Subject: [PATCH 1/6] fix(web): crash on custom modifier keys Fixes #6788. Fixes KEYMAN-WEB-22. Fixes KEYMAN-DEVELOPER-BQ. Fixes KEYMAN-ANDROID-160. Fixes a crash introduced in #6473 which was trying to prevent modifier keys from triggering "fat finger" alternate lookups, due to incomplete nullish coalescing. Related to this, from what I can see, a secondary side-effect of the fix in #6473 was that some key events may have never had their ruleBehaviors finalized if they matched the `isOnlyLayerSwitchKey` heuristic, leading to potential issues with edge case 'deadkey+layer switch' keys or keys that set store values, for example. So this fix also makes the `isOnlyLayerSwitchKey` test more targeted. Identified this when adding a Caps Lock layer to sil_euro_latin and testing the layer switching. At time of fix, the error had been raised in KeymanWeb, Keyman Developer and Keyman for Android, but not yet Keyman for iPhone and iPad. --- .../input-processor/src/text/inputProcessor.ts | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/common/core/web/input-processor/src/text/inputProcessor.ts b/common/core/web/input-processor/src/text/inputProcessor.ts index 6fabe3f0dc..63dd1bc47b 100644 --- a/common/core/web/input-processor/src/text/inputProcessor.ts +++ b/common/core/web/input-processor/src/text/inputProcessor.ts @@ -141,27 +141,29 @@ namespace com.keyman.text { // If it's a key that we 'optimize out' of our fat-finger correction algorithm, // we MUST NOT trigger it for this keystroke. - let isOnlyLayerShift = text.Codes.isKnownOSKModifierKey(keyEvent.kName); + let isOnlyLayerSwitchKey = text.Codes.isKnownOSKModifierKey(keyEvent.kName); // Best-guess stopgap for possible custom modifier keys. // If a key (1) does not affect the context and (2) shifts the active layer, // we assume it's a modifier key. (Touch keyboards may define custom modifier keys.) // - // Note: this could cause an issue in the niche scenario where: + // Note: this will mean we won't generate alternates in the niche scenario where: // 1. Keypress does not alter the actual context // 2. It DOES emit a deadkey with an earlier processing rule. // 3. The FINAL processing rule does not match. // 4. The key ALSO signals a layer shift. // If any of the four above conditions aren't met - no problem! // So it's a pretty niche scenario. - if((ruleBehavior.transcription?.transform as TextTransform).isNoOp() && keyEvent.kNextLayer) { - isOnlyLayerShift = true; + if((ruleBehavior?.transcription?.transform as TextTransform)?.isNoOp() && keyEvent.kNextLayer) { + isOnlyLayerSwitchKey = true; } const keepRuleBehavior = ruleBehavior != null; // Should we swallow any further processing of keystroke events for this keydown-keypress sequence? - if(keepRuleBehavior && !isOnlyLayerShift) { - let alternates = this.buildAlternates(ruleBehavior, keyEvent, preInputMock); + if(keepRuleBehavior) { + // alternates are our fat-finger alternate outputs. We don't build these for keys we detect as + // layer switch keys + let alternates = isOnlyLayerSwitchKey ? null : this.buildAlternates(ruleBehavior, keyEvent, preInputMock); // Now that we've done all the keystroke processing needed, ensure any extra effects triggered // by the actual keystroke occur. @@ -173,7 +175,7 @@ namespace com.keyman.text { if(alternates && alternates.length > 0) { ruleBehavior.transcription.alternates = alternates; } - } else if(ruleBehavior == null) { + } else { // We need a dummy RuleBehavior for keys which have no output (e.g. Shift) ruleBehavior = new RuleBehavior(); ruleBehavior.transcription = outputTarget.buildTranscriptionFrom(outputTarget, null, false); From c72d761e119c1f04cf9e8e0fd9d1361f1e328612 Mon Sep 17 00:00:00 2001 From: jahorton Date: Thu, 16 Jun 2022 10:13:50 +0700 Subject: [PATCH 2/6] fix(web): key tip constraint logic requires .bottom CSS --- web/source/osk/browser/keytip.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/source/osk/browser/keytip.ts b/web/source/osk/browser/keytip.ts index fe5c7dd80d..e6a980c6a2 100644 --- a/web/source/osk/browser/keytip.ts +++ b/web/source/osk/browser/keytip.ts @@ -78,7 +78,7 @@ namespace com.keyman.osk.browser { let canvasWidth = xWidth + Math.ceil(xWidth * 0.3) * 2; let canvasHeight = Math.ceil(2.3 * xHeight) + (ySubPixelPadding); // - kts.top = Math.floor(y - canvasHeight) + 'px'; + kts.bottom = Math.floor(keyman.osk.computedHeight - y) + 'px'; kts.textAlign = 'center'; kts.overflow = 'visible'; kts.fontFamily = util.getStyleValue(kc,'font-family'); From d7a205508ff27e8da7b2915c594ea9cd893f33a5 Mon Sep 17 00:00:00 2001 From: jahorton Date: Thu, 16 Jun 2022 15:00:44 +0700 Subject: [PATCH 3/6] fix(web): 'auto' actually mattered --- web/source/osk/browser/keytip.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/web/source/osk/browser/keytip.ts b/web/source/osk/browser/keytip.ts index e6a980c6a2..7404edba3c 100644 --- a/web/source/osk/browser/keytip.ts +++ b/web/source/osk/browser/keytip.ts @@ -78,6 +78,7 @@ namespace com.keyman.osk.browser { let canvasWidth = xWidth + Math.ceil(xWidth * 0.3) * 2; let canvasHeight = Math.ceil(2.3 * xHeight) + (ySubPixelPadding); // + kts.top = 'auto'; kts.bottom = Math.floor(keyman.osk.computedHeight - y) + 'px'; kts.textAlign = 'center'; kts.overflow = 'visible'; From 3aa4ea77d41af988d95e809e05e05517f7c1148b Mon Sep 17 00:00:00 2001 From: jahorton Date: Fri, 17 Jun 2022 12:35:59 +0700 Subject: [PATCH 4/6] fix(web): android keytip-cap lacked styling; was invisible --- web/source/resources/osk/kmwosk.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/web/source/resources/osk/kmwosk.css b/web/source/resources/osk/kmwosk.css index 9c9bde7198..4e2d72feac 100644 --- a/web/source/resources/osk/kmwosk.css +++ b/web/source/resources/osk/kmwosk.css @@ -402,6 +402,10 @@ div.android div.kmw-keytip-tip { background: #999; } +div.android div.kmw-keytip-cap { + background: #999; +} + /* Dark mode - ensure text is colored appropriately for key tips. */ @media (prefers-color-scheme: dark) { div.ios div.kmw-keytip { From 9753e93116634a65421056998e66a7777e80553e Mon Sep 17 00:00:00 2001 From: jahorton Date: Fri, 17 Jun 2022 12:56:44 +0700 Subject: [PATCH 5/6] fix(android): missed a few CSS properties --- web/source/resources/osk/kmwosk.css | 3 +++ 1 file changed, 3 insertions(+) diff --git a/web/source/resources/osk/kmwosk.css b/web/source/resources/osk/kmwosk.css index 4e2d72feac..23c6327653 100644 --- a/web/source/resources/osk/kmwosk.css +++ b/web/source/resources/osk/kmwosk.css @@ -403,7 +403,10 @@ div.android div.kmw-keytip-tip { } div.android div.kmw-keytip-cap { + position: absolute; background: #999; + border-radius: 0 0 5px 5px; + border-bottom: solid 1px #8a8d90 } /* Dark mode - ensure text is colored appropriately for key tips. */ From 86014a5ea2130c0ef4a9c4f7dd76c0b4481fe86b Mon Sep 17 00:00:00 2001 From: Keyman Build Agent Date: Sat, 18 Jun 2022 00:39:25 -0400 Subject: [PATCH 6/6] auto: increment stable-15.0 version to 15.0.262 --- 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 a53152b45b..2bfb038014 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,9 @@ # Keyman Version History +## 15.0.261 stable 2022-06-18 + +* fix(web): crash on custom modifier keys (#6789) + ## 15.0.260 stable 2022-06-15 * chore: Release version 15.0 diff --git a/VERSION.md b/VERSION.md index 94fd4c233a..499859cd0a 100644 --- a/VERSION.md +++ b/VERSION.md @@ -1 +1 @@ -15.0.261 \ No newline at end of file +15.0.262 \ 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 c81e70eab9..8243dee798 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.261", + "version": "15.0.262", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/common/core/web/input-processor/package.json b/common/core/web/input-processor/package.json index cb7fd2084c..c17d4fd18c 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.261", + "version": "15.0.262", "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.261", - "@keymanapp/resources-gosh": "^15.0.261", + "@keymanapp/lexical-model-compiler": "^15.0.262", + "@keymanapp/resources-gosh": "^15.0.262", "@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.261", - "@keymanapp/lexical-model-layer": "^15.0.261", - "@keymanapp/models-types": "^15.0.261", - "@keymanapp/web-environment": "^15.0.261", - "@keymanapp/web-utils": "^15.0.261", + "@keymanapp/keyboard-processor": "^15.0.262", + "@keymanapp/lexical-model-layer": "^15.0.262", + "@keymanapp/models-types": "^15.0.262", + "@keymanapp/web-environment": "^15.0.262", + "@keymanapp/web-utils": "^15.0.262", "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 c1db3380e9..0891a24fd0 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.261", + "version": "15.0.262", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/common/core/web/keyboard-processor/package.json b/common/core/web/keyboard-processor/package.json index f92a941089..62396b3cbb 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.261", + "version": "15.0.262", "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.261", + "@keymanapp/resources-gosh": "^15.0.262", "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.261", - "@keymanapp/web-environment": "^15.0.261", - "@keymanapp/web-utils": "^15.0.261", + "@keymanapp/models-types": "^15.0.262", + "@keymanapp/web-environment": "^15.0.262", + "@keymanapp/web-utils": "^15.0.262", "@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 49f685a0f3..108fdeea36 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.261", + "version": "15.0.262", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/common/core/web/tools/recorder/package.json b/common/core/web/tools/recorder/package.json index f078dbb02b..90cbd323c7 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.261", + "version": "15.0.262", "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.261", - "@keymanapp/models-types": "^15.0.261", - "@keymanapp/web-environment": "^15.0.261", - "@keymanapp/web-utils": "^15.0.261", + "@keymanapp/keyboard-processor": "^15.0.262", + "@keymanapp/models-types": "^15.0.262", + "@keymanapp/web-environment": "^15.0.262", + "@keymanapp/web-utils": "^15.0.262", "@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 a9e0c24544..79caba899b 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.261", + "version": "15.0.262", "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 363f204eb3..d2bcfa8f22 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.261", + "version": "15.0.262", "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.261", + "@keymanapp/web-environment": "^15.0.262", "@sentry/browser": "^5.27.4" } } diff --git a/common/core/web/utils/package-lock.json b/common/core/web/utils/package-lock.json index 11c37b9afd..c1ba45213f 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.261", + "version": "15.0.262", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/common/core/web/utils/package.json b/common/core/web/utils/package.json index a0860f341e..5ace271b65 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.261", + "version": "15.0.262", "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.261", - "@keymanapp/web-environment": "^15.0.261", + "@keymanapp/resources-gosh": "^15.0.262", + "@keymanapp/web-environment": "^15.0.262", "@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 ec3494e27c..920c38e47b 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.261", + "version": "15.0.262", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/common/models/templates/package.json b/common/models/templates/package.json index ba2ccc6ba7..3760e9a56a 100644 --- a/common/models/templates/package.json +++ b/common/models/templates/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/models-templates", - "version": "15.0.261", + "version": "15.0.262", "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.261", - "@keymanapp/web-utils": "^15.0.261", + "@keymanapp/models-types": "^15.0.262", + "@keymanapp/web-utils": "^15.0.262", "@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.261" + "@keymanapp/models-wordbreakers": "^15.0.262" } } diff --git a/common/models/types/package-lock.json b/common/models/types/package-lock.json index a38d247d4d..a68ab60aa9 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.261", + "version": "15.0.262", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/common/models/types/package.json b/common/models/types/package.json index 4d9680837c..7387326fab 100644 --- a/common/models/types/package.json +++ b/common/models/types/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/models-types", - "version": "15.0.261", + "version": "15.0.262", "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 75e3529c81..df9e9fb899 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.261", + "version": "15.0.262", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/common/models/wordbreakers/package.json b/common/models/wordbreakers/package.json index b0d3a75638..68030eb151 100644 --- a/common/models/wordbreakers/package.json +++ b/common/models/wordbreakers/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/models-wordbreakers", - "version": "15.0.261", + "version": "15.0.262", "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.261", + "@keymanapp/models-types": "^15.0.262", "@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 541aa5d31e..7cf8f6e83a 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.261", + "version": "15.0.262", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/common/predictive-text/package.json b/common/predictive-text/package.json index 527560bd51..d1cbe0ed34 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.261", + "version": "15.0.262", "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.261", - "@keymanapp/resources-gosh": "^15.0.261", + "@keymanapp/models-types": "^15.0.262", + "@keymanapp/resources-gosh": "^15.0.262", "@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.261", - "@keymanapp/models-wordbreakers": "^15.0.261", - "@keymanapp/web-environment": "^15.0.261", - "@keymanapp/web-utils": "^15.0.261", + "@keymanapp/models-templates": "^15.0.262", + "@keymanapp/models-wordbreakers": "^15.0.262", + "@keymanapp/web-environment": "^15.0.262", + "@keymanapp/web-utils": "^15.0.262", "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 29bd77bd57..590448e800 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.261", + "version": "15.0.262", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/developer/js/package.json b/developer/js/package.json index 3d31cadbd1..ff36dc9ab7 100644 --- a/developer/js/package.json +++ b/developer/js/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/lexical-model-compiler", - "version": "15.0.261", + "version": "15.0.262", "description": "Keyman Developer lexical model compiler", "keywords": [ "keyboard", @@ -37,14 +37,14 @@ "node": ">=12.0.0" }, "dependencies": { - "@keymanapp/models-types": "^15.0.261", + "@keymanapp/models-types": "^15.0.262", "commander": "^3.0.0", "typescript": "^3.8.3", "xml2js": "^0.4.19" }, "devDependencies": { - "@keymanapp/models-templates": "^15.0.261", - "@keymanapp/models-wordbreakers": "^15.0.261", + "@keymanapp/models-templates": "^15.0.262", + "@keymanapp/models-wordbreakers": "^15.0.262", "@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 14beca1627..32ae4ea712 100644 --- a/developer/server/package-lock.json +++ b/developer/server/package-lock.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/developer-server", - "version": "15.0.261", + "version": "15.0.262", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/developer/server/package.json b/developer/server/package.json index a8879ed042..5531d95d47 100644 --- a/developer/server/package.json +++ b/developer/server/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/developer-server", - "version": "15.0.261", + "version": "15.0.262", "description": "Keyman Developer backend server", "main": "dist/index.js", "scripts": { diff --git a/lerna.json b/lerna.json index 436f237494..9f6be375a9 100644 --- a/lerna.json +++ b/lerna.json @@ -21,5 +21,5 @@ "ts-node", "typescript" ], - "version": "15.0.261" + "version": "15.0.262" } diff --git a/resources/gosh/package-lock.json b/resources/gosh/package-lock.json index 586dd424d2..2b3ec91d6c 100644 --- a/resources/gosh/package-lock.json +++ b/resources/gosh/package-lock.json @@ -1,5 +1,5 @@ { "name": "@keymanapp/resources-gosh", - "version": "15.0.261", + "version": "15.0.262", "lockfileVersion": 1 } diff --git a/resources/gosh/package.json b/resources/gosh/package.json index fca823f0dc..397d57479c 100644 --- a/resources/gosh/package.json +++ b/resources/gosh/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/resources-gosh", - "version": "15.0.261", + "version": "15.0.262", "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 5d287aca08..9dc2271b77 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.261", + "version": "15.0.262", "lockfileVersion": 1 } diff --git a/resources/web-environment/package.json b/resources/web-environment/package.json index f672125259..a2b8b29d6b 100644 --- a/resources/web-environment/package.json +++ b/resources/web-environment/package.json @@ -1,6 +1,6 @@ { "name": "@keymanapp/web-environment", - "version": "15.0.261", + "version": "15.0.262", "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.261" + "@keymanapp/resources-gosh": "^15.0.262" } } diff --git a/web/package-lock.json b/web/package-lock.json index 966774b53f..af9a7f0f63 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -1,6 +1,6 @@ { "name": "keyman", - "version": "15.0.261", + "version": "15.0.262", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/web/package.json b/web/package.json index 71cdec64b0..0decea963c 100644 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "keyman", - "version": "15.0.261", + "version": "15.0.262", "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.261", - "@keymanapp/web-sentry-manager": "^15.0.261", + "@keymanapp/resources-gosh": "^15.0.262", + "@keymanapp/web-sentry-manager": "^15.0.262", "@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.261", - "@keymanapp/keyboard-processor": "^15.0.261", - "@keymanapp/lexical-model-layer": "^15.0.261", - "@keymanapp/models-types": "^15.0.261", - "@keymanapp/recorder-core": "^15.0.261", - "@keymanapp/web-environment": "^15.0.261", - "@keymanapp/web-utils": "^15.0.261", + "@keymanapp/input-processor": "^15.0.262", + "@keymanapp/keyboard-processor": "^15.0.262", + "@keymanapp/lexical-model-layer": "^15.0.262", + "@keymanapp/models-types": "^15.0.262", + "@keymanapp/recorder-core": "^15.0.262", + "@keymanapp/web-environment": "^15.0.262", + "@keymanapp/web-utils": "^15.0.262", "@types/node": "^11.9.4", "es6-shim": "^0.35.5", "eventemitter3": "^4.0.0"