Commit graph

11896 commits

Author SHA1 Message Date
Marc Durdin
53b37d44f0 fix(windows): make keymanx64 responsible for its own lifecycle
Fixes #4976.
Fixes KEYMAN-WINDOWS-2K.
Fixes KEYMAN-WINDOWS-3F.
Fixes KEYMAN-WINDOWS-5A.
Fixes KEYMAN-WINDOWS-3E.

This fix reworks keymanx64's lifecycle, moving responsibility for
process shutdown from keyman.exe to keymanx64.exe.

This eliminates the need for interprocess communication, and simplifies
the startup and shutdown of keymanx64.exe. Removing this means that we
can more safely handle situations where two instances of keymanx64 may
be started, as one of them will rapidly terminate when it discovers that
its parent process has disappeared.
2021-06-04 06:50:47 +10:00
Marc Durdin
617330d8e1 chore(windows): review comments
Co-authored-by: rc-swag <58423624+rc-swag@users.noreply.github.com>
2021-06-04 06:49:52 +10:00
Marc Durdin
ea5417eefc fix(windows): handle errors starting keymanx64
Fixes #4988.
Fixes KEYMAN-WINDOWS-3F.

This relates to #4976 and is a stop-gap until we implement that. It will
reduce the number of reported errors (both to us and the end user) but
does not address the core issue, which requires a more significant
refactor.
2021-06-04 06:49:51 +10:00
Joshua Horton
56dcb7c69b
Merge pull request #5174 from keymanapp/chore/ios/cherry/rename-app-selectors
chore(ios): renames problematic app selectors 🍒
2021-06-01 08:25:41 +07:00
Darcy Wong
ff38ec2934
Merge pull request #5179 from keymanapp/cherrypick/web/5150-sync-s-keyman-com
feat(web): Add script to deploy KeymanWeb release to s.keyman.com 🍒
2021-06-01 06:59:38 +07:00
Eberhard Beilharz
49dc94b4a7
Merge pull request #5204 from keymanapp/fix/linux/cherry/issue-5072
fix(common/core/desktop): Fix failing tests on armhf 🍒
2021-05-31 22:05:22 +02:00
Marc Durdin
537fc594c3
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.

(cherry picked from commit c9897bb38f)
2021-05-31 15:00:27 +02:00
Eberhard Beilharz
38a747570b
fix(common/core/desktop): Fix failing tests on armhf
This change fixes the FixupKeyboard method. In the .kmx files on
disk array pointers for an empty array point to the end of the file
(one byte after the end of the data structure). When we expand the
pointers in FixupKeyboard this leads to `cgp->dpKeyArray` to point to an
unallocated memory location - this shouldn't matter since we don't
try to read or write at this location if the Key array is empty,
but armhf still seems to raise a SIGBUS, probably because we cast
the value to a `LPKEY`. This change sets `cgp->dpKeyArray` to `NULL`
if we have an empty key array, similar to what's done for the strings.

Closes #5072.

(cherry picked from commit 68706c9451)
2021-05-31 15:00:17 +02:00
Eberhard Beilharz
2c08e484a2
refactor(common/core/desktop): Use StringOffset in FixupKeyboard
(cherry picked from commit 7c78fb0adb)
2021-05-31 15:00:10 +02:00
Eberhard Beilharz
afc9cb07cd
fix(linux): Exclude s390x from package builds
s390x is big-endian which we currently don't support (#5111).

Only build on architectures supported by Debian. This excludes the
following little-endian architectures:
alpha arm ia64 riscv64 sh4 x32 arm64ilp32 mipsn32el
and the following big-endian ones:
avr32 hppa m68k mips mips64 mipsn32 powerpc ppc64 s390 sparc sparc64

See https://wiki.debian.org/SupportedArchitectures
and https://wiki.debian.org/ArchitectureSpecificsMemo

(cherry picked from commit 9c2d30948c)
2021-05-31 15:00:02 +02:00
Darcy Wong
a5023a80eb
Merge pull request #5199 from keymanapp/cherrypick/android/5198-gradlew-exec
fix(android/samples): Set gradlew executable for Tests 🍒
2021-05-31 19:56:17 +07:00
Marc Durdin
6d5e69c48b
Merge pull request #5189 from keymanapp/fix/windows/cherry-pick/avoid-cached-hotkey-state
fix(windows): avoid cached hotkey state 🍒
2021-05-31 21:15:18 +10:00
Darcy Wong
bb06b04668 fix(android/samples): Set gradlew executable for Tests 2021-05-31 09:57:48 +07:00
Marc Durdin
8f04ad9954
Update windows/src/global/delphi/general/Keyman.System.Settings.pas 2021-05-31 11:28:45 +10:00
Marc Durdin
7ffd273184 fix(windows): swap default for flag 2021-05-29 16:15:30 +10:00
Marc Durdin
3d21507193 fix(windows): avoid cached hotkey state 2021-05-29 15:42:10 +10:00
Darcy Wong
bb4be70259 feat(web): Add script to deploy KeymanWeb release to s.keyman.com 2021-05-28 10:17:37 +07:00
Darcy Wong
48c5e2656c
Merge pull request #5177 from keymanapp/cherrypick/android/5145-add-clean-flag
chore(android): Add -clean flag to build script 🍒
2021-05-28 09:55:38 +07:00
Darcy Wong
d5a5d8ab95 chore(android): Add -clean flag to build script 2021-05-28 09:42:22 +07:00
jahorton
16f1a66e6d chore(ios): renames problematic app selectors 2021-05-28 06:33:52 +07:00
Joshua Horton
3d21a35389
Merge pull request #5161 from keymanapp/fix/ios/cherry/upload-prep
fix(ios): artifact upload preparation 🍒
2021-05-28 06:13:26 +07:00
jahorton
458578ecad fix(ios): replaces TC build var 2021-05-27 08:02:19 +07:00
Darcy Wong
94a01afc42
Merge pull request #5152 from keymanapp/cherrypick/web/5136-kill-browserstack
chore(web): Add CI script to kill BrowserStack tunnel 🍒
2021-05-26 11:39:48 +07:00
Darcy Wong
99ac5c7543 chore(web): Add CI script to kill BrowserStack tunnel 2021-05-26 09:54:52 +07:00
Joshua Horton
f24a403195
Merge pull request #5141 from keymanapp/chore/ios/cherry/framework-artifact-upload
chore(ios): artifact prep script now in-repo
2021-05-25 13:28:17 +07:00
Joshua Horton
10563c11a6
Merge pull request #5142 from keymanapp/fix/web/cherry/multi-touch-handling
fix(web): multi touch handling 🍒
2021-05-25 13:28:09 +07:00
jahorton
dc7143a4b5 docs(web): adds requested comment 2021-05-25 11:38:59 +07:00
jahorton
e8e02ad0cc fix(web): better multitouch handling 2021-05-25 11:38:58 +07:00
jahorton
ae979a9665 chore(web): removes diagnostic breadcrumbing 2021-05-25 11:38:57 +07:00
jahorton
4cf95962b3 chore(ios): artifact prep script now in-repo 2021-05-25 11:27:13 +07:00
Joshua Horton
01ca74a304
Merge pull request #5135 from keymanapp/chore/ios/cherry/carthage-consistency
chore(ios): works around wrong-workspace Carthage 0.38 lookup issue
2021-05-24 15:29:56 +07:00
jahorton
eb25638f63 fix(ios): restore use of workaround script 2021-05-24 13:35:31 +07:00
jahorton
455b5f8b72 chore(ios): works around wrong-workspace Carthage 0.38 lookup issue 2021-05-24 12:54:43 +07:00
Marc Durdin
a34b31378a
Merge pull request #5124 from keymanapp/chore/ios/cherry-pick/oem-fv-cert-ref
chore(ios): update fv cert ref 🍒
2021-05-21 11:18:05 +10:00
Marc Durdin
a3e1cf7198 chore(ios): update fv cert ref 2021-05-21 09:48:26 +10:00
Marc Durdin
13d266f0ea
Merge pull request #5097 from keymanapp/fix/developer/cherry-pick/5095-editor-settext-not-synchronous
fix(developer): TframeTextEditor.SetText was not synchronous 🍒
2021-05-21 08:31:44 +10:00
Eberhard Beilharz
705d56a436
Merge pull request #5114 from keymanapp/chore/linux/cherry/moredependency
chore(linux): Swap order of dependency 🍒
2021-05-20 08:41:32 +02:00
Darcy Wong
12b78ef1d4
Merge pull request #5117 from keymanapp/cherrypick/common/5102-crowdin-am
chore(common): Check in crowdin strings for Amharic 🍒
2021-05-20 08:57:35 +07:00
Darcy Wong
f9db2e5efe chore(common): Check in crowdin strings for Amharic 2021-05-20 05:47:59 +07:00
Eberhard Beilharz
d1829843af
chore(linux): Swap order of dependency
This was already partially done in 695ee6fde, but we missed this
line.

(cherry picked from commit 8c8823f7ab)
2021-05-19 17:16:27 +02:00
Eberhard Beilharz
8d3a7665f8
Merge pull request #5110 from keymanapp/fix/core/cherry/issue-5100
fix(common/core/desktop): Don't segfault on invalid .kmx file 🍒
2021-05-19 16:48:33 +02:00
Eberhard Beilharz
c977e4b52a
Merge pull request #5109 from keymanapp/fix/core/cherry/warnings
fix(common/core/desktop): Fix warnings when compiling for armhf 🍒
2021-05-19 16:48:17 +02:00
Eberhard Beilharz
d517d9e91f
fix(common/core/desktop): Don't segfault on invalid .kmx file
(Fixes #5100)

(cherry picked from commit d91d27befa)
2021-05-19 09:02:41 +02:00
Eberhard Beilharz
d06be6a07f
fix(common/core/desktop): Fix warnings when compiling for armhf
Compiling on armhf outputs two warnings:
- NULL used in arithmetic [-Wpointer-arith] (line 289 and 290)
- unused parameter ‘dwFileSize’ [-Wunused-parameter] (line 264)

(related to #5072)

(cherry picked from commit 99e9a7cf61)
2021-05-19 08:59:48 +02:00
Marc Durdin
52dcd313bf fix(developer): TframeTextEditor.SetText was not synchronous
Fixes #5095.

If the text editor was loaded, `SetText` would not be synchronous
because it executed some Javascript to make the text change, so setting
the text and immediately reading it again would give the old text. This
is what the On Screen Keyboard editor was doing (it would synchronize
the visual editor and text editor at save). This fix updates `SetText`
to update the backing store as well as the front end editor.
2021-05-18 06:33:33 +10:00
Joshua Horton
1b81c8f414
Merge pull request #5090 from keymanapp/fix/web/cherry/popup-key-positioning
fix(web): position popups correctly in landscape mode on Android and during Chrome emulation 🍒
2021-05-17 10:05:47 +07:00
jahorton
ac69353476 fix(web): reuses OSK width calc 2021-05-17 08:05:27 +07:00
jahorton
8dff00c93d fix(web): popup key positioning logic 2021-05-17 08:05:27 +07:00
Marc Durdin
76f907cc0e
Merge pull request #5083 from keymanapp/fix/developer/cherry-pick/kmconvert-cmdline-and-wine
fix(developer): kmconvert commandline and deploy 🍒
2021-05-14 13:10:27 +10:00
Marc Durdin
4739b92daf fix(developer): kmconvert commandline and deploy
A few fixes and improvements:
* kmconvert was missing a command line parameter for `-target` to
  specify the platform targets for a project
* kmconvert should avoid throwing unhandled exceptions, rather if
  sentry is not present then just write to console.
* Include kmconvert and its data files in the deployment of kmcomp.zip,
  which is done on the build agent (just need to make sure files are
  in the right place here.)
* Side fix: also made sure kmcomp would emit the exception message to
  console if sentry is not present.
2021-05-14 11:00:20 +10:00