Commit graph

237 commits

Author SHA1 Message Date
Joshua Horton
2c1c46e0dd feat(web): add Web engine support for auto-reverting whitespace appended to Suggestions on punctuation input
Relates-to: #7163
Relates-to: #12013

This does not outright _fix_ them because we still need to add the ability
to set language-specific punctuation mark sets within the model, and the
model needs to use those to return an appropriate configuration.  (This
commit sets defaults that are English-centric and do not generalize to
all languages.)
2025-08-15 11:54:10 -05:00
Joshua Horton
ca1205ad39 refactor(web): refactor reconstruction of transitions for reverted suggestions 2025-08-15 10:21:26 -05:00
Joshua Horton
dc9276979e change(web): cache context transition objects, not just context state 2025-08-14 14:22:25 -05:00
Joshua Horton
891bcaa3ef Merge branch 'epic/autocorrect' into chore/merge-master-into-autocorrect 2025-08-14 12:26:50 -05:00
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
Joshua Horton
f264fca881 change(web): split suggestion transforms into main-body + appended (whitespace) transforms 2025-07-21 15:57:28 -05:00
Marc Durdin
31c55159c3
Merge branch 'epic/autocorrect' into chore/merge-master-into-autocorrect 2025-05-30 08:23:56 +07:00
Marc Durdin
48d61b9b03
Merge branch 'epic/autocorrect' into chore/merge-master-into-autocorrect 2025-05-16 12:12:05 +07:00
Eberhard Beilharz
29b6eaf630
refactor(web): rename generic type variables
This change renames the generic type variables in `KeymanEngineBase`
to make it clearer that they are generic types rather than the actual
types.
2025-05-15 17:02:35 +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
19021f1419 change(web): address engine/main linter errors 2025-04-29 11:30:30 +07:00
Joshua Horton
dc450cde9e chore(web): finalize removal of side-effect KMWString implementation 2025-04-22 11:40:57 +07:00
Joshua Horton
70c1920854 refactor(web): refactor _kmwSlice, _kmwSubstr, _kmwSubstring 2025-04-22 11:40:57 +07:00
Joshua Horton
418f3d6aec chore(web): update all Web engine uses of kmwLength, kmwCodePointToCodeUnit, kmwCodeUnitToCodePoint 2025-04-22 10:17:07 +07:00
Marc Durdin
0db2d7b7d6
Merge branch 'epic/autocorrect' into chore/merge-master-into-autocorrect 2025-03-31 12:13:34 +07:00
Joshua Horton
71df37930f
Merge pull request #13360 from keymanapp/feat/web/gesture-error-traces
feat(web): adds gesture 'traces' for warning/error logging
2025-03-19 08:13:48 +07:00
Joshua Horton
a015fd0296 change(web): context-state logging now oldest to most recent
The gesture traces themselves, within their indentation, maintain stacktrace-style ordering.
2025-03-18 14:19:37 +07:00
Joshua Horton
76a5e067e9 fix(web): unload and load should use consistent, canEnable check
Fixes: #13512
Fixes: KEYMAN-WEB-QD
2025-03-18 14:07:07 +07:00
Marc Durdin
29f0a20898
Merge branch 'epic/autocorrect' into chore/merge-master-into-autocorrect 2025-03-14 10:57:26 +07:00
Joshua Horton
94827b52b2 feat(web): adds gesture 'traces' for warning/error logging
To facilitate debugging cases where gestures don't work as intended, this adds sanitized logging for keystrokes resulting for gestures.  These are only to be output when a relevant error or warning is emitted.

This is primarily being added to facilitate investigation of #13344.
2025-02-27 12:50:35 +07:00
Joshua Horton
0a8c99e322
Merge pull request #13291 from keymanapp/fix/web/engine-main-headless-tests
fix(web): reconnect, patch up engine/main headless unit tests
2025-02-25 08:17:48 +07:00
Joshua Horton
72a9e8b8fe fix(web): fix up applied suggestion - properly "fill in" Worker type 2025-02-24 13:06:17 +07:00
Joshua Horton
accdb3752e
change(web): apply focused try-catch suggestion from review
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-02-24 09:15:50 +07:00
Joshua Horton
3d879ed295 docs(web): remove outdated comment in engine/main/build.sh 2025-02-21 08:16:21 +07:00
Joshua Horton
94df946b0e fix(web): reconnect, patch up engine/main headless unit tests 2025-02-20 12:13:11 +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
Marc Durdin
74db3c9833
Merge branch 'epic/autocorrect' into chore/merge-master-into-autocorrect 2025-01-30 18:50:17 +07:00
Joshua Horton
e97cd3094f fix(web): disabled correction state should prevent predictive corrections
Fixes: #12214
2025-01-29 10:12:53 +07:00
Joshua A. Horton
b299cecaaf change(web): re-enable autocorrect in Web 2025-01-15 12:02:02 +07:00
Eberhard Beilharz
94cf821a4d
feat(web): add KeymanWeb API for auto-correct
Part-of: #12203
2025-01-06 17:41:22 +01: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
c3e587193e
refactor(web): move model/types to web/types
Part-of: #12133
2024-09-09 19:59:01 +02:00
Joshua Horton
f6c21874d7
Merge pull request #12220 from keymanapp/fix/web/disabling-fatfinger-data
fix(web): disable fat-finger data use when mayCorrect = false
2024-08-21 14:51:08 +07:00
Joshua Horton
9d9a091651
Merge pull request #12188 from keymanapp/refactor/web/drop-interface-jsproc-dependency 2024-08-20 07:01:59 +07:00
Joshua A. Horton
98d5322e51 fix(web): disable fat-finger data use when mayCorrect = false 2024-08-19 12:53:51 +07:00
Eberhard Beilharz
b9aa9ccd8c
refactor(web): move predictive-textworker-main
This moves `common/predictive-text/` →
`web/src/engine/predictive-text/worker-main/`.

This also moves `common/test/predictive-text/` →
`web/src/test/manual/predictive-text/`. Note though that this testing
tool is still broken.

Fixes: #12134
2024-08-15 12:26:50 +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
Joshua A. Horton
2938ee110b refactor(web): remove engine/interfaces dependency on engine/js-processor 2024-08-15 10:12:27 +07: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