Commit graph

5630 commits

Author SHA1 Message Date
Eberhard Beilharz
a7b9d5da5a
fix(web): fix displaying of keyboard menu
The recent partial merge of epic/web-core missed some code that causes
the keyboard menu to work. This change re-applies those changes.

Test-bot: skip
2026-06-02 18:29:03 +02:00
Eberhard Beilharz
e21f2020d0
Merge pull request #16042 from keymanapp/fix/web/16041_displaymenu
fix(web): fix race displaying active keyboard in menu
2026-06-02 15:28:19 +02:00
Eberhard Beilharz
f827936362
fix(web): fix race in kmwuifloat.ts as well 2026-06-02 12:15:12 +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
Eberhard Beilharz
3cb59e3cf9
fix(web): fix race displaying active keyboard in menu
Fixes: #16041
Build-bot: skip release:web
Test-bot: skip
2026-06-01 17:51:42 +02:00
Marc Durdin
bf1e272d17 chore: remove commented code
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-06-01 16:56:00 +02:00
Marc Durdin
ee8e3e8664 chore: remove keymancore.d.ts 2026-06-01 16:54:45 +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
Marc Durdin
bb66bf42f0
Merge branch 'chore/web-core-preflight' into chore/web-core-strip-core 2026-06-02 00:48:52 +10:00
Marc Durdin
fc82f28b2d chore(web): web-core preflight - strip core references
In order to maintain roughly the current build artifact size, strip out
the unfinished core integration from what we merge with preflight.

Test-bot: skip
Build-bot: release:android,ios,developer,web
2026-06-01 14:44:45 +02:00
Marc Durdin
691ee626b5
Merge branch 'chore/web-core-preflight-replay-15888-kbdDetails' into chore/web-core-preflight-replay-15899-15894_test-index
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-06-01 16:11:20 +10:00
Marc Durdin
543dd5f3f7
Merge branch 'chore/web-core-preflight-replay-15887-renames' into chore/web-core-preflight-replay-15888-kbdDetails
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-06-01 16:11:13 +10:00
Marc Durdin
7d734fef6e
Merge branch 'chore/web-core-preflight-replay-15856-cleanup' into chore/web-core-preflight-replay-15887-renames
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-06-01 16:11:08 +10:00
Marc Durdin
0044a69fe5
Merge branch 'chore/web-core-preflight-replay-15858-squiggles' into chore/web-core-preflight-replay-15856-cleanup
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-06-01 16:11:00 +10:00
Marc Durdin
56bdc83863
Merge branch 'chore/web-core-preflight-replay-15949-15895_WindowsTc' into chore/web-core-preflight-replay-15858-squiggles
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-06-01 16:10:55 +10:00
Eberhard Beilharz
79fdadc87f chore(web): use .d.ts instead of .d.js for types
The convention is to use the `.d.ts` extension for typescript types, and
that's what is used elsewhere in the `package.json` file. This change
fixes the two instances that had `.d.js`.
2026-05-29 12:02:20 +02:00
Eberhard Beilharz
9423ee504f chore(web): cleanup web/src/app/browser/src/test-index.ts exports
The export of `test-index.ts` were intended to be used by tests only,
but over time they contained also exports that were consumed else where,
e.g. in UI classes like `kmwuibutton.ts`. This change removes unused
exports, moves test-only classes to a `unitTestEndPoints` container and
marks test-only types with `@internal`.

Build-bot: skip build:web
Test-bot: skip
2026-05-29 12:02:19 +02:00
Eberhard Beilharz
d2f9e39c3e refactor(web): use KeyboardDetails type 🧼
PR #15856 introduced the `KeyboardDetails` type but overlooked the use in
one file.

Follow-up-of: #15856
Follows: #15887
Build-bot: skip build:web
Test-bot: skip
2026-05-29 12:00:17 +02:00
Eberhard Beilharz
904fa97198 refactor(web): address code review comment
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-05-29 11:59:56 +02:00
Eberhard Beilharz
689f664ea0 refactor(web): rename variables and parameter names in KeymanEngine 🧼
Build-bot: skip build:web
Test-bot: skip
2026-05-29 11:59:55 +02:00
Eberhard Beilharz
b5be1d45f0 chore(web): address code review comments 2026-05-29 11:59:33 +02:00
Eberhard Beilharz
bc8a4b6f43 refactor(web): cleanup return types in KeymanEngine
This change explicitly specifies the return types and access for the
functions in KeymanEngine. Also introduce `KeyboardDetails` instead of
`ReturnType<>`.

Test-bot: skip
2026-05-29 11:59:32 +02:00
Eberhard Beilharz
0d266cf873 chore(web): fix red squiggles in .ts test files in vscode
VSCode shows red squiggles under things like `describe` or `it` in
.ts test files for web. This change adds the types to the `tsconfig.json`
file which fixes this problem.

Build-bot: skip build:web
Test-bot: skip
2026-05-29 11:59:04 +02:00
Eberhard Beilharz
6af638b9a8 maint(web): fix starting local dev server for e2e tests
Starting the local dev server before running the e2e tests with
`web/build.sh start` didn't work on Windows. This change now directly
calls `node` to start the server which seems to work cross-platform.

Fixes: #15895
Build-bot: skip build:web
Test-bot: skip
2026-05-29 11:57:28 +02:00
Eberhard Beilharz
81bae574b9 maint(web): output name of TC reporter
This change outputs the name of the TC reporter used for a test. This
will help in troubleshooting.

Build-bot: skip build:web
Test-bot: skip
2026-05-29 11:57:27 +02:00
Marc Durdin
9f75726344 chore(web): Merge branch 'master' into chore/web-core-preflight 2026-05-28 13:47:36 +02:00
Eberhard Beilharz
d3269fa247
Merge pull request #16021 from keymanapp/refactor/web/docs
docs(web): reformat and small fixes
2026-05-28 10:31:54 +02:00
Eberhard Beilharz
f61ad57544
refactor(web): don't wrap in the middle of links
Addresses code review comment.
2026-05-28 10:28:40 +02:00
Eberhard Beilharz
78ea935fe5
docs(web): reformat and small fixes
- rewrap lines
- change http:// to https://

Build-bot: skip
Test-bot: skip
2026-05-27 19:55:36 +02:00
Eberhard Beilharz
748ad4aa01
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
2026-05-27 19:34:09 +02:00
Marc Durdin
6a98a39b8a
Merge branch 'master' into chore/web-core-preflight 2026-05-27 22:37:12 +10:00
Eberhard Beilharz
3c11eae964
chore(web): remove obsolete file
This change removes a file that is no longer needed. The link is
redirected to keyman.com, so it's kind of pointless to keep it around.

Build-bot: skip
Test-bot: skip
2026-05-27 11:59:43 +02:00
Marc Durdin
49a2887c24
Merge branch 'epic/web-core' into feat/web/varStoresCleanup
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-04-18 01:29:29 +10:00
Marc Durdin
b15f9548ef chore(web): add ref to headless-resources 2026-04-17 17:26:16 +02:00
Marc Durdin
50139a0ebd refactor(web): eliminate nullable variableStoreSerializer code paths
To reduce the number of possible failure cases within KeymanWeb,
require variableStoreSerializer to always be initialized. This impacts
only unit tests in practice. There remains a unit test special case in
the variable store code itself which needs to be removed in the future.

Create a mock VariableStoreTestSerializer class so that unit tests can
run without impacting state or requiring cookies. (We should leverage
this in future tests to verify that variable stores are saved
correctly.)

Establish keyman/test/headless-resources, so that we can include shared
resources such as VariableStoreTestSerializer without creating a
dependency on either DOM or Node.
2026-04-17 15:36:11 +02:00
Eberhard Beilharz
6677c2b198
refactor(web): address code review comments
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-04-17 14:49:10 +02:00
Marc Durdin
2cffc57eb1 chore(web): cleanup variable store interfaces for web-core 2026-04-17 12:59:04 +02:00
Marc Durdin
d6c2b213ee
Merge branch 'epic/web-core' into feat/web/varStoresCleanup 2026-04-17 20:44:06 +10:00
Marc Durdin
7df5b94cc2 refactor(web): simplify VariableStore type
Remove the unnecessary nested set patterns for `VariableStore` and
rename the type to `VariableStores` to match its actual use.
2026-04-17 12:08:58 +02:00
Eberhard Beilharz
115ab18d71
refactor(web): add abstract Keyboard base class
Also rename `JSKeyboardData` → `KeyboardData`.

Test-bot: skip
2026-04-16 22:18:08 +02:00
Eberhard Beilharz
bbad490154
maint(web): cleanup imports
For the files touched in this PR:

- fix the order of the imports according to style guide
- use `node:` prefix for node modules
- add header
2026-03-23 15:43:17 +01:00
Eberhard Beilharz
06f7f22cd0
maint(web): address more code review comments
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-03-23 15:43:17 +01:00
Eberhard Beilharz
745fa36d24
chore(web): Merge branch 'epic/web-core' into maint/web/jstests
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-03-20 18:03:47 +01:00
Eberhard Beilharz
1d9b8cc883
maint(web): address code review comments
- inline consts so that we don't have to export them for unit testing
- create `getKeymanRoot` and `getWebTestResourcesPath` helper functions
  to DRY out the code
- run `languageProcessortests.js` without coverage to prevent a failure
  creating the coverage report.
2026-03-20 15:53:41 +01:00
Marc Durdin
6c6780aa28
Merge pull request #15748 from keymanapp/auto/A19S24-merge-master-into-web-core
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
auto: A19S24 merge master into web-core 🎼
2026-03-17 15:29:10 +11:00
Marc Durdin
59a12fd2cb maint(web): downgrade playwright to 1.46.1
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Failing builds on webkit tests on Ubuntu, going back to 'known good'
version for now.
2026-03-16 17:00:43 +01:00
Marc Durdin
2c3b03c78b maint(web): use gosh to execute web server in e2e tests
Fixes: #15758
Test-bot: skip
2026-03-16 16:29:51 +01:00
Marc Durdin
70c54b0b40 chore: Merge branch 'epic/web-core' into auto/A19S24-merge-master-into-web-core
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-03-16 04:49:38 +01:00
Marc Durdin
659e85033a
Merge pull request #15665 from keymanapp/maint/developer/test-callbacks-cleanup
maint(developer): make `TestCompilerCallbacks` usage more consistent and simplify
2026-03-06 21:00:39 +07:00