Commit graph

27982 commits

Author SHA1 Message Date
jahorton
f5b0dcfc8a docs(common/models): better comments for ContextTracker's match method 2021-02-02 14:59:16 +07:00
jahorton
f9a7c0b3e1 fix(common/models): bksp workaround now works beyond first word 2021-02-02 14:45:52 +07:00
Marc Durdin
adafdb9c84 fix(developer): Import Keyboard support for Targets
Fixes #2657.

Importing a Windows Keyboard had an option to select default targets for
the imported keyboard, but the option was ignored. This propagates the
option setting through the import process.
2021-02-02 16:12:45 +11:00
Marc Durdin
5208404cd6 fix(developer): Generate platforms correctly from template
Fixes #2679.

If web is specified but not a touch platform, exclude touch layout from
a generated project. Also, fixup list of supported platforms in the
generated README.md.
2021-02-02 15:50:56 +11:00
Marc Durdin
d311886a7e fix(developer): don't check both setup.exe and setup-redist.exe
Fixes #4354.

The redistributable build should be checking for the existence of either
setup.exe or setup-redist.exe. Note that the only difference between the
two is whether or not the file has a digital signature (as we should not
put a digital signature on an executable that will later have a .zip
appended, rather the final file should be signed).
2021-02-02 15:32:14 +11:00
Darcy Wong
01310e3426 auto(android/app): Check in generated offline help
This replaces the kKMAPro assets/info with
```
build-help.sh htm
```
2021-02-02 11:10:11 +07:00
Darcy Wong
644c2e2fc4 chore(android/app): Copy markdown help from help.keyman.com 2021-02-02 11:08:55 +07:00
Darcy Wong
45801f41a6 feat(android/app): Use help/build-help.sh to generate offline help 2021-02-02 11:06:33 +07:00
jahorton
4e53875300 fix(ios): package install fail / batch update event concurrency 2021-02-02 11:00:06 +07:00
Marc Durdin
3850087109 fix(windows): rename RefreshTag_Process variable
`RefreshTag_Process` should be named `RefreshTag_Thread`.
2021-02-02 14:58:59 +11:00
Marc Durdin
ca7ab8a7d8 fix(windows): improve cross-process refresh
Two changes here:

1. Only post the refresh message to the master controller, so that we
   get a single refresh regardless of how many controllers are
   registered.

2. When Keyman is restarted, the global RefreshTag is reset to 0, so we
   need to do a `!=` comparison rather than a `<` comparison to ensure
   that apps with an existing keyman32.dll/keyman64.dll in memory get
   refresh notifications (as their local `RefreshTag_Process` will
   likely already be greater than `0`).

Also a small additional debug statement.
2021-02-02 14:55:02 +11:00
jahorton
52559bd91d docs(ios): enhances doc comment re: fix 2021-02-02 10:16:30 +07:00
jahorton
7b3ece97a2 fix(ios): fixes indexing error in DownloadQueue logic 2021-02-02 10:09:09 +07:00
jahorton
4223827635 feat(ios): adds unit test for issue's bug 2021-02-02 10:04:00 +07:00
jahorton
26ac099c0e fix(ios): fixes unit test mocking, test init 2021-02-02 08:51:44 +07:00
Darcy Wong
14e5e981fe change(android/app): Update build-help.sh 2021-02-02 08:46:26 +07:00
Marc Durdin
7a16b07465
Merge pull request #4381 from keymanapp/fix/windows/4343-avoid-invalid-custom-languages
fix(windows): avoid invalid language codes in Add Language dialog
2021-02-02 08:41:35 +11:00
Marc Durdin
d81ff153b7
Merge pull request #4379 from keymanapp/fix/windows/4336-hotkey-show-keyboard-usage-plus-strings
fix(windows): remove Show Keyboard Usage hotkey
2021-02-02 08:41:28 +11:00
Marc Durdin
11bde6fc7e fix(windows): setup should ignore cert revocation
Fixes #4385.

Chrome has ignored certificate revocation for many years. If it's
good enough for Chrome, it's good enough for us. Right?

More seriously, sometimes Windows has trouble with its certificate
revocation cache, and it seems to be difficult to predict when this
will happen. This results in error 12057.

https://knowledge.broadcom.com/external/article/169185/ssl-visibility-how-to-resolve-the-certi.html
https://www.imperialviolet.org/2012/02/05/crlsets.html
2021-02-02 06:29:50 +11:00
Keyman Server
ecc16b4371
Merge pull request #4391 from keymanapp/auto/version-beta-14.0.234
auto: increment beta version to 14.0.234
2021-02-02 05:02:17 +11:00
Keyman Server
a3745dcc1b
Merge pull request #4390 from keymanapp/auto/version-master-15.0.14
auto: increment master version to 15.0.14
2021-02-02 05:01:54 +11:00
Keyman Build Agent
1385f8b93f auto: increment beta version to 14.0.234 2021-02-01 13:01:28 -05:00
Keyman Build Agent
57d8b8e718 auto: increment master version to 15.0.14 2021-02-01 13:01:07 -05:00
Eberhard Beilharz
9de54aaf1c
docs(linux): Improve packaging doc 2021-02-01 15:18:37 +01:00
Eberhard Beilharz
222794bc1f
Merge pull request #4388 from keymanapp/chore/linux/4160-jenkinstag
chore(linux): Pass second tag parameter to Jenkins build
2021-02-01 15:01:19 +01:00
Eberhard Beilharz
9bcfcc7626
chore(linux): Pass second tag parameter to Jenkins build
This is necessary to be able to distinguish between a newly triggered
tagged build and a retriggered tagged build. The first tag param gets
saved between builds, but then we need a second parameter that doesn't
get saved that tells us if this build is a retriggered one.
2021-02-01 12:29:31 +01:00
Eberhard Beilharz
6ce137d6b9
Merge pull request #4376 from keymanapp/chore/linux/4160-jenkinstag
chore(linux): Pass second tag parameter to Jenkins build
2021-02-01 12:28:38 +01:00
Eberhard Beilharz
4de889844a
Merge pull request #4374 from keymanapp/chore/linux/sentry
chore(linux): Don't report on Sentry when running unit tests
2021-02-01 12:26:03 +01:00
Marc Durdin
0ae26ab790
Merge pull request #4380 from keymanapp/fix/windows/4337-crash-for-sinhala-mitigation
fix(windows): crash for Sinhala mitigation
2021-02-01 18:54:17 +11:00
Joshua Horton
df3f77b857
Merge pull request #4370 from keymanapp/fix/web/3294-keyboard-layout-fouc
fix(android, ios): eliminates OSK layout flashing from predictive text banner display
2021-02-01 14:21:11 +07:00
Joshua Horton
46a63980ee
Merge pull request #4371 from keymanapp/fix/web/unload-stylesheets
fix(web): removes stylesheets from unloaded keyboards
2021-02-01 14:20:49 +07:00
Marc Durdin
f83c8ebbe5 fix(windows): Show balloon when Keyman is already running
Fixes #4192.

If Keyman is already running, and the user attempts to start Keyman
again, a balloon will be shown to direct the user to the right place on
the screen.

Note: this worked in earlier versions of Keyman but stopped working due
to name changes for windows in the app.

I have also added a new string for balloon that will need translation.
2021-02-01 16:06:08 +11:00
Marc Durdin
ba9ecb6095 fix(windows): Ensure UAC window comes to foreground
Fixes #3936.

This is a trial change as I am not able to reproduce the problem on my
machine, probably due to timing.

@makarasok, can you please test if this resolves the UAC window not
coming to foreground on your test scenario for #3936?
2021-02-01 15:29:06 +11:00
Marc Durdin
302107baa6 fix(windows): When uninstalling, exit Keyman
Fixes #4185.

Make sure Keyman is shut down during the uninstall so that it isn't left
in a weird state with missing files. This also reduces the need for a
reboot after uninstall.
2021-02-01 15:25:17 +11:00
Marc Durdin
348b29687e fix(windows): avoid invalid language codes in Add Language dialog
Fixes #4343.

This patch makes all language codes from the langtags.json dataset
visible through the Add Language dialog. This avoids situations where
an incomplete code such as "cmo" can result in an error (a script is
required for "cmo" as it is written in either Latn or Khmr).
2021-02-01 10:20:19 +11:00
Marc Durdin
fdcb8191a8 fix(windows): crash for Sinhala mitigation
Fixes #4337.

The Sinhala language installation mitigation needed the BCP 47 code as
well as the language code with the new language installation process.
2021-02-01 08:30:16 +11:00
Marc Durdin
335f06661d fix(windows): remove Show Keyboard Usage hotkey
Fixes #4336.

Removes the "Show Keyboard Usage Page" hotkey entry as it has no effect,
and cleans up Keyboard Usage and OSK Hint strings from all the current
locales.
2021-02-01 07:58:05 +11:00
Marc Durdin
07e9402f0c fix(windows): Refresh setings on 64-bit apps
Fixes #4289.

Some settings changes would not apply immediately for 64-bit apps, as
the refresh was not being processed until keymanx64 received focus (i.e.
never, as keymanx64 does not have a visible window!)
2021-02-01 07:42:20 +11:00
Marc Durdin
95e086feb9
Merge pull request #4349 from keymanapp/fix/windows/4186-enter-spacebar-in-config
fix(windows): Enter and Spacebar handling in Configuration
2021-02-01 06:29:08 +11:00
Marc Durdin
d2a1cbf754
Merge pull request #4361 from keymanapp/fix/common/desktop-core-surrogate-pair-deletions
fix(common): tweak surrogate pair deletions
2021-02-01 06:25:48 +11:00
Marc Durdin
240ce8d3d6
Merge pull request #4360 from keymanapp/fix/windows/4196-surrogate-pair-deletions-tsf-aware
fix(windows): SMP-aware deletion in TSF-aware apps
2021-02-01 06:25:37 +11:00
Eberhard Beilharz
f809d47090 chore(linux): Pass second tag parameter to Jenkins build
This is necessary to be able to distinguish between a newly triggered
tagged build and a retriggered tagged build. The first tag param gets
saved between builds, but then we need a second parameter that doesn't
get saved that tells us if this build is a retriggered one.
2021-01-29 22:36:48 +01:00
Keyman Server
64054eecb2
Merge pull request #4373 from keymanapp/auto/version-beta-14.0.233
auto: increment beta version to 14.0.233
2021-01-30 05:03:32 +11:00
Eberhard Beilharz
ab58495438
chore(linux): Don't report on Sentry when running unit tests
When running unit tests we try to install some keyboards with
invalid URLs which normally results in an issue being reported on
Sentry. This change detects when we're running unit tests and
in that case doesn't initialize Sentry reporting.
2021-01-29 19:02:47 +01:00
Keyman Build Agent
3295ea0012 auto: increment beta version to 14.0.233 2021-01-29 13:02:34 -05:00
Keyman Server
2e94e1460d
Merge pull request #4372 from keymanapp/auto/version-master-15.0.13
auto: increment master version to 15.0.13
2021-01-30 05:02:16 +11:00
Keyman Build Agent
f84a2ac74e auto: increment master version to 15.0.13 2021-01-29 13:01:31 -05:00
jahorton
a67e26fb1c fix(web): removes stylesheets from unloaded keyboards 2021-01-29 12:54:50 +07:00
Marc Durdin
1ec9577613 chore(windows): fix typo 2021-01-29 16:14:24 +11:00
Marc Durdin
081471218e fix(common): add test case and fix smp bugs
Turns out that @darcywong00's suggestion for a test case was a Very Good
Idea. The SMP handling in Keyman Core had an egregious bug where only
half of a surrogate pair was being deleted in the UTF-16 context; see
kmx_processor.cpp 425-428. This was then masked by the test runner
masking the damage in the original test case; see kmx.cpp 193-203.

The new test case exercises a number of additional ways of manipulating
the context where surrogate pairs exist, to show we handle the deletion
properly within Keyman Core and in the test runner.
2021-01-29 16:05:07 +11:00