Commit graph

33476 commits

Author SHA1 Message Date
Keyman Build Agent
2066c6a76b auto: increment master version to 19.0.166
Test-bot: skip
Build-bot: skip
2025-11-21 12:02:06 -06:00
Marc Durdin
32db754209
Merge pull request #15179 from keymanapp/fix/windows/8064-low-level-hook-watch-dog
fix(windows): reinstall low level keyboard hook if it gets removed
2025-11-21 10:40:40 +01:00
Marc Durdin
eb4b10996d
Merge pull request #15087 from keymanapp/fix/developer/11363-prevent-race-on-server-load-kmw
fix(developer): avoid race in page.onload vs kmw.init in Server
2025-11-21 10:39:43 +01:00
rc-swag
0837da4b7d chore(windows): Merge branch 'feat/windows/11905/keymanx64-keymanarm64' into feat/windows/64x-pure-forwarder-wix-3
# Keyman Conventional Commit suggestions:
#
# - Link to a Sentry issue with git trailer:
#     Fixes: _MODULE_-_ID_
# - Give credit to co-authors:
#     Co-authored-by: _Name_ <_email_>
# - Use imperative, present tense ('attach' not 'attaches', 'attached' etc)
# - Don't include a period at the end of the title
# - Always include a blank line before trailers
# - More: https://github.com/keymanapp/keyman/wiki/Pull-Request-and-Commit-workflow-notes
2025-11-21 18:37:18 +10:00
rc-swag
ad34a44c9f chore(windows): Merge branch 'epic/win-arm' into feat/windows/11905/keymanx64-keymanarm64 2025-11-21 18:36:13 +10:00
rc-swag
23da501019 feat(windows): remove dead code 2025-11-21 15:58:25 +10:00
rc-swag
19cc857b99 feat(windows): fix version rc files to display correct
fix the version.rc files to display the correct description
and file name for keymanhp.*.exe fix version rc files to display correct
Also fix up the Keymanengine arm64 version names.
2025-11-21 14:49:57 +10:00
rc-swag
b48bfeaf8b feat(windows): fix manifest for each host 2025-11-21 11:58:49 +10:00
rc-swag
767c007ca7 feat(windows): rename kmtiparm64EC to kmtiparm64X 2025-11-21 10:07:09 +10:00
Shawn Schantz
323a2f99fc
Merge pull request #14972 from keymanapp/chore/mac/key-trace-log
chore(mac): add keyTrace log
2025-11-20 13:26:25 -05:00
Keyman Server
b6d6514840
Merge pull request #15213 from keymanapp/auto/version-master-19.0.165
auto: increment master version to 19.0.165
2025-11-20 19:03:47 +01:00
Keyman Build Agent
47ec9106b9 auto: increment master version to 19.0.165
Test-bot: skip
Build-bot: skip
2025-11-20 12:01:36 -06:00
Keyman Server
b1dd8178a5
Merge pull request #15209 from keymanapp/auto/A19S16-merge-master-into-win-arm
auto: A19S16 merge master into win-arm 🦾
2025-11-20 15:28:41 +01:00
Keyman Server
248d4205f0
Merge branch 'epic/win-arm' into auto/A19S16-merge-master-into-win-arm 2025-11-20 11:09:43 +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
9881cbb689 chore(windows): Merge branch 'feat/windows/11905/keymanx64-keymanarm64' into feat/windows/64x-pure-forwarder-wix-3 2025-11-20 19:25:55 +10:00
Nnyny
3264557bef chore: add intent to broadcast font name 2025-11-20 12:44:59 +07: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
rc-swag
6e5fb1cefe feat(windows): copy sentry arm build to bin folder 2025-11-20 11:28:05 +10:00
rc-swag
59c8ff6d75 feat(windows): remove shared data arm64 test
the arm64 shared data test will only be possible on arm64
machine which is capable of running the x64 applications
2025-11-19 16:05:57 +10:00
Marc Durdin
c3915928a6 chore(windows): use MultiThreaded library for fakefreeze 2025-11-19 06:28:04 +01:00
rc-swag
c059627aa5 feat(windows): link keymanarm64.dll correctly 2025-11-19 14:07:21 +10:00
rc-swag
c9753f6ba2 feat(windows): handle arch type in build.bat skip build.sh
Add a host check for build.bat and run the architecture tests
that match the host. for the meson builds from build.h
for now just skip the arm64 tests.
2025-11-19 11:50:57 +10:00
dependabot[bot]
cec4bfce89
chore(deps): bump js-yaml and @microsoft/api-documenter
Bumps [js-yaml](https://github.com/nodeca/js-yaml) to 4.1.1 and updates ancestor dependencies [js-yaml](https://github.com/nodeca/js-yaml) and [@microsoft/api-documenter](https://github.com/microsoft/rushstack/tree/HEAD/apps/api-documenter). These dependencies need to be updated together.


Updates `js-yaml` from 4.1.0 to 4.1.1
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)

Updates `js-yaml` from 3.14.1 to 3.14.2
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)

Updates `@microsoft/api-documenter` from 7.23.31 to 7.28.0
- [Changelog](https://github.com/microsoft/rushstack/blob/main/apps/api-documenter/CHANGELOG.md)
- [Commits](https://github.com/microsoft/rushstack/commits/@microsoft/api-documenter_v7.28.0/apps/api-documenter)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.1.1
  dependency-type: indirect
- dependency-name: js-yaml
  dependency-version: 3.14.2
  dependency-type: indirect
- dependency-name: "@microsoft/api-documenter"
  dependency-version: 7.28.0
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-18 22:23:18 +00:00
dependabot[bot]
4a76721f45
chore(deps-dev): bump glob in /resources/build/pr-build-status
Bumps [glob](https://github.com/isaacs/node-glob) from 10.4.5 to 10.5.0.
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/node-glob/compare/v10.4.5...v10.5.0)

---
updated-dependencies:
- dependency-name: glob
  dependency-version: 10.5.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-18 22:23:08 +00:00
rc-swag
b38b7b9d43 feat(windows): set property before launchconditions 2025-11-18 20:10:55 +10:00
rc-swag
25770b17f1 feat(windows): setproperty wix_native_machine msi
Works in the msi but not the exe
2025-11-18 11:55:38 +10: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
Marc Durdin
ef64af0155
Merge branch 'master' into fix/windows/8064-low-level-hook-watch-dog 2025-11-17 17:07:23 +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
Marc Durdin
711541be60 fix(windows): reinstall low level keyboard hook if it gets removed
This change improves the stability of Keyman for Windows by monitoring
the health of the low level keyboard hook. If keyman.exe is unresponsive
at any time, Windows can silently uninstall its low level keyboard hook,
which results in (at least) two problems:

* Keyman's hotkeys stop working
* A modifier key can become stuck, if it was pressed around the time
  Keyman became unresponsive.

The most common scenario in which Keyman can become unresponsive is high
system load, e.g. rendering graphics, videoconference calls, compiling
software.

Restarting Keyman always resolved both of these two issues in the past,
but with this patch, I hope that this will no longer be necessary.

A related 'fakefreeze' project is included for simulating a keyman.exe
hang by posting a `wm_keyman_control:KMC_WATCHDOG_FAKEFREEZE` message to
it, which keyman.exe responds to by `Sleep()`ing for 5 seconds. While
keyman.exe is freezing, any keystroke will cause the low level hook to
be uninstalled by Windows.

Logging has been updated; look for "LowLevelHookWatchDog" in the log for
related events.

One final small change in keyman32.cpp, as I refactored the
WH_KEYBOARD_LL hook installation/uninstallation, was to always clear out
hook variables when uninstalling a hook, because if the hook fails to
uninstall, there's really nothing we can do about it anyway, and we
probably shouldn't be trying again.

Fixes: #8064
2025-11-17 16:30:43 +01:00
Eberhard Beilharz
9e991a14e0
Merge pull request #15133 from keymanapp/chore/linux/cherry-pick/changelog 2025-11-17 08:32:41 +01:00
rc-swag
ab6772e36d feat(windows): build a kmtip ARM64X build
Add ARM64EC build then use to create a ARM64X build.
2025-11-16 07:59:40 +10: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
dependabot[bot]
583f5eef11
chore(deps-dev): bump js-yaml in /resources/build/pr-build-status
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.0 to 4.1.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.1.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-14 17:46:41 +00: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
Eberhard Beilharz
6fe3e3e8ba
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.

Fixes: #15171
Build-bot: skip
Test-bot: skip
2025-11-14 18:23:49 +01:00
Eberhard Beilharz
ef64529300
Merge pull request #15159 from keymanapp/fix/web/defaultpath
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.

Fixes: #15158
2025-11-14 14:50:44 +01:00
Marc Durdin
57c0fa3d03
Merge pull request #15129 from keymanapp/maint/resources/builder_launch
maint(resources): add `builder_launch` function
2025-11-14 14:24:19 +01:00
Marc Durdin
8f95d84014
Merge pull request #15114 from keymanapp/maint/resources/builder-timing
maint(resources): add build timing report to builder
2025-11-14 14:24:11 +01:00
Marc Durdin
7d6e04f9ac
Apply suggestions from code review
Build-bot: skip
2025-11-14 13:58:16 +01:00
Eberhard Beilharz
fc04e2445b
fix(web): address code review comments
Deal with `currentScript` being null/undefined.
2025-11-14 12:35:59 +01:00