Commit graph

11498 commits

Author SHA1 Message Date
Marc Durdin
67bfdb970b fix(windows): Handle disabled profiles and invalid language ids
Fixes #4490.
Fixes #4435.

There are three parts to this:

1. Ensure that transient language profiles associated with a disabled
   keyboard are enumerated correctly
2. Stop trusting `LocaleNameToLCID` when it returns a transient language
   id, as it sometimes reports out-of-date values. We don't need to
   trust it in these cases anyway, because we have already collected the
   relevant transient language data from Win8Languages.
3. Finally, setting the profile GUID to `GUID_NULL` is simply tidyup,
   which does not have impact on the running code currently but makes
   state consistent.

I believe that part 2 fixes #4435 because the symptoms are identical.
But as I am unable to repro that particular issue on my machine thus
far, that is an assumption. Hopefully we can get a good test result from
@MakaraSok.
2021-03-10 10:34:55 +11:00
Eberhard Beilharz
c83f595622
Merge pull request #4633 from keymanapp/chore/linux/readme
chore(linux): Update readme
2021-03-09 20:31:19 +01:00
Eberhard Beilharz
3a092d4998
chore(linux): Update readme 2021-03-09 16:59:16 +01:00
Keyman Server
aef047f0cc
Merge pull request #4632 from keymanapp/auto/version-beta-14.0.256
auto: increment beta version to 14.0.256
2021-03-10 01:25:52 +11:00
Keyman Build Agent
ec65b1e9b9 auto: increment beta version to 14.0.256 2021-03-09 09:25:01 -05:00
Eberhard Beilharz
9c61e05496
Merge pull request #4631 from keymanapp/chore/common/readme
chore(common): Update readme
2021-03-09 14:58:40 +01:00
Eberhard Beilharz
ac9a77f0da
chore(common): Update readme 2021-03-09 12:10:36 +01:00
Keyman Server
09a83442d2
Merge pull request #4630 from keymanapp/auto/version-beta-14.0.255
auto: increment beta version to 14.0.255
2021-03-09 19:22:33 +11:00
Keyman Build Agent
a833579785 auto: increment beta version to 14.0.255 2021-03-09 03:21:45 -05:00
Marc Durdin
24ba51ad70
Merge pull request #4627 from keymanapp/fix/windows/4437-ensure-valid-base-layout-on-install
fix(windows): ensure valid base layout on install
2021-03-09 16:56:36 +11:00
Marc Durdin
8f16d1a19f
Merge pull request #4623 from keymanapp/fix/windows/4409-show-version-selector-for-msi
fix(windows): show version selector for Keyman in installer
2021-03-09 16:56:25 +11:00
Marc Durdin
fb1c600a6b
Merge pull request #4622 from keymanapp/fix/windows/4557-represerve-keys-on-setfocus
fix(windows): represerve keys on setfocus
2021-03-09 16:56:17 +11:00
Marc Durdin
1536a5fe1c chore(windows): address review comments 2021-03-09 15:48:52 +11:00
Marc Durdin
54e7b6c8d2 fix(windows): ensure valid base layout on install
Fixes #4437.

Makes sure that we don't end up with a base layout that is not using
Latin script at install time.
2021-03-09 15:17:21 +11:00
Joshua Horton
c2fc6109be
Merge pull request #4625 from keymanapp/docs/ios/whatsnew-l10ns
docs(ios): adds supported l10ns to help/about/whatsnew
2021-03-09 08:58:26 +07:00
jahorton
989a171756 docs(ios): adds supported l10ns to help/about/whatsnew 2021-03-09 08:23:01 +07:00
Marc Durdin
12a7d818bc fix(windows): show version selector for Keyman in installer
Fixes #4409.

If a user attempts to install an older version of Keyman, they need to
be able to choose to install the older version, and not the newer one
offered to them from online. However, the selector was hidden in the
Install Options dialog, even when it should have been accessible.
2021-03-09 08:42:33 +11:00
Marc Durdin
4a74d4767f fix(windows): represerve keys on setfocus
Fixes #4557.

When focus changes, we need to re-run `_PreserveAltKeys` as settings may
have changed, meaning we have to preserve a different set of keys. I
also made the `_PreserveAltKeys` function idempotent so that we don't
have to worry about cleanup before calling it -- by calling the cleanup
function internally instead.
2021-03-09 08:19:23 +11:00
Eberhard Beilharz
d3cf2374aa
Merge pull request #4621 from keymanapp/chore/linux/debian
chore(linux): Fix some lintian warnings for Debian package
2021-03-08 20:46:38 +01:00
Eberhard Beilharz
4599ce9912
Update linux/LICENSE.md
Co-authored-by: Marc Durdin <marc@durdin.net>
2021-03-08 20:46:20 +01:00
Marc Durdin
9bc6beb6e7
Merge pull request #4620 from keymanapp/fix/web/4566-undefined-in-ui-toolbar-menu
fix(web): use language code correctly in toolbar
2021-03-09 06:05:42 +11:00
Eberhard Beilharz
337039639b
chore(linux): Force signature verification
The previous setting didn't complain if uscan didn't find a signature
which doesn't help security wise. It would still allow an attacker
to modify the source package. This change now requires a valid
signature for the source package.
2021-03-08 19:42:07 +01:00
Eberhard Beilharz
e371fcb8b8
chore(linux): Verify signed source packages 2021-03-08 19:29:27 +01:00
Eberhard Beilharz
ec6ddf7e97
chore(linux): Fix more lintian warnings 2021-03-08 18:27:11 +01:00
Eberhard Beilharz
22ba0d6866
chore(linux): Clarify licenses 2021-03-08 18:26:50 +01:00
Eberhard Beilharz
3a78ef4be1
chore(linux): Fix some lintian warnings for Debian package 2021-03-08 17:38:28 +01:00
Marc Durdin
968c825787 fix(web): use language code correctly in toolbar
Fixes #4566.

When the toolbar shows a differentiation for the language code, it was
not using the correct minification-safe property name, which resulted in
`[undefined]` being displayed instead.
2021-03-08 21:39:16 +11:00
Keyman Server
ff8ae8b04b
Merge pull request #4618 from keymanapp/auto/version-beta-14.0.254
auto: increment beta version to 14.0.254
2021-03-06 05:03:47 +11:00
Keyman Build Agent
56af93f82f auto: increment beta version to 14.0.254 2021-03-05 13:02:56 -05:00
Marc Durdin
44be3541af
Merge pull request #4606 from keymanapp/fix/developer/4583-expand-file-names-before-load
fix(developer): Expand filenames before load
2021-03-05 19:38:54 +11:00
Eberhard Beilharz
6a0dac5af8
Merge pull request #4589 from keymanapp/chore/linux/sentry
chore(linux): Improve Sentry environment setting
2021-03-05 08:49:29 +01:00
Darcy Wong
a3054859b4
Merge pull request #4610 from keymanapp/docs/android/localized-languages
chore(android/app): Update whatsnew with available display languages
2021-03-05 11:50:49 +07:00
Darcy Wong
125999efb8 chore(android): Move KMEA breaking changes to help repo 2021-03-05 10:44:33 +07:00
Marc Durdin
791edee8ba
Merge pull request #4596 from keymanapp/fix/windows/4591-incxstr-potential-buffer-overrun
fix(windows): incxstr could run over buffer with malformed data
2021-03-05 14:18:02 +11:00
Darcy Wong
c47a6d1972 chore(android): Update whatsnew
* List available display languages
* Add KMEA breaking changes
2021-03-05 10:01:32 +07:00
Marc Durdin
c10b010d59 fix(developer): Expand filenames before load
Fixes #4583.
2021-03-05 13:44:55 +11:00
Joshua Horton
361f5685cd
Merge pull request #4568 from keymanapp/fix/ios/2197-app-browser-pkg-downloads
fix(ios): support for direct downloads of .kmp packages from within the in-app browser
2021-03-05 09:15:22 +07:00
Marc Durdin
a190cc6ff0
Merge pull request #4592 from keymanapp/fix/developer/2241-expansions-cleanup
fix(developer): tidy up expansions tests
2021-03-05 13:14:43 +11:00
Marc Durdin
be2d969775
Merge pull request #4595 from keymanapp/fix/windows/preserved-keymap-mapuschartovk
fix(windows): PreservedKeyMap::MapUSCharToVK line order bug
2021-03-05 13:12:35 +11:00
Darcy Wong
ff91d9d7d9
Merge pull request #4588 from keymanapp/fix/android/toast-locale
fix(android): Localize Toast notifications
2021-03-05 08:57:13 +07:00
Marc Durdin
fe2c1cd187 fix(windows): incxstr could run over buffer with malformed data
Fixes #4591.

I fixed incxstr in 4 places:

1. Common/Core: kmx_xstring.cpp
2. Engine: xstring.cpp
3. Test project importkeyboard importkeyboard.cpp
4. Test project m-to-p m-to-p.cpp

I updated mcompile to remove its own copy of incxstr (identical to that
in xstring.cpp) to reduce WETness but opted not to do so for the test
apps, which are pretty much throwaway anyway.

I note that there is more work we could do here; we need to check every
character as we increment so we don't miss a `U+0000` end of string with
malformed data. But I would like to tackle that as a separate job at
some point in the future after Core integration.
2021-03-05 12:50:29 +11:00
Darcy Wong
4068127196 fix(android/engine): Allow formatted strings in Toast 2021-03-05 08:42:38 +07:00
Marc Durdin
690a7fd787
Merge pull request #4586 from keymanapp/feat/developer/2241-caps-controlled-keys
feat(developer): &CasedKeys system store
2021-03-05 11:41:16 +11:00
Darcy Wong
51e8dd19e4
Merge pull request #4531 from keymanapp/fix/android/welcome-hangs
fix(android/app): Fix welcome.htm responsiveness
2021-03-05 06:54:51 +07:00
Marc Durdin
bc47b53a9b fix(windows): PreservedKeyMap::MapUSCharToVK line order bug
I discovered this while working on #4586. The code in question was
updating `*puKey` and then trying to dereference the array on the basis
of its new value, which (a) would give the wrong result, and (b) could
be reading off the end of the array (although not crashing it seems),
e.g. for `"` -> `VK_QUOTE`, which has a value of `0xDE`.

I am guessing that the reason we have not seen any bug reports on this
is that the keystroke handler falls back to an alternate code path, so
in the vast majority of cases, keyboards would continue to work
correctly. Furthermore, the test was just for truthiness of the `BOOL`
so probably at least 50% of the time we'd have been okay anyway. Or
something. Anyway, I reckon this is better.
2021-03-05 06:55:14 +11:00
Marc Durdin
6a247cd081 fix(developer): tidy up expansions tests 2021-03-05 06:49:13 +11:00
Eberhard Beilharz
78ecbea855
Update linux/scripts/reconf.sh
Co-authored-by: Marc Durdin <marc@durdin.net>
2021-03-04 20:33:48 +01:00
Keyman Server
2920c319c3
Merge pull request #4590 from keymanapp/auto/version-beta-14.0.253
auto: increment beta version to 14.0.253
2021-03-05 05:03:35 +11:00
Keyman Build Agent
e39ee5294c auto: increment beta version to 14.0.253 2021-03-04 13:02:44 -05:00
Eberhard Beilharz
63cefab0eb
chore(linux): Improve Sentry environment setting
When running from source we set the environment to `local` when
reporting to Sentry. This change also adds the package version and
the tier as additional Sentry tags.

This is a follow-up of PR #4581.
2021-03-04 16:01:52 +01:00