chore(web): fix e2e tests 🍪
The Playwright tests occasionally failed complaining about `Page` and `Locator` not being defined. The solution is to import them as types.
The test failures probably happened when running the tests with a node version > 20.16.0.
feat(web): add CookieSerializer.loadAllMatching function 🍪
- rename tests from `cookies.tests.ts` → `cookieSerializer.tests.ts`
- add test for new function
Part-of: #13426
The Playwright tests occasionally failed complaining about `Page`
and `Locator` not being defined. The solution is to import them as
types.
Test-bot: skip
maint(common): fix build when using different default node version
Currently automatically setting the node version (by setting the `KEYMAN_USE_NVM` env variable) is kind of broken on Linux because it still requires to put `~/.keyman/node` on the PATH. This basically limits us to the node version Keyman needs.
This change checks the path variable and adds `~/.keyman/node` if necessary. This allows to not have that on the path, thus allowing to use different node versions outside of Keyman, but still allows Keyman to build with the node version it needs.
maint(linux): remove EOL Ubuntu 25.04 Plucky
Support for Ubuntu 25.04 Plucky ends on 15th January 2026 after which it is no longer possible to upload and build on Launchpad. This change removes Plucky.
Fixes: #14955
Support for Ubuntu 25.04 Plucky ends on 15th January 2026 after which
it is no longer possible to upload and build on Launchpad. This change
removes Plucky.
Fixes: #14955
Test-bot: skip
Currently automatically setting the node version (by setting the
`KEYMAN_USE_NVM` env variable) is kind of broken on Linux because it
still requires to put `~/.keyman/node` on the PATH. This basically
limits us to the node version Keyman needs.
This change checks the path variable and adds `~/.keyman/node` if
necessary. This allows to not have that on the path, thus allowing to
use different node versions outside of Keyman, but still allows Keyman
to build with the node version it needs.
Test-bot: skip
refactor(web): remove some aliases
This is a follow-up of review comments in #15401.
- rename `DefaultWorker` (in `web` subfolder) → `WebWorker`
- rename `Worker` (in `node` subfolder) → `NodeWorker`
- rename `BUTTON_CLASSES` → `buttonClassNames`
All exports now also match the filenames.
Follow-up-of: #15401
Addresses code review comment: `Worker` is a generic and semi-reserved
name that we should not be stepping on.
This renames it to `WebWorker` instead of the suggested `LMWorker` or
`PredictiveTextWorker`. `WebWorker` is a name that was already used
in a few places and seems to better match: there is a corresponding
class for running with node. Naming it `WebWorker` makes it clearer
that this is the corresponding class when running in the browser.
The corresponding class for running under node was renamed to `NodeWorker`.
Test-bot: skip
This is a follow-up of review comments in #15401.
- rename `DefaultWorker` → `Worker`
- rename `BUTTON_CLASSES` → `buttonClassNames`
Both exports now also match the filename.
Follow-up-of: #15401
Test-bot: skip