Commit graph

5689 commits

Author SHA1 Message Date
Eberhard Beilharz
1eb58c4ef8
chore(web): fire keyboardloaded event only once per keyboard
Previously we fired `keyboardloaded` twice for each loaded keyboard.
This change fixes this.

Fixes: #16292
Build-bot: skip build:web
Test-bot: skip
2026-08-03 17:50:11 +02:00
Eberhard Beilharz
21f744f44a
Merge pull request #16286 from keymanapp/refactor/web/contextManager
refactor(web): adjust function visibility and variable names
2026-07-30 15:51:50 +02:00
Eberhard Beilharz
8cad000e11
Merge pull request #16285 from keymanapp/chore/web/updateHelpLinks
chore(web): update help links to use latest version

This updates three in-code help links to point to `current-version` instead of an outdated version page.
2026-07-27 15:38:57 +02:00
Eberhard Beilharz
d9f572f92d
refactor(web): adjust function visibility and variable names
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
The functions are only used inside of the class, so this change makes
them private. Also update some variable names.

Test-bot: skip
2026-07-27 14:17:33 +02:00
Eberhard Beilharz
76058bcc52
chore(web): update help links to use latest version
This updates three in-code help links to point to `current-version`
instead of an outdated version page.

Build-bot: skip
Test-bot: skip
2026-07-27 13:22:04 +02:00
Eberhard Beilharz
f6eec08a66
fix(web): ignore exception trying to access cookie
This change works around the problem where third-party cookies are
blocked when using the keymanweb bookmark by ignoring the exception.
The cookie is used to store a previous state; if we ignore the exception
the user will always get the initial state of the keyboard, but at
least the bookmark is usable.

Fixes: #keymanapp/r.keymanweb.com/9
Build-bot: skip build:web
Test-bot: skip
2026-07-27 10:07:17 +02:00
Marc Durdin
8d533da167
Merge pull request #16225 from keymanapp/docs/web/typos
docs(web): fix typos following #16170
2026-07-20 10:32:34 +10:00
Marc Durdin
3852d354f7
Merge pull request #16221 from keymanapp/chore/web/stubAndKeyboardCacheScope
chore(web): declare scope for stubAndKeyboardCache members
2026-07-14 21:22:09 +10: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
Marc Durdin
b25005b7db docs(web): fix typos following #16170
Test-bot: skip
Build-bot: skip
Follows: #16170
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2026-07-11 09:23:20 +02:00
Marc Durdin
0d8e6ae929
Merge pull request #16171 from keymanapp/docs/web/16169-cleanup
docs(web): cleanup of index pages and page titles
2026-07-11 17:14:59 +10:00
Marc Durdin
07daf94555
Merge pull request #16170 from keymanapp/fix/web/16144-define-interfaces-for-imes-in-base
fix(web): define IME interfaces in `KeyboardInterfaceBase`
2026-07-11 00:25:31 +10:00
Marc Durdin
83328c904b fix(web): ensure onmouseleave does not crash if mouseEnterPromise is not set 2026-07-10 15:32:56 +02:00
Marc Durdin
4ab67f5812
Merge pull request #16127 from keymanapp/fix/developer/15217-resync-model-after-device-switch
fix(web): resync model in `set osk()` (as used by Server)
2026-07-09 18:50:11 +10: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
Marc Durdin
34c6beb958
Merge pull request #16176 from keymanapp/chore/16172-remove-deprecated-html-metas
chore: remove deprecated "X-UA-Compatible" and "apple-mobile-web-app-capable" metas
2026-07-08 22:34:00 +10:00
Marc Durdin
c9bfc87828
Merge pull request #16174 from keymanapp/refactor/web/16168-ui-remove-keymanweb-variable
refactor(web): rename `keymanweb` to `keyman` in UI modules
2026-07-08 22:33:48 +10: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
Marc Durdin
db881049e1 fix(developer): move osk banner resync from Server frontend to Web set osk
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
After review, it is better to do the sync of the model banner in
KeymanWeb `set osk()` than in the client of the API. The client should
be able to assign a new OSK and have it "just work" without needing to
attach things to it.

Fixes: #15217
2026-07-02 14:55:46 +02:00
Marc Durdin
a1bd0987a8
Merge branch 'master' into fix/web/16144-define-interfaces-for-imes-in-base
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-07-02 22:00:39 +10:00
Joshua Horton
824925a387
Merge pull request #16136 from keymanapp/fix/ios/load-via-scheme-handler 2026-07-01 21:57:37 +07: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
Marc Durdin
e6d86d7e04 refactor(web): rename keymanweb to keyman in UI modules
The variable name `keymanweb` used in the UI modules is confusing
because `KeymanWeb` also exists and points to something else. Rename to
`keyman` which just mirrors `window.keyman`.

Also fixup type declaration for toolbar `lastDismissalCallback`, which
did not match the assigned type.

Fixes: #16168
Test-bot: skip
2026-07-01 09:18:11 +02:00
Marc Durdin
d527e3739e docs(web): cleanup of index pages and page titles
Fixes: #16169
Test-bot: skip
2026-07-01 08:06:26 +02:00
Marc Durdin
0fc869faa4 fix(web): define IME interfaces in KeyboardInterfaceBase
Ensure that the IME interface methods are all defined for both browser
and webview modes. Deprecate 'Element' methods and replace with
'TextStore' to clarify return type. Add deprecation flags where needed
and update documentation accordingly.

Fixes: #16144
2026-07-01 07:43:08 +02:00
Eberhard Beilharz
a2150b17bf
Merge pull request #16108 from keymanapp/test/web/guide-examples
test(web): add e2e tests for examples from guide
2026-06-29 17:29:59 +02:00
Eberhard Beilharz
b805f66177
chore(android): address code review comment 2026-06-29 17:08:24 +02:00
Joshua Horton
eea463b18b fix(web): set proper font path for doc-keyboards 2026-06-29 09:38:03 -05:00
Marc Durdin
c2d72b7a03 fix(web): revert regression in setting activeKeyboard in set osk
Fixes: #16155
Test-bot: skip
2026-06-29 15:40:05 +02:00
Joshua Horton
b3ee271aee fix(ios): load host page, keyboards through a consistent WKURLSchemeHandler
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
This bypasses any need to modify KMW keyboard loading (say, via .fetch), though it does require a number of collateral changes to be made in order for CORS, etc to be satisfied.

Build-bot: skip build:ios
2026-06-26 14:37:11 -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
046100a5f8
Merge pull request #16067 from keymanapp/fix/web/validateForCustomKeyboard
fix(web): fix `KeyboardStub.validateForCustomKeyboard`

This change fixes a misleading error message in `validateForCustomKeyboard` - `KR` is not the region as the error implies - furthermore it doesn't make sense to check `KR` since it is the optional   [keyboard registration function](https://help.keyman.com/developer/engine/web/18.0/reference/interface/registerKeyboard),   so this change removes it.
2026-06-10 12:44:41 +02:00
Eberhard Beilharz
623a73242c
Merge pull request #16086 from keymanapp/chore/web/cleanup
chore(web): remove outdated `*_load.js` files

This change removes unused `*_load.js` files and inlines the code from `laokeys_load.js`. Current Keyman versions no longer produce _load.js files when compiling a keyboard, so these files were pretty outdated.
2026-06-10 08:14:07 +02:00
Eberhard Beilharz
0539582012
Merge pull request #16085 from keymanapp/docs/web/keyman17
docs(web): remove unnecessary mentioning of Keyman 17 from docs

Some pages were mentioning Keyman 17 although the content applies to newer versions as well. This change therefore removes the version number from those places.
2026-06-10 08:13:38 +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
Eberhard Beilharz
9733ea4211
chore(web): remove outdated *_load.js files
This change removes unused `*_load.js` files and inlines the code from
`laokeys_load.js`. Current Keyman versions no longer produce _load.js
files when compiling a keyboard, so these files were pretty outdated.

Build-bot: skip build:web
Test-bot: skip
2026-06-09 18:42:47 +02: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
a16e9b7f59
docs(web): remove unnecessary mentioning of Keyman 17 from docs
Some pages were mentioning Keyman 17 although the content applies to
newer versions as well. This change therefore removes the version
number from those places.

Build-bot: skip
Test-bot: skip
2026-06-09 18:16:59 +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
1849286ace
chore(web): restore intended behavior of control-by-control example
Pending the fix for #16080.
2026-06-09 18:07:07 +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
cf3d87d2f3
chore(web): update sample doc to match sample html
The guide examples load `keymanweb.js` from the CDN, but the documentation
explaining the examples showed loading local file. This change adjusts
the docs to show loading from CDN.

Built-bot: skip
Test-bot: skip
2026-06-09 17:11:58 +02:00
Eberhard Beilharz
135de352c4
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-06-09 17:11:43 +02:00
Eberhard Beilharz
c31cbecce1
Merge pull request #16066 from keymanapp/refactor/web/reformatting
refactor(web): reformatting of files
2026-06-09 14:38:32 +02:00
Eberhard Beilharz
4b7379c61a
Merge pull request #16063 from keymanapp/refactor/web/refactorings
refactor(web): extract function, rename variables
2026-06-09 08:44:27 +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