Commit graph

426 commits

Author SHA1 Message Date
Marc Durdin
2726050601 maint(common): rename and move node-related script functions into node.inc.sh
Consolidates the node-related script functions into node.inc.sh, as part
of cleaning up the build scripts and making them easier to maintain into
the future.

Fixes: #14447
2025-08-02 13:34:29 +10:00
Marc Durdin
f394245636 maint(common): consolidate builder scripts
Clarifies the confusing builder.inc.sh / build-utils.sh distinction by
giving the scripts more appropriate names. Most build scripts should use
builder-full.inc.sh; some helper scripts can use builder-basic.inc.sh.
Documented in resources/build/README.md.

Renames:
* resources/build/builder.inc.sh to resources/build/builder-full.inc.sh
* resources/build/build-utils.sh to resources/build/builder-basic.inc.sh

Other changes:
* Moves Android-specific functions out of builder-basic.inc.sh and into
  android/build.sh.
* Renames functions in builder-basic.inc.sh

More functions may be moved from builder-basic.inc.sh into utils.inc.sh
or other scripts in the future.

Fixes: #14065
Build-bot: build all
Test-bot: skip
2025-08-02 08:11:24 +10:00
Marc Durdin
65158a0526 maint(common): rename shellHelperFunctions.sh to utils.inc.sh
Adds documentation for various functions, removes unused functions (a
couple of simple, very lightly used functions were unDRYed; these could
go back the other way across all shell scripts if necessary). TODO items
noted for follow-up refactoring.

Fixes: #14275
Relates-to: #14269
Build-bot: build all
Test-bot: skip
2025-08-02 06:58:40 +10:00
Eberhard Beilharz
dba5108989
chore(web): mark some private methods as being private 2025-05-23 17:45:09 +02:00
Eberhard Beilharz
a3e919f4ac
chore(web): cleanup async methods in UI components
Cherry-pick of changes in #12291. Addresses code review comment.

Test-bot: skip
2025-05-22 19:15:54 +02:00
Eberhard Beilharz
7a162942aa
refactor(web): rename base KeymanEngine to KeymanEngineBase
(cherry picked from commit bd1c610d65)
2025-05-15 16:48:10 +02:00
Eberhard Beilharz
f80b3f9c13
refactor(web): rename HardKeyboard to HardKeyboardBase 2025-05-15 16:38:12 +02:00
Joshua Horton
1438704ee0
Merge pull request #13819 from keymanapp/maint/web/use-builder_is_ci_build
chore(web): replace --ci flag with builder_is_ci_build
2025-05-06 08:16:37 +07:00
Joshua Horton
cb5e3035a7 chore(web): replace --ci flag with builder_is_ci_build
Fixes: #12640
2025-05-02 09:39:39 +07:00
Joshua Horton
16fb2fef49 Merge branch 'chore/web/add-string-handling-unit-tests' into refactor/web/eliminate-kmwstring-side-effects 2025-04-30 08:57:36 +07:00
Joshua Horton
4762429e96 change(web): address app/ui linter errors 2025-04-29 11:40:19 +07:00
Joshua Horton
da138b098d change(web): address app/browser linter errors 2025-04-29 11:38:08 +07:00
Joshua Horton
241f9655f2 change(web): address app/webview linter errors 2025-04-29 11:32:35 +07:00
Joshua Horton
418f3d6aec chore(web): update all Web engine uses of kmwLength, kmwCodePointToCodeUnit, kmwCodeUnitToCodePoint 2025-04-22 10:17:07 +07:00
Joshua Horton
8a5c49c585 change(web): keyman-page-trailer -> kmw-page-trailer in order to match common prefix 2025-04-02 13:45:09 +07:00
Joshua Horton
cd322340df change(web): add unique classname to mobile-device page-trailer element
Addresses, but does not fix, #13588.

This change provides a simple classname to the page-trailer element Keyman Engine for Web adds to pages when in mobile mode.  This "page trailer" was originally added so that the on-screen keyboard does not hide important elements near the bottom of the page when visible.  That said, we have gotten site-designer complaints about it; exposing a way for site-designers to retrieve it in queries and/or customize its properties will provide a reasonable workaround for such cases.
2025-04-01 11:45:46 +07:00
Joshua Horton
5db10ea436
Merge pull request #13331 from keymanapp/fix/web/init-should-not-cookie-default
fix(web): prevent cookie-default behavior from mangling engine init
2025-02-26 09:29:54 +07:00
Joshua Horton
f3946ffc76 fix(web): prevent cookie-default behavior from mangling engine init
Fixes: #13278

The fallback default keyboard corresponding to an uninitialized cookie is `Keyboard_us:en`.   This should only occur if the site actually registers its stub before initialization - and we weren't checking/filtering for this properly.

The error itself only occurred if there _were_ stubs pre-registered before init - if none existed, the error does not result.
2025-02-24 12:37:09 +07:00
Joshua Horton
baf2150542 fix(web): properly support workerless use of Web engine
Fixes: #13262
Fixes: KEYMANWEB-COM-1VH
2025-02-20 12:06:28 +07:00
Joshua Horton
94023cd692 fix(web): provide informative error + message when loading UI without the engine
Fixes: #13261
2025-02-18 09:47:17 +07:00
Joshua Horton
b2598e76ba chore(web): fix coverage-reporting artifact
Fixes: #13195
2025-02-12 15:56:54 +07:00
Joshua Horton
5b4df8e47d change(ios): set host-app bundle identifier in embedded Web debug-report 2025-01-31 14:42:15 +07:00
Joshua Horton
6353eccf59 fix(web): add null guard for focusing next element via keystroke
Fixes: #13011
Fixes: KEYMAN-COM-1MB
Fixes: KEYMAN-COM-1EM
2025-01-24 13:25:14 +07:00
Marc Durdin
b10634eb97 refactor(common): move all lexical model types into LexicalModelTypes container
Many of the types had very generic names (e.g. `Configuration`), and as
the types are now exported from `@keymanapp/common-types`, this was
unhelpful.

For units with many references, I used TypeScript's import-equals to
reduce the change impact. For units with only a few references, I added
the `LexicalModelTypes.` prefix to the references in source.

(Best reference I could find for import-equals: b722fa4e49)

Fixes: #12516
2024-11-27 09:46:09 +07:00
Eberhard Beilharz
4f3a68494c
refactor(web): address code review comments 2024-10-10 09:09:17 +02:00
Eberhard Beilharz
3b9c6ef2e4
refactor(web): move KeyboardObject type to common/web/types
Fixes: #11612
2024-10-08 18:53:14 +02:00
Eberhard Beilharz
c5ded39fe0
docs(web): fix paths to several help pages 2024-09-30 18:49:43 +02:00
Eberhard Beilharz
f52a1209c8
refactor(web): merge device-detect with web/src/engine/main
This change moves `web/src/engine/device-detect/` →
`web/src/engine/main/` and renames the `Device` class to `DeviceDetector`.

Fixes: #12388
2024-09-11 16:48:15 +02:00
Eberhard Beilharz
d4a049f614
refactor(web): move to web/src/tools/es-bundling
Addresses code review comments.
2024-09-11 09:44:58 +02:00
Eberhard Beilharz
6553bd6233
refactor(web): move common/web/es-bundlingcommon/tools/es-bundling
Fixes: #12385
2024-09-10 18:57:42 +02:00
Eberhard Beilharz
c3e587193e
refactor(web): move model/types to web/types
Part-of: #12133
2024-09-09 19:59:01 +02:00
Eberhard Beilharz
dc66cddee5
docs(web): fix link to documentation page
The help page for `BuildVisualKeyboard` is under `core`, not `osk`.
2024-09-06 09:12:16 +02:00
Eberhard Beilharz
39f0d5b057
Merge pull request #12194 from keymanapp/refactor/web/12151_gestures
refactor(web): move `gesture-recognizer` → `gesture-processor` 🏗️
2024-08-29 09:16:42 +07:00
Joshua A. Horton
98a27925f4 chore(web): Merge branch 'master' into feat/web/utf8-charset-output 2024-08-27 10:20:25 +07:00
Joshua A. Horton
6276b1ecc3
fix(web): fixes build issue due to unreferenced --ci flag inclusion in app/browser build 2024-08-26 15:29:22 +07:00
Eberhard Beilharz
ea62ac23e7
refactor(web): move lm-workerworker-thread
Move `common/web/lm-worker/` →
`web/src/engine/predictive-text/worker-thread/`.

Fixes: #12148
2024-08-16 08:35:20 +02:00
Eberhard Beilharz
170ac4bb6b
refactor(web): rename package-cachekeyboard-storage
Move `web/src/engine/package-cache/` →
`web/src/engine/keyboard-storage/`.

Fixes: #12132
2024-08-15 12:26:10 +02:00
Eberhard Beilharz
89abdbd64c
refactor(web): move some files around
- move `outputTarget.ts` → `js-processor`
- move `deadkeys.ts` → `js-processor`
- move `stringDivergence.ts` → `js-processor`
- split `Mock` into `mock.ts`
- create `keyboard/outputTarget.interface.ts`
2024-08-14 19:06:32 +02:00
Eberhard Beilharz
73aa5afee3
Merge branch 'refactor/web/12067_js-processor' into refactor/web/12110_keyboard 2024-08-13 18:43:58 +02:00
Eberhard Beilharz
dedc18e156
refactor(web): move some files around
- move `systemStore.ts` → `js-processor`
- move `keyEventSource.interface.ts` → `osk`
- move `defaultRules.ts` → back to `keyboard-processor`
- in `KeyboardProcessor` pass `ruleBehavior` as parameter to `forAny`,
  looks like that accidentally got omitted previously

Addresses code review comments.
2024-08-13 18:26:00 +02:00
Eberhard Beilharz
46ecfd4466
refactor(web): move remaining parts of keyboard-processorkeyboard
move parts of `common/web/keyboard-processor/` →
`web/src/engine/keyboard/`.

Fixes: #12110
2024-08-12 19:40:15 +02:00
Eberhard Beilharz
c09c895333
refactor(web): move parts of keyboard-processorjs-processor
Move parts of `common/web/keyboard-processor/` →
`web/src/engine/js-processor/`.

Note this temporarily disable tests for keyboard-processor which depend on
js-processor, until #12110 is fixed.

Fixes: #12067
2024-08-08 18:25:03 +02:00
Joshua A. Horton
6f1d4374e9 feat(web): enable utf8 charset encoding for the build artifacts 2024-08-07 10:05:53 +07:00
Eberhard Beilharz
ebd2bf423a
Merge pull request #12072 from keymanapp/change/web/8146_moveCodes2
refactor(web): refactor and harmonize constants 🏗️
2024-08-06 09:06:31 +02:00
Eberhard Beilharz
2c2acbe863
refactor(web): refactor and harmonize constants
Note that this adds the keyCodes > 50000 to `USVirtualKeyCodes`.

Fixes: #8146
2024-08-01 20:36:43 +02:00
Eberhard Beilharz
ab5df20eef
chore(web): move web/src/engine/paths/web/src/engine/interfaces/
Fixes: #12035
2024-07-31 20:06:02 +02:00
Eberhard Beilharz
1389d40965
Merge branch 'master' into change/web/11878_remove-es5 2024-07-31 15:28:38 +02:00
Joshua A. Horton
cf47d5021b chore(web): Revert "change(web): initializes OSK with keyboard if available during init"
This reverts commit 4b1394a54f.
2024-07-25 12:08:32 +07:00
Eberhard Beilharz
afe25eda24
change(web): remove support for es5
Fixes: #11878
2024-07-04 20:49:30 +02:00
Eberhard Beilharz
d231cb045b
Merge pull request #11637 from keymanapp/refactor/web/deprecated
refactor(web): Replace deprecated substr with substring
2024-06-07 16:22:18 +02:00