Commit graph

33006 commits

Author SHA1 Message Date
Eberhard Beilharz
43ec5c28fa
Merge pull request #15220 from keymanapp/refactor/web/corekbdproctests
refactor(web): make core adapter and processor tests headless

Also improve Core Adapter to detect if we're running in a browser or on node.js and load the appropriate km-core module.

Follow-up-of: #13993
2025-11-27 13:09:41 +01:00
Eberhard Beilharz
9c97ee1d48
Merge pull request #15227 from keymanapp/docs/web/output 2025-11-25 08:58:37 +01:00
Eberhard Beilharz
cc12161d84
refactor(web): make core adapter and processor tests headless
Also improve Core Adapter to detect if we're running in a browser or on
node.js and load the appropriate km-core module.

Follow-up-of: #13993
Test-bot: skip
2025-11-24 17:27:44 +01:00
Eberhard Beilharz
0cd87ba898
docs(web): add comment why output() is on keyboard interface
Follow-up-of: #15190
Build-bot: skip
Test-bot: skip
2025-11-24 16:16:42 +01:00
Eberhard Beilharz
1e53d7413b
Merge pull request #15210 from keymanapp/refactor/web/testexports 2025-11-24 12:17:46 +01:00
Eberhard Beilharz
62a566cc6b
Merge pull request #15190 from keymanapp/refactor/web/gettingTextStore
refactor(web): simplify `insertText`

Getting the textStore was done twice, without the second time changing the result. Additionally, `insertText` in the super class also gets the active text store and returns false if it is not set. This change removes those additional code lines that are not needed.

Also adds unit tests for `ContextManager.insertText`, and introduces new type `KeymanInfoPair`.

Follow-up-of: #15092
2025-11-21 12:14:44 +01:00
Eberhard Beilharz
f8404a82e4
Merge pull request #15211 from keymanapp/test/web/nestedInstanceOf
test(web): add unit tests for `nestedInstanceOf`

Also rename file `utils.ts` to `nestedInstanceOf.ts`.
2025-11-21 12:11:25 +01:00
Eberhard Beilharz
0954456d93
Merge pull request #15212 from keymanapp/test/web/textStoreForElement
docs(web): add clarifying comment for filename

See https://github.com/keymanapp/keyman/pull/15092#discussion_r2493661810 for background.

Follow-up-of: #15092
2025-11-21 12:10:39 +01:00
Eberhard Beilharz
a35bd2b6f6
Merge pull request #15189 from keymanapp/refactor/web/mockvars
refactor(web): rename target and mock variables and functions

This change renames `target` and `mock` variables that identify a text store. Similarly it renames functions with `Target` in the name.

Follow-up-of: #15092
2025-11-21 12:09:24 +01:00
Eberhard Beilharz
7882573095
Update web/src/engine/src/element-text-stores/inputTextStore.ts
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-11-21 11:29:06 +01:00
Eberhard Beilharz
4d63a25878
Merge pull request #15170 from keymanapp/refactor/web/preinput
refactor(web): change `preInput` to `SyntheticTextStore`

`preInput` always contains a `SyntheticTextStore`, so this change modifies the type of the property so that we don't have to always cast it.

Follow-up-of: #15092
2025-11-21 11:16:52 +01:00
Eberhard Beilharz
5320865f6c
Merge pull request #15169 from keymanapp/docs/web/todos 2025-11-21 11:16:06 +01:00
Eberhard Beilharz
23dbbc88f6
Merge pull request #13993 from keymanapp/feat/web/13926_kbdprocessing 2025-11-21 11:15:31 +01:00
Eberhard Beilharz
c9f8e880a8
docs(web): address code review comments
Build-bot: skip
Test-bot: skip
2025-11-21 11:13:23 +01:00
Marc Durdin
1e0e932db7
Merge pull request #15208 from keymanapp/auto/A19S16-merge-master-into-web-core
auto: A19S16 merge master into web-core
2025-11-20 17:02:38 +01:00
Eberhard Beilharz
cd52afc084
docs(web): add clarifying comment for filename
Follow-up-of: #15092
Test-bot: skip
2025-11-20 16:47:57 +01:00
Eberhard Beilharz
597e433a0f
test(web): add unit tests for nestedInstanceOf
Also rename file `utils.ts` to `nestedInstanceOf.ts`.

Test-bot: skip
2025-11-20 16:46:08 +01:00
Eberhard Beilharz
35c2507c3e
refactor(web): remove duplicate exports
Previously we re-exported the exports of `element-text-stores` in
`attachment` because it was needed in unit tests. This change removes
this re-export - should be solved differently, but it turns out that
all current tests pass even without the re-export.

This comes out of
[a review comment in #15092](https://github.com/keymanapp/keyman/pull/15092#discussion_r2493048032).

Follow-up-of: #15092
Test-bot: skip
2025-11-20 16:41:37 +01:00
Marc Durdin
c2204e4dfc chore: Merge remote-tracking branch 'origin/epic/web-core' into auto/A19S16-merge-master-into-web-core
Test-bot: skip
Build-bot: skip build:web
2025-11-20 15:06:01 +01:00
Marc Durdin
513c625e33
Merge pull request #15194 from keymanapp/feat/windows/15192/upgrade-wix-3-14-1
feat(windows): update wix to 3.14.1
2025-11-20 11:08:18 +01:00
rc-swag
85dcdcf066 feat(windows): update wix to 3.14.1
Update the WiX toolset build version to 3.14.1 for Arm64.

Fixes: #15192
2025-11-20 15:35:46 +10:00
Eberhard Beilharz
ee913792c0
refactor(web): simplify insertText
Getting the textStore was done twice, without the second time changing
the result. Additionally, `insertText` in the super class also gets the
active text store and returns false if it is not set. This change
removes those additional code lines that are not needed.

Test-bot: skip
2025-11-19 19:59:58 +01:00
Eberhard Beilharz
c1e94bdca9
test(web): add unit tests for ContextManager.insertText 2025-11-19 19:50:31 +01:00
Eberhard Beilharz
bd0ba61a68
refactor(web): introduce type KeyboardInfoPair 2025-11-19 19:49:53 +01:00
Eberhard Beilharz
6975bf383e
refactor(web): rename target and mock variables and functions
This change renames `target` and `mock` variables that identify a
text store. Similarly it renames functions with `Target` in the name.

Follow-up-of: #15092
Test-bot: skip
2025-11-19 15:17:34 +01:00
Eberhard Beilharz
bb2e6e6466
chore(web): Merge branch 'epic/web-core' into feat/web/13926_kbdprocessing 2025-11-18 15:31:02 +01:00
Eberhard Beilharz
825573d8f1
docs(web): address code review comment 2025-11-18 15:26:10 +01:00
Eberhard Beilharz
e75327dc44
feat(web): properly treat SMP characters in context
Addresses code review comments.
2025-11-18 15:21:37 +01:00
Eberhard Beilharz
7ec6f8c523
Merge pull request #15168 from keymanapp/feat/web/corekbdproc
feat(web): add KeyboardProcessor interface and CoreKeyboardProcessor class

Basic key events are working with this change, and it is possible to type on a hardware keyboard.

Part-of: #13926
Follows: #15167
2025-11-18 14:23:58 +01:00
Eberhard Beilharz
e970cb7fdf
Update web/src/engine/src/core-processor/coreKeyboardProcessor.ts
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-11-17 19:28:22 +01:00
Eberhard Beilharz
b0ea7e58c8
Update web/src/engine/src/core-processor/coreKeyboardProcessor.ts
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-11-17 19:28:06 +01:00
Keyman Server
5f3c4158ca
Merge pull request #15180 from keymanapp/auto/version-master-19.0.164
auto: increment master version to 19.0.164
2025-11-17 19:05:49 +01:00
Keyman Build Agent
6a2a59510e auto: increment master version to 19.0.164
Test-bot: skip
Build-bot: skip
2025-11-17 12:02:17 -06:00
Eberhard Beilharz
97a624dc50
docs(web): add jsdoc documentation
This addresses code review comments. Also change the order of some
functions to put them in a more logical order.
2025-11-17 18:54:37 +01:00
Eberhard Beilharz
08e92a4352
Merge pull request #15167 from keymanapp/feat/web/kmxtestpage
feat(web): add KMX keyboard test page

Part-of: #13926
Follows: #15166
2025-11-17 17:28:40 +01:00
Marc Durdin
62570d9284
Merge pull request #15176 from keymanapp/fix/mac/10201-detach-force
maint(mac): handle hdiutil detach failure correctly in make-km-dmg.sh
2025-11-17 17:02:53 +01:00
Marc Durdin
89597cf8a2
Merge pull request #15156 from keymanapp/fix/windows/handle-keyman-root-forward-slash
fix(windows): handle forward slash for KEYMAN_ROOT env var
2025-11-17 17:02:41 +01:00
Marc Durdin
149aef4cb5
Merge pull request #15163 from keymanapp/change/windows/use-circular-buffer-for-logging
change(windows): use circular buffer for logging
2025-11-17 17:02:34 +01:00
Marc Durdin
6e470efa3e
Merge pull request #14799 from keymanapp/change/windows/include-map2pdb-for-relevant-projects
change(windows): include map2pdb generation for relevant Delphi projects
2025-11-17 17:02:25 +01:00
Marc Durdin
2631353564
Merge pull request #15151 from keymanapp/fix/windows/stop-outputting-debug-strings-from-dllmain
fix(windows): disable OutputDebugString from DllMain
2025-11-17 17:02:15 +01:00
Marc Durdin
fd0cdf153d
Merge pull request #15150 from keymanapp/fix/windows/handle-exception-in-exception-handler
fix(windows): handle exceptions when walking stack in exception handler
2025-11-17 17:02:06 +01:00
Eberhard Beilharz
5ce9a3edd1
feat(web): address code review comments
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-11-17 16:55:55 +01:00
Eberhard Beilharz
ce6a768b64
Merge pull request #15166 from keymanapp/feat/web/core-adapter
feat(web): move/add core-adapter module

This change moves the core adapter to core-adapter module which contains the code to bind to the the WASM core binaries and adds additional type definitions for Core.

Part-of: #13926
Follows: #15165
2025-11-17 11:07:07 +01:00
Eberhard Beilharz
9e991a14e0
Merge pull request #15133 from keymanapp/chore/linux/cherry-pick/changelog 2025-11-17 08:32:41 +01:00
Eberhard Beilharz
665f259b34
Merge branch 'epic/web-core' into feat/web/core-adapter 2025-11-17 08:31:33 +01:00
Eberhard Beilharz
db056f66aa
Merge pull request #15165 from keymanapp/fix/web/cherry-pick/defaultpaths
fix(web): improve determination of default path 🍒

Browser extensions can dynamically insert scripts into a web page, so it's possible that the last script is not what we expected, which can cause the path to the script to be wrong. This change fixes the determination of the default path by using the `document.currentScript` property. It also replaces the use of the deprecated `substr` function in those places.

Cherry-pick-of: #15159
Fixes: #15158
2025-11-17 08:31:02 +01:00
Marc Durdin
9940de591c maint(mac): handle hdiutil detach failure correctly in make-km-dmg.sh
Fixes: #10201
Test-bot: skip
Build-bot: skip release:mac
2025-11-15 06:57:22 +01:00
Keyman Server
e69b168c35
Merge pull request #15174 from keymanapp/auto/version-master-19.0.163
auto: increment master version to 19.0.163
2025-11-14 19:07:37 +01:00
Keyman Build Agent
9eb41504c9 auto: increment master version to 19.0.163
Test-bot: skip
Build-bot: skip
2025-11-14 12:03:41 -06:00
Eberhard Beilharz
a579d7185b
Merge pull request #15172 from keymanapp/maint/linux/15171_debpkg
maint(linux): free disk space before running autopkgtests

Running the autopkgtests during a Ubuntu packaging build GHA recently started to fail with an out-of-disk-space error. This change removes some large directories with tools that we don't need for the autopkgtests.

We could delete some more that are not quite as big, but this gives us more than enough space and saves a bit of build-time.

Fixes: #15171
2025-11-14 18:45:26 +01:00