Commit graph

140 commits

Author SHA1 Message Date
Eberhard Beilharz
d82fa81ef6
refactor(web): rename JS Keyboard class to JSKeyboard 2025-01-14 15:35:28 +01:00
Marc Durdin
e6cf6186c2 chore: Merge remote-tracking branch 'origin/epic/web-core' into chore/merge-master-into-web-core 2024-12-05 15:04:11 +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
fd629c574e
feat(core): rename core.js to km-core.js 2024-10-18 18:59:40 +02:00
Marc Durdin
9ebd1a9b0a
Merge branch 'epic/web-core' into chore/merge-master-into-web-core 2024-09-13 08:09:24 +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-bundling → common/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
165829beb5
Merge branch 'epic/web-core' into chore/merge-master-into-web-core 2024-08-30 15:17:47 +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
Eberhard Beilharz
13f052f766
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2024-08-26 14:49:54 +07:00
Eberhard Beilharz
0abc250af3
feat(web): POC of Core WASM integration into Keyman Web
- add temporary function to Core for this POC
- add new CoreProcessor to access Keyman Core WASM
- add unit tests for new core processor
- add code to KeymanEngine and InputProcessor to load the new CoreProcessor
- add web server to manual tests and new action `start` to build script

This change requires the manual tests to be loaded from a web server
instead of loaded as file, because otherwise the wasm code won't be
loaded.

Currently we always load CoreProcessor. This should be improved in a future
change to only load when it is actually needed.

Part-of: #11293
2024-08-20 22:45:39 +02:00
Eberhard Beilharz
170ac4bb6b
refactor(web): rename package-cache → keyboard-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-processor → keyboard
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-processor → js-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
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
Eberhard Beilharz
93eabd96ab
refactor(web): use substring instead of slice
This addresses code review comments which recommended to use `substring`
as this makes it more consistent with the rest of our code base.
2024-06-03 12:20:02 +02:00
Joshua A. Horton
d2987ac26f chore(web): Merge branch 'chore/web/partial-config-cleanup' into chore/web/remove-no-implicit-any 2024-06-03 11:57:33 +07:00
Eberhard Beilharz
3ee8359f8f
refactor(web): Replace deprecated substr with slice
Also add a comment to `SourcemappedWorker` explaining the difference
to `DefaultWorker`.
2024-05-31 11:27:55 +02:00
Joshua Horton
321ded4776
Merge pull request #11460 from keymanapp/chore/web/remove-unused-locals
chore(web): removes unused locals, imports, and private fields 🔩
2024-05-30 15:50:45 +07:00
Joshua Horton
294a616902
Merge pull request #11597 from keymanapp/fix/web/remove-dead-branches
fix(web): remove dead code-branches 🔩
2024-05-30 15:50:19 +07:00
Joshua A. Horton
6591c61eeb chore(web): enforces noImplicitAny for app/browser and app/webview 2024-05-29 10:43:11 +07:00
Joshua A. Horton
0b05766efb chore(web): removes web/ unused locals 2024-05-29 09:24:32 +07:00
Joshua A. Horton
fa2be938d9 fix(web): drops unused 'menuEvent' and associated dead branch 2024-05-29 08:48:01 +07:00
Joshua A. Horton
afed638baa fix(web): pre-init keyboard activation awaits init before proceeding 2024-05-23 08:49:42 +07:00
Marc Durdin
cd8121ef65 chore(common): builder scripts now use /resources/build/builder.inc.sh
Note: there is a bit of potential confusion about the difference between
/resources/builder.inc.sh (the full implementation for builder scripts),
and /resources/build/builder.inc.sh (the source script that builder
scripts should always use).

This allows us to make assumptions that will always be true for builder
scripts that may not be true for other scripts, such as setting base
folder.
2024-05-02 15:54:31 +07:00
Marc Durdin
0f390d47cc chore(common): maintenance on build scripts - cd
Fixes #11324.

* Always `cd "$THIS_SCRIPT_PATH"`
* Remove unnecessary `cd` from all build.sh
* Remove unnecessary `set -eu` from all build.sh (and `# set -x`)
* Replace old build-utils.sh incantation in a few build.sh scripts
2024-05-02 15:54:29 +07:00
Joshua A. Horton
4b1394a54f change(web): initializes OSK with keyboard if available during init
This prevents unnecessary construction of a stand-in touch layout and related DOM initialization on touch devices when fully leveraged.
2024-04-05 13:07:15 +07:00
Marc Durdin
edfed74c62 fix(web): update import for isEmptyTransform 2024-03-27 11:48:26 +07:00
Marc Durdin
70836b40cf
chore: Apply suggestions from code review
Co-authored-by: Joshua Horton <joshua_horton@sil.org>
2024-03-27 13:03:35 +11:00
Marc Durdin
a54053bec6 fix(web): prevent layer switch key from erasing selection
Fixes #7866.

When the transform generated by a key event results in no changes to the
text, this will no longer trigger a change event in the apps. This means
that layer switch keys will no longer erase the selection.

Fix proposed by @jahorton.
2024-03-21 10:08:23 +07:00
jahorton
4b11a5d319 fix(ios): selection range sync for long contexts 2024-03-06 15:17:36 +07:00
Joshua A. Horton
0fcbb84dfa fix(web): context save-state on reset 2024-02-28 10:15:37 +07:00
jahorton
d2719f028e docs(web): a few comments 2024-02-15 14:22:18 +07:00
jahorton
9bc01bee5f fix(ios): multitaps following a context-window slide 2024-02-15 13:54:16 +07:00
jahorton
9d7549cd91 fix(ios): context synchronization after new paragraph 2024-02-15 10:49:46 +07:00
jahorton
7deb89879c fix(ios): adds lazy context resync on textDocumentProxy window jump 2024-02-05 15:29:07 +07:00
Joshua A. Horton
68d97b4535 chore(android): Merge branch 'master' into fix/android/hardware-mnemonic-mapping 2024-01-23 10:35:16 +07:00
Joshua A. Horton
e6a2f9f083 fix(android): hardware keystrokes now include mnemonic processing 2024-01-22 08:57:00 +07:00
Joshua A. Horton
2296c9f4f4 change(web): inlined srcmaps only for debug, not release 2024-01-17 12:02:27 +07:00
Joshua A. Horton
5a0a79e93b chore(web): inlines app/webview sourcemap b/c Android WebView inspection reqt 2024-01-17 11:38:02 +07:00
Joshua A. Horton
670cb5f070 chore(web): Merge branch 'feat/web/es6-target-artifact' into feat/web/webview-es6-target-artifact 2023-12-22 13:02:11 +07:00
Joshua A. Horton
d554a0046f chore(web): Merge branch 'refactor/web/common-esbundling' into change/web/build-bundler-replacement 2023-12-22 12:54:53 +07:00