Commit graph

33096 commits

Author SHA1 Message Date
Marc Durdin
8103949bdc chore(linux): adjust linux build scripts for rust 2021-06-02 13:51:55 +10:00
Marc Durdin
fdbc2a309a chore(common): stub out tests to prevent build errors 2021-06-02 13:51:54 +10:00
Marc Durdin
73c71e01a3 chore(common): update trigger definitions 2021-06-02 13:51:53 +10:00
Marc Durdin
3e0a8ffafc chore(common): tweak build script for cross platform 2021-06-02 13:51:52 +10:00
Marc Durdin
3690cdf973 chore(common): make build.sh executable 2021-06-02 13:51:51 +10:00
Marc Durdin
8052ac9bbc feat(common): Rust infrastructure
Relates to #5069.

This establishes a baseline Rust build environment and linkage with
common/core/desktop.

This includes:

* build script build.sh which handles builds on Windows, macOS, *nix,
  with multiple targets on Windows only at present (M1 on mac to come
  when we do the mac integration work.)
* a mock rust processor with a very stubbed-out implementation
* bare bones interface between Rust library and C++ code
* unit tests on Rust and integration tests on C++ side to test the
  linkage between the libraries.

This should deliver a set of libraries that can be linked into our
target applications. For ease of deployment, it may be best to make
these static libraries, but I haven't made that decision at this point.
2021-06-02 13:51:50 +10:00
Keyman Server
529ab546cb
Merge pull request #5210 from keymanapp/auto/version-master-15.0.61
auto: increment master version to 15.0.61
2021-06-02 04:02:53 +10:00
Keyman Build Agent
344ae9caa4 auto: increment master version to 15.0.61 2021-06-01 14:02:09 -04:00
Marc Durdin
0c65ea4502
Merge pull request #5203 from keymanapp/fix/windows/5195-fix-size-of-splash
fix(windows): fix size of splash
2021-06-01 12:39:57 +10:00
Marc Durdin
1b340077b5
Merge pull request #5202 from keymanapp/fix/windows/5196-keymanx64-start-with-shellexecute
fix(windows): start keymanx64 with ShellExecute
2021-06-01 12:13:47 +10:00
Marc Durdin
8cb32196ff fix(windows): support Esc key in Download Keyboard dialog
The Escape key does not work in the search iframe when in the parent
web document. However, it is easy to test for it in the hosting form.
2021-06-01 11:04:26 +10:00
Marc Durdin
8b8631ff5c chore(common): iis setup script for dev boxes 2021-06-01 09:10:00 +10:00
Marc Durdin
f29c71d988
Merge pull request #5187 from keymanapp/fix/windows/5166-sentry-dll-handling
fix(windows): sentry.dll version handling
2021-06-01 05:59:26 +10:00
Keyman Server
af64200cb7
Merge pull request #5205 from keymanapp/auto/version-master-15.0.60
auto: increment master version to 15.0.60
2021-06-01 04:03:37 +10:00
Keyman Build Agent
e13439e99c auto: increment master version to 15.0.60 2021-05-31 14:02:58 -04:00
Eberhard Beilharz
b0358509c0
Merge pull request #5169 from keymanapp/fix/linux/issue-5072
fix(common/core/desktop): Fix failing tests on armhf
2021-05-31 14:58:29 +02:00
Marc Durdin
8843828879
Merge pull request #5192 from keymanapp/chore/windows/three-small-issues
chore(windows): minor maintenance
2021-05-31 21:15:34 +10:00
Marc Durdin
5ebd57a335
Merge pull request #5190 from keymanapp/fix/windows/avoid-cached-hotkey-state
fix(windows): avoid cached hotkey state
2021-05-31 21:15:26 +10:00
Marc Durdin
203b3cacec fix(windows): fix size of splash
Fixes #5195.
Fixes KEYMAN-WINDOWS-M0.

The splash screen for Keyman would crash on start with the latest
Chromium update. This fix resolves the issue, which related to the
resize-to-content code, by removing the resize-to-content code and
instead hardcoding the window size in the .dfm.

This is a significant simplification of the browser host and I think it
is worthwhile. The only place the resizing code was still used was in
the splash screen.
2021-05-31 20:16:44 +10:00
Darcy Wong
31b4a9873d
Merge pull request #5198 from keymanapp/fix/android/tests/gradlew-exec-
fix(android/samples): Set gradlew executable for Tests
2021-05-31 16:48:38 +07:00
Eberhard Beilharz
06beb99b85
Merge pull request #5185 from keymanapp/fix/linux/issue-5184
fix(linux): Don't crash on invalid metadata
2021-05-31 11:35:39 +02:00
Eberhard Beilharz
51a5b5a45e
Merge pull request #5183 from keymanapp/fix/linux/issue-4259
fix(linux): Migrate from /usr/lib/ibus to /usr/libexec
2021-05-31 11:35:05 +02:00
Marc Durdin
c4d7a6d58c fix(windows): start keymanx64 with ShellExecute
Fixes #5196.

It is complicated to start a `UIAccess=true` process with
`CreateProcess`, so instead we'll use `ShellExecute`. This means passing
a PID instead of a process handle to keymanx64.

I took the opportunity to refactor slightly the main function in
keymanx64, as the failure modes were pretty WET.
2021-05-31 19:26:36 +10:00
Darcy Wong
2b549a0a62 fix(android/engine): Adjust default OSK landscape size 2021-05-31 15:27:00 +07:00
Eberhard Beilharz
9224a31a37
Merge pull request #5197 from keymanapp/fix/windows/5072-patch-kmx_file-to-k32_load
fix(windows): cleanup edge cases in k32_load
2021-05-31 08:10:41 +02:00
Joshua Horton
695f3d252e
Merge pull request #5178 from keymanapp/feat/ios/resource-file-check
feat(ios): resource file validation before use
2021-05-31 09:23:44 +07:00
Darcy
5b89f30b75 fix(android/samples): Set gradlew executable for Tests 2021-05-31 08:51:08 +07:00
Marc Durdin
dc784b2ddc
Update windows/src/global/delphi/general/Keyman.System.Settings.pas
Co-authored-by: Darcy Wong <darcywong00@users.noreply.github.com>
2021-05-31 11:28:14 +10:00
Marc Durdin
c244eded35
Merge pull request #5175 from keymanapp/fix/common/build-script-help-param
fix(common): build script help param
2021-05-31 11:08:36 +10:00
Marc Durdin
c9897bb38f fix(windows): cleanup edge cases in k32_load
Matches work completed in #5169 for Keyman Core, kmx_file.cpp.

While this code will hopefully disappear in 15.0, it's good to make sure
we aren't diverging beforehand.

Also tidies up a couple of other cases in `CopyKeyboard` in Keyman Core.
2021-05-31 10:58:23 +10:00
Marc Durdin
b38cb727c2
Merge branch 'chore/windows/three-small-issues' into fix/windows/5166-sentry-dll-handling 2021-05-31 06:36:27 +10:00
Marc Durdin
ed4c2390c1 fix(developer): kmbrowserhost installed with wrong name 2021-05-31 06:34:30 +10:00
Marc Durdin
345545a19a chore(windows): minor maintenance 2021-05-31 06:32:08 +10:00
Marc Durdin
4e56f2eaeb fix(windows): force add sentry binaries 2021-05-29 18:07:38 +10:00
Marc Durdin
9dcb8aa054 fix(windows): use version-specific sentry-db path
Fixes #5188.
2021-05-29 16:23:17 +10:00
Marc Durdin
733d112d05 fix(windows): swap default for flag 2021-05-29 16:16:14 +10:00
Marc Durdin
9fbcc3fd7b fix(windows): avoid cached hotkey state 2021-05-29 15:41:35 +10:00
Keyman Server
17cde11907
Merge pull request #5186 from keymanapp/auto/version-master-15.0.59
auto: increment master version to 15.0.59
2021-05-29 04:03:20 +10:00
Keyman Build Agent
ec3a699018 auto: increment master version to 15.0.59 2021-05-28 14:02:38 -04:00
Eberhard Beilharz
6b1cbb508d
fix(linux): Don't crash on invalid metadata
Fixes #5184
2021-05-28 18:30:24 +02:00
Eberhard Beilharz
03fc8953a8
fix(linux): Fix two bugs introduced by recent refactoring 2021-05-28 18:29:48 +02:00
Eberhard Beilharz
82d42edfec
fix(linux): Migrate from /usr/lib/ibus to /usr/libexec
Current ibus versions use /usr/libexec in compliance with FHS 3.0.
Since the ibus picks up the location from the xml file in
`/usr/share/ibus/component`, this also works for older versions of
ibus. The bug report also mentions a `<setup>` tag. However, this
doesn't apply for Keyman because we don't have nor need a setup app.

Closes #4259.
Closes Debian bug 955230.
2021-05-28 17:54:47 +02:00
jahorton
c91d2f3685 refactor(web): related adjustments for full KMW 2021-05-28 13:14:43 +07:00
Eberhard Beilharz
e1db4edf22
Merge pull request #5170 from keymanapp/fix/linux/issue-5074
fix(linux): Fix Makefile and instructions for building
2021-05-28 08:13:58 +02:00
jahorton
4449646312 chore(ios): Merge branch 'master' into feat/ios/resource-file-check 2021-05-28 13:07:58 +07:00
Joshua Horton
4437021272
Merge pull request #5167 from keymanapp/change/ios/workspace-reorg
change(ios): workspace reorganization + cleanup
2021-05-28 13:06:52 +07:00
Marc Durdin
7235bf2057 fix(windows): sentry.dll version handling
Fixes #5166.

This introduces versioned management of sentry.dll for Keyman for
Windows, Keyman Engine and Keyman Developer. As sentry.dll's ABI is not
backwardly compatible, we have to maintain independent copies of each
DLL for each app.

sentry.dll (or sentry.x64.dll for x64 apps) will be found in the
sentry-0.4.9 folder relative to the running process, except when running
from within the keyman repo tree (based on presence of KEYMAN_ROOT env
var). In those cases, the windows/src/ext/sentry sentry.dll will be
used, allowing us to test new debug time sentry DLLs easily.

A little bit of cleanup and consolidation was also done in the
KeymanPaths.pas unit.
2021-05-28 15:55:06 +10:00
jahorton
6c782705f2 refactor(web): removes Ltarg from KeyEvent, adjusts core to match 2021-05-28 12:44:03 +07:00
jahorton
d1e673f38a fix(ios): error log msg typo 2021-05-28 11:30:26 +07:00
jahorton
5326927bed chore(ios): Merge branch 'master' into change/ios/workspace-reorg 2021-05-28 11:25:37 +07:00