From 748ad4aa01455fc56c49d7f15d5ca149c77d0c48 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Wed, 27 May 2026 17:17:23 +0200 Subject: [PATCH 1/4] chore(web): add filename to link text of manual web tests This change appends the filename to the description of the tests on the index page of the manual web tests. This makes it easier to find the test on the rendered index page when having the directory name of the test available. Build-bot: skip Test-bot: skip --- web/src/test/manual/web/index.html | 101 ++++++++++++++--------------- 1 file changed, 50 insertions(+), 51 deletions(-) diff --git a/web/src/test/manual/web/index.html b/web/src/test/manual/web/index.html index 6d608b08d3..fa254254d0 100644 --- a/web/src/test/manual/web/index.html +++ b/web/src/test/manual/web/index.html @@ -20,64 +20,63 @@ -

KeymanWeb 17 Testing

-

Test unminified Keymanweb

-

Test unminified Keymanweb in manual-attachment mode.

-

Prediction - robust testing

-

Desktop UI module testing

-

Tests keyboard documentation rendering.

-

Stand-alone gesture recognition

+

KeymanWeb 19 Testing

+

Test unminified Keymanweb (unminified)

+

Test unminified Keymanweb in manual-attachment mode (unminified - manual)

+

Prediction - robust testing (prediction-mtnt)

+

Desktop UI module testing (desktop-ui)

+

Tests keyboard documentation rendering (build-visual-keyboard)

+

Stand-alone gesture recognition (gesture-recognizer)

Miscellaneous tests for smaller features

-

Chirality testing/bootstrapping

-

Tests option/variable store functionality

-

Platform testing

-

Prediction UI testing

-

Promise API testing

-

Tests Sentry error-reporting functionality

-

Test page for osk setRect() and restorePosition() interaction

-

Integration with CKEditor

-

Tests toggling & use of desktop OSK config & help buttons

+

Chirality testing/bootstrapping (chirality)

+

Tests option/variable store functionality (options-with-save)

+

Platform testing (platform)

+

Prediction UI testing (prediction-ui)

+

Promise API testing (promise-api)

+

Tests Sentry error-reporting functionality (sentry-integration)

+

Test page for osk setRect() and restorePosition() interaction (osk-movement)

+

Integration with CKEditor (ckeditor)

+

Tests toggling & use of desktop OSK config & help buttons (osk-event-buttons)

Page integration (attachment) tests

-

Tests the Attachment/Enablement API functionality

-

Test desktop MutationObserver functionality

-

Light test for touch-based MutationObserver functionality

-

Test/stress-test touch-based MutationObserver functionality

+

Tests the Attachment/Enablement API functionality (attachment-api)

+

Test desktop MutationObserver functionality (issue29)

+

Light test for touch-based MutationObserver functionality (issue62)

+

Test/stress-test touch-based MutationObserver functionality (issue63)

Issue Testing

-

Tests OSK handling of empty rows

-

Tests keyboard error-handling functionality

-

'Test case' for proper implementation of the removeKeyboards API function.

-

Tests layering transitions for keyboards with variable layer sizes.

-

Tests keyboard loading with repeated requests

-

Long-press on numeric and symbolic layer testing

-

Next-layer processing testing

-

Uxxxx code testing

-

Test KMW beep

-

Test page for interactions between setActiveKeyboard and the toolbar UI.

-

Test keyboard loading with upper case TTF font

-

Test page for IFrame connectivity and class prototype management

-

Test page for mnemonic basic support on US English

-

Test page for evaluating issues with mobile device rotation events

-

Test page for automatic key-cap scaling

-

Test page for fat-finger interaction with beep feedback

-

Test page for context() and notany() interaction

-

Test SpacebarText APIs (#949)

-

Test inline OSK (#5665)

-

Test variable stores and predictive text (#2924)

-

Test Caps Lock Layer (#3620)

-

Test Start of Sentence (#3621)

-

Test start of sentence keyboard rules (#5963)

-

Tests predictive text & other handling of rule matching when the final rule group does not match (#6005)

-

Tests handling of new default-subkey feature (#9430)

-

Test special characters rendering with keymanweb-osk.ttf (#9469)

-

Test text selection (#9073)

-

Test key-cap scaling / font load interactions (#10506)

-

Test page interaction + engine-initialization race condition handling (#10743)

-

Test OSK loading with early add-keyboard calls (#11785)

+

Tests OSK handling of empty rows (empty-row)

+

Tests keyboard error-handling functionality (keyboard-errors)

+

'Test case' for proper implementation of the removeKeyboards API function. (issue005)

+

Tests layering transitions for keyboards with variable layer sizes. (issue53)

+

Tests keyboard loading with repeated requests (issue103)

+

Long-press on numeric and symbolic layer testing (issue115)

+

Next-layer processing testing (issue116)

+

Uxxxx code testing (issue160)

+

Test KMW beep (issue266)

+

Test page for interactions between setActiveKeyboard and the toolbar UI (issue271)

+

Test keyboard loading with upper case TTF font (issue1332)

+

Test page for IFrame connectivity and class prototype management (basic-iframe)

+

Test page for mnemonic basic support on US English (mnemonic)

+

Test page for evaluating issues with mobile device rotation events (rotation-events)

+

Test page for automatic key-cap scaling (issue382)

+

Test page for fat-finger interaction with beep feedback (issue3701)

+

Test page for context() and notany() interaction (issue917-context-and-notany)

+

Test SpacebarText APIs (#949) (spacebar-text)

+

Test inline OSK (#5665) (inline-osk)

+

Test variable stores and predictive text (#2924) (issue2924)

+

Test Caps Lock Layer (#3620) (caps-lock-layer-3620)

+

Test start of sentence keyboard rules (#3621/#5963) (start-of-sentence-3621)

+

Tests predictive text & other handling of rule matching when the final rule group does not match (#6005) (issue6005)

+

Tests handling of new default-subkey feature (#9430) (default-subkey)

+

Test special characters rendering with keymanweb-osk.ttf (#9469) (issue9469)

+

Test text selection (#9073) (text_selection_tests_9073)

+

Test key-cap scaling / font load interactions (#10506) (pr10506)

+

Test page interaction + engine-initialization race condition handling (#10743) (init-race-10743)

+

Test OSK loading with early add-keyboard calls (#11785) (issue11785)

Other

-

Keystroke processing regression test engine.

+

Keystroke processing regression test engine (regression-tests)


Return to main index From 78ea935fe520a4014345fa11bf17d4349ca90542 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Wed, 27 May 2026 19:33:07 +0200 Subject: [PATCH 2/4] docs(web): reformat and small fixes - rewrap lines - change http:// to https:// Build-bot: skip Test-bot: skip --- web/docs/engine/reference/core/addKeyboards.md | 15 +++++++++------ .../reference/core/addKeyboardsForLanguage.md | 17 ++++++++++++----- .../src/keyboards/keyboardProperties.ts | 4 ++-- 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/web/docs/engine/reference/core/addKeyboards.md b/web/docs/engine/reference/core/addKeyboards.md index 4a2dc77f5d..0f312bee4c 100644 --- a/web/docs/engine/reference/core/addKeyboards.md +++ b/web/docs/engine/reference/core/addKeyboards.md @@ -22,11 +22,14 @@ keyman.addKeyboards(spec[, spec...]) ### Return Value -`Promise`: A [JavaScript Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) +`Promise`: A [JavaScript +Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) fulfilled upon adding keyboards. The promise is an array containing a combination of the following: -* successfully registered keyboard objects which define some or all of these [properties](../keyboard_properties) + +* successfully registered keyboard objects which define some or all of these + [properties](../keyboard_properties) * [ErrorStub](../keyboard_registration_errors) objects for keyboards that failed to register ## Description @@ -35,7 +38,8 @@ The keyboard spec can be a string or an object. Multiple keyboard specs can be specified in a single call, which can reduce the round-trip cost of multiple calls to Keyman Cloud servers (when using Keyman Cloud). -For general information and example uses of this method, please see the [Adding Keyboards](../../guide/adding-keyboards) page from the guide section. +For general information and example uses of this method, please see the [Adding +Keyboards](../../guide/adding-keyboards) page from the guide section. ### Using a `string` @@ -48,7 +52,7 @@ The string format is one of the following: * `'keyboardID@languageID'`: Loads a specific keyboard + language combination The keyboard catalogue is online at -[http://keyman.com/developer/keymanweb/keyboards](http://keyman.com/developer/keymanweb/keyboards). +[https://keyman.com/developer/keymanweb/keyboards](https://keyman.com/developer/keymanweb/keyboards). ### Using an `object` @@ -59,7 +63,6 @@ known as KeymanWeb Server Data API): The `spec` object contains the following members: - `name` : `string` @@ -143,7 +146,7 @@ The `spec.languages` object contains the following members: : `array|object` optional - An array of Font objects (see definition below) or single object describing + An array of Font objects (see `font` definition below) or single object describing fonts for input fields and the OSK (if `oskFont` is not present.) `oskFont` diff --git a/web/docs/engine/reference/core/addKeyboardsForLanguage.md b/web/docs/engine/reference/core/addKeyboardsForLanguage.md index d06ce2ede2..5e8ed92c9e 100644 --- a/web/docs/engine/reference/core/addKeyboardsForLanguage.md +++ b/web/docs/engine/reference/core/addKeyboardsForLanguage.md @@ -18,15 +18,19 @@ keyman.addKeyboardsForLanguage(spec[, spec...]) : Type: `string` - Language name string. Appending `$` to the language name will cause all available keyboards for that language to be loaded rather than the default keyboard. + Language name string. Appending `$` to the language name will cause all available keyboards for + that language to be loaded rather than only the default keyboard. ### Return Value -`Promise`: A [JavaScript Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) +`Promise`: A [JavaScript +Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) fulfilled upon adding keyboards. The promise is an array containing the following: -* successfully registered keyboard objects which define some or all of these [properties](../keyboard_properties) + +* successfully registered keyboard objects which define some or all of these + [properties](../keyboard_properties) ## Description @@ -34,9 +38,12 @@ The language spec is a string. Multiple language specs can also be specified in a single call, which can reduce the round-trip cost of multiple calls to Keyman Cloud servers (when using Keyman Cloud). -The first call to `addKeyboardsForLanguage()` makes an additional call to the Keyman API to load the current list of keyboard/language associations. This determines the default keyboards that are added for the language. +The first call to `addKeyboardsForLanguage()` makes an additional call to the Keyman API to load +the current list of keyboard/language associations. This determines the default keyboards that +are added for the language. -For general information and example uses of this method, please see the [Adding Keyboards](../../guide/adding-keyboards) page from the guide section. +For general information and example uses of this method, please see the [Adding +Keyboards](../../guide/adding-keyboards) page from the guide section. ### Using a `string` diff --git a/web/src/engine/keyboard/src/keyboards/keyboardProperties.ts b/web/src/engine/keyboard/src/keyboards/keyboardProperties.ts index 7f1d43282e..0fafc150fb 100644 --- a/web/src/engine/keyboard/src/keyboards/keyboardProperties.ts +++ b/web/src/engine/keyboard/src/keyboards/keyboardProperties.ts @@ -75,7 +75,7 @@ export type LanguageAPIPropertySpec = { * Corresponds to the documented API for the Web engine's `addKeyboards` function * when a single language object is specified - not an array. * - * See https://help.keyman.com/developer/engine/web/15.0/reference/core/addKeyboards, + * See https://help.keyman.com/developer/engine/web/current-version/reference/core/addKeyboards, * "Using an `object`". */ export type KeyboardAPIPropertySpec = { @@ -93,7 +93,7 @@ export type KeyboardAPIPropertySpec = { * Corresponds to the documented API for the Web engine's `addKeyboards` function * when a language array is specified for the object. * - * See https://help.keyman.com/developer/engine/web/15.0/reference/core/addKeyboards, + * See https://help.keyman.com/developer/engine/web/current-version/reference/core/addKeyboards, * "Using an `object`". */ export type KeyboardAPIPropertyMultilangSpec = { From 2b10964d8572d8ef5f2b2dd2813798f9065462e5 Mon Sep 17 00:00:00 2001 From: Keyman Build Agent Date: Wed, 27 May 2026 13:01:34 -0500 Subject: [PATCH 3/4] auto: increment master version to 19.0.240 Test-bot: skip Build-bot: skip --- HISTORY.md | 4 ++++ VERSION.md | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/HISTORY.md b/HISTORY.md index 4d2638e673..d5eee7acb7 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,9 @@ # Keyman Version History +## 19.0.239 alpha 2026-05-27 + +* chore(web): remove obsolete file (#16013) + ## 19.0.238 alpha 2026-05-26 * maint(linux): Don't block merge if source verification check fails (#16010) diff --git a/VERSION.md b/VERSION.md index a8d1a233ce..cdc8b4ee8e 100644 --- a/VERSION.md +++ b/VERSION.md @@ -1 +1 @@ -19.0.239 \ No newline at end of file +19.0.240 \ No newline at end of file From f61ad57544c49042601475d9c398280cd3d963d1 Mon Sep 17 00:00:00 2001 From: Eberhard Beilharz Date: Thu, 28 May 2026 10:28:40 +0200 Subject: [PATCH 4/4] refactor(web): don't wrap in the middle of links Addresses code review comment. --- web/docs/engine/reference/core/addKeyboards.md | 7 +++---- web/docs/engine/reference/core/addKeyboardsForLanguage.md | 7 +++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/web/docs/engine/reference/core/addKeyboards.md b/web/docs/engine/reference/core/addKeyboards.md index 0f312bee4c..fc5e3ce07b 100644 --- a/web/docs/engine/reference/core/addKeyboards.md +++ b/web/docs/engine/reference/core/addKeyboards.md @@ -22,8 +22,7 @@ keyman.addKeyboards(spec[, spec...]) ### Return Value -`Promise`: A [JavaScript -Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) +`Promise`: A [JavaScript Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) fulfilled upon adding keyboards. The promise is an array containing a combination of the following: @@ -38,8 +37,8 @@ The keyboard spec can be a string or an object. Multiple keyboard specs can be specified in a single call, which can reduce the round-trip cost of multiple calls to Keyman Cloud servers (when using Keyman Cloud). -For general information and example uses of this method, please see the [Adding -Keyboards](../../guide/adding-keyboards) page from the guide section. +For general information and example uses of this method, please see the +[Adding Keyboards](../../guide/adding-keyboards) page from the guide section. ### Using a `string` diff --git a/web/docs/engine/reference/core/addKeyboardsForLanguage.md b/web/docs/engine/reference/core/addKeyboardsForLanguage.md index 5e8ed92c9e..bf97a06b8d 100644 --- a/web/docs/engine/reference/core/addKeyboardsForLanguage.md +++ b/web/docs/engine/reference/core/addKeyboardsForLanguage.md @@ -23,8 +23,7 @@ keyman.addKeyboardsForLanguage(spec[, spec...]) ### Return Value -`Promise`: A [JavaScript -Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) +`Promise`: A [JavaScript Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) fulfilled upon adding keyboards. The promise is an array containing the following: @@ -42,8 +41,8 @@ The first call to `addKeyboardsForLanguage()` makes an additional call to the Ke the current list of keyboard/language associations. This determines the default keyboards that are added for the language. -For general information and example uses of this method, please see the [Adding -Keyboards](../../guide/adding-keyboards) page from the guide section. +For general information and example uses of this method, please see the +[Adding Keyboards](../../guide/adding-keyboards) page from the guide section. ### Using a `string`