Commit graph

960 commits

Author SHA1 Message Date
Eberhard Beilharz
f07e05fb15
chore(web): skip guide-examples.tests.ts until race is fixed
The guide-examples.tests.ts have a race so that they occasionally fail
(#16167). This change disables the tests until we have a fix in place.

Related-to: #16167
Build-bot: skip build:web
Test-bot: skip
2026-08-24 11:43:39 +02:00
Joshua Horton
5a7b7118ff
Merge pull request #16314 from keymanapp/change/web/match-fatfingers-by-element-ids
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
change(web): lookup key-data via elementID, not reference, during fat-finger generation 🚂
2026-08-17 19:05:51 +07:00
Keyman Server
90c10d5f34
Merge branch 'epic/autocorrect' into auto/A19S35-merge-base-into-autocorrect 2026-08-14 16:18:38 +02:00
Marc Durdin
85d7b398bc chore(web): add test for versionInfo.full
Test-bot: skip
2026-08-13 08:40:21 +02:00
Joshua Horton
25f6e6694e Merge branch 'epic/autocorrect' into change/web/match-fatfingers-by-element-ids 2026-08-12 12:38:39 -05:00
Marc Durdin
f1361a94f0 feat(web): add keyman.versionInfo API
KeymanWeb has long had `keyman.build` and `keyman.version`. Neither of
these properties expose the full version string, and consumers are
forced to manipulate them to get a partial version string.

This change deprecates both these properties, and introduces a new
`keyman.versionInfo` property, which returns an object with all the
version information, most importantly `full`.

Update documentation and add a unit test for this, following the unit
test pattern established throughout Keyman of a unit test filename
matching the implementation class. The `KeymanEngineBase` class is a
little difficult to instantiate so this unit test module currently has
a minimal instantiation which provides enough to fulfill the one
included test.

Test-bot: skip
2026-08-12 11:07:31 +02:00
Joshua Horton
ce0df801e7 fix(web): fix complex backspace handling, add unit tests
Fixes: #16335

The new unit tests here caught the behavior addressed by this PR's predecessor, #16349.

Meanwhile, a _different_ behavior was noted here that had added complexity - it so happens the test case I constructed managed to catch a bug in backspace handling!  Fortunately, a small tweak was able to resolve the issue.

Build-bot: skip build:web
Test-bot: skip
2026-08-11 17:26:57 -05:00
Joshua Horton
b4c9b40916 fix(web): annotate transition ID on reconstructed context tokens
Build-bot: skip build:web
Test-bot: skip
2026-08-11 17:17:38 -05:00
Joshua Horton
dd0bf09cfd change(web): lookup key-data via elementID, not reference, during fat-finger generation
Build-bot: skip release:web release:android

Relates-to:  #16254
Relates-to:  #16313

Noting that similar issues to those fixed by #16313 have occurred in other gesture-related contexts, it seems wise to implement the same sort of fix for all gesture types - perhaps the Android WebView has its own circumstances where similar "reference replacements" may occur and throw off our internal key-matching logic.
2026-08-07 15:27:32 -05:00
Joshua Horton
2d59915030 fix(web): fix construction for suggestions emitted after left-deleting whitespace
Build-bot: skip release:web release:android
2026-08-05 10:52:36 -05:00
Joshua Horton
433f4ea90f
Merge pull request #16298 from keymanapp/feat/web/add-pred-text-unit-tests
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
feat(web): add new pred-text unit test cases 🚂
2026-08-04 20:33:16 +07:00
Joshua Horton
c6b55c5fcc
Merge pull request #16290 from keymanapp/fix/web/bksp-reconstruction
fix(web): restore backspace-input token reconstruction 🚂
2026-08-04 20:07:36 +07:00
Joshua Horton
04a75adef6 feat(web): add new pred-text unit test cases
Adds unit tests to cover context-reset patterns
and to ensure that transition IDs are always set
properly on generated suggestions, for all model
types.

Build-bot: skip build:web
Test-bot: skip
2026-08-03 12:54:57 -05:00
Joshua Horton
67b26cb643
Merge pull request #16273 from keymanapp/fix/web/empty-prediction-cases
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
fix(web): improve prediction whitespace-input, backspace-input edge case handling 🚂
2026-07-30 23:24:12 +07:00
Joshua Horton
e1f143a619 fix(web): fix unit test issues from last commit
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-07-30 11:23:48 -05:00
Joshua Horton
f2e160c232 feat(web): add unit tests for prior commit
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-07-28 12:01:03 -05:00
Joshua Horton
f864bf293a change(web): spin off method, add unit tests to verify handling of keep vs revert suggestions
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-07-27 12:11:50 -05:00
Joshua Horton
e225b26f10 change(web): add unit tests for issues fixed by this PR
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-07-23 15:52:53 -05:00
Keyman Server
c2a3fd8d7d
Merge branch 'epic/autocorrect' into auto/A19S33-merge-master-into-autocorrect 2026-07-20 07:26:08 +02:00
Marc Durdin
0e076d5389 chore(web): declare scope for stubAndKeyboardCache members
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Also remove redundant `fetchKeyboardForStub` function, as it had only a
single use (and was not unit tested directly).

Test-bot: skip
2026-07-11 14:47:32 +02:00
Joshua Horton
f3e0f0bfd5
Merge pull request #16123 from keymanapp/fix/web/block-keep-autoaccept
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
fix(web): do not auto-select model-matching keep suggestions 🚂
2026-07-09 21:27:09 +07:00
Joshua Horton
21c43452e0
Merge pull request #16209 from keymanapp/fix/auto-test-cookies-and-paths
fix(web): fixes cookie unit-tests and path for OSK resources during testing
2026-07-09 00:45:43 +07:00
Joshua Horton
81b0c0b706 fix(web): fixes cookie unit-tests and path for OSK resources during testing
Build-bot: skip build:web
Test-bot: skip
2026-07-06 11:13:24 -05:00
Joshua Horton
94e67290e1 change(web): stop negation of reversion transition IDs
Build-bot: skip build:web
Test-bot: skip
2026-07-06 10:07:15 -05:00
Joshua Horton
56678bee6b Merge branch 'epic/autocorrect' into change/web/transition-id-nomenclature
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-07-06 08:43:45 -05:00
Joshua Horton
cfd731511a fix(web): adjust unit tests that previously auto-selected keep
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-07-06 08:43:09 -05:00
Keyman Server
2dfa960f13
Merge branch 'epic/autocorrect' into auto/A19S32-merge-base-into-autocorrect 2026-07-04 13:19:27 +02:00
Marc Durdin
cda7dc6d24 chore: remove deprecated "X-UA-Compatible" and "apple-mobile-web-app-capable" metas
For Keyman Developer Server, add app.webmanifest so that it can be saved
to the home screen; other pages should not require this.

Fixes: #16172
Test-bot: skip
2026-07-01 10:27:22 +02:00
Joshua Horton
6d8ae47ab5 fix(web): drop .transformId refs from engine:main unit tests 2026-06-26 14:27:15 -05:00
Joshua Horton
b14fe90894 change(web): polish documentation + uses of transition ID in predictive text
- Drops the `Suggestion.transformId` field in favor of just reusing `.transform.id`
- Updates documentation on .transform.id as a unique identifier of the transition,
not specific to a single Transform.

Does not modify the `.transform` or `.id` properties because we've been publishing
lexical model types, and that would change the public model API.

Build-bot: skip build:web
Test-bot: skip
2026-06-26 12:48:16 -05:00
Marc Durdin
debe12f5d5 chore: Merge branch 'epic/autocorrect' into auto/A19S31-merge-master-into-autocorrect 2026-06-24 16:13:50 +02:00
Joshua Horton
370928c8e5 change(web): clean ContextState unit tests
Addresses these comments:
- https://github.com/keymanapp/keyman/issues/15265#issuecomment-3636890802
-   https://github.com/keymanapp/keyman/issues/15265#issuecomment-3636901217

Build-bot: skip build:web
Test-bot: skip
2026-06-22 15:55:03 -05:00
Eberhard Beilharz
bda4b50e2a
test(web): add e2e tests for examples from guide
Build-bot: skip build:web
Test-bot: skip
2026-06-18 19:43:12 +02:00
Eberhard Beilharz
31843db6f9
Merge pull request #16083 from keymanapp/chore/web/kmxsample
chore(web): hide KMX keyboard test page
2026-06-10 08:13:13 +02:00
Joshua Horton
a397c65d47 fix(web): ensure efficiency test is done without non-BMP mode enabled
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-06-09 15:46:24 -05:00
Joshua Horton
4632f9809e Merge branch 'epic/autocorrect' into auto/A19S30-merge-master-into-autocorrect 2026-06-09 14:50:36 -05:00
Eberhard Beilharz
52e6854d9f
Merge pull request #16070 from keymanapp/chore/web/improvedoc
chore(web): more improvements to documentation

- some small updates to the text
2026-06-09 18:19:00 +02:00
Eberhard Beilharz
517e9d26f3
Merge pull request #16064 from keymanapp/chore/web/449_rm_kmw
chore(web): improve the KeymanWeb integration documentation

- replace use of `kmw` with `keyman` 
- unify pattern to load keyboards: do it in `keyman.init().then()` instead   of in the document `onload`

Part-of: keymanapp/keyman.com#449
2026-06-09 18:08:15 +02:00
Eberhard Beilharz
f697cffe58
chore(web): Merge branch 'chore/web/449_rm_kmw' into chore/web/improvedoc 2026-06-09 18:03:50 +02:00
Eberhard Beilharz
a354ba1f4a
chore(web): clean up some test headers 2026-06-09 17:39:41 +02:00
Eberhard Beilharz
52b2e676cf
chore(web): hide KMX keyboard test page
Since we removed the .kmx keyboard loading from Keyman 19 the test page
no longer works. This change hides the link to the test page.

Build-bot: skip
Test-bot: skip
2026-06-09 17:21:54 +02:00
Eberhard Beilharz
cea706c562
chore(web): address code review comments 2026-06-09 17:13:47 +02:00
Eberhard Beilharz
c1113ac21d
chore(web): address code review comments
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Also change a few places that I missed.
2026-06-08 19:27:12 +02:00
Eberhard Beilharz
15d020298e
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-06-08 18:14:25 +02:00
Eberhard Beilharz
f218aa92db
refactor(web): reformatting of files
Test-bot: skip
2026-06-03 19:51:44 +02:00
Eberhard Beilharz
d7439e68ac
chore(web): more improvements to documentation
- update text in `__control-by-control.html` sample
- some small updates to the text

Build-bot: skip
Test-bot: skip
2026-06-03 19:40:01 +02:00
Eberhard Beilharz
9ced04684a
chore(web): improve the KeymanWeb integration documentation
- replace use of `kmw` with `keyman`
- unify pattern to load keyboards: do it in `keyman.init().then()` instead
  of in the document `onload`

Part-of: keymanapp/keyman.com#449
Test-bot: skip
2026-06-03 19:37:08 +02:00
Marc Durdin
dec447f210 chore(web): disable .kmx baseline tests 2026-06-02 10:10:03 +02:00
Marc Durdin
29618fb943 chore: remove kmx-specific keyboard tests
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-06-02 08:26:21 +02:00
Marc Durdin
439bdce6b5
Merge branch 'chore/web-core-preflight' into chore/web-core-strip-core 2026-06-02 00:52:28 +10:00