Commit graph

33096 commits

Author SHA1 Message Date
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
Eberhard Beilharz
96c688551d
Merge pull request #4581 from keymanapp/chore/linux/sentry
chore(linux): Don't report to Sentry in dev environment
2021-03-04 15:57:08 +01:00
Eberhard Beilharz
cb9b3ead07
Merge pull request #4582 from keymanapp/fix/linux/4579-version
fix(linux): Improve version number
2021-03-04 11:01:49 +01:00
Joshua Horton
7e82ba629e
Merge pull request #4587 from keymanapp/fix/common/models/post-bksp-suggestions
fix(common/models): fixes application of suggestions immediately after a backspace
2021-03-04 15:57:08 +07:00
Darcy Wong
9b5826375a fix(android): Migrate Toasts to BaseActivity.makeToast 2021-03-04 14:59:53 +07:00
Darcy Wong
8a176dcb8f fix(android/engine): Add help method to localize Toast notifications 2021-03-04 14:57:58 +07:00
Darcy Wong
bdb4755ed9 chore(android/engine): Remove unused string
Cleaning up unused string failed_to_access_downloaded_file
2021-03-04 14:57:12 +07:00
Joshua Horton
7748abde9d
Merge pull request #4572 from keymanapp/fix/web/3950-underlying-key-display
fix(web): fixes lack of respect for underlying-key display settings
2021-03-04 13:23:22 +07:00
jahorton
2e55dced98 feat(common/models): adds some suggestion unit tests 2021-03-04 13:19:24 +07:00
jahorton
978eea2204 change(common/models): a bit of tidy-up 2021-03-04 12:44:08 +07:00
jahorton
35ee5828da fix(common/models): fixes incorrect deleteLeft prop for post-bksp suggestions 2021-03-04 12:36:39 +07:00
Marc Durdin
103e46c0d5
Merge pull request #4584 from keymanapp/feat/developer/2241-expansions
feat(developer): Range expansions
2021-03-04 15:05:32 +11:00
Marc Durdin
b7765483ec
Merge pull request #4576 from keymanapp/feat/developer/4314-open-containing-folder-options
feat(developer): Add different Open Containing Folder buttons
2021-03-04 15:05:19 +11:00
Marc Durdin
d536345a20
Merge pull request #4574 from keymanapp/fix/developer/2789-support-all-fonts-keyboard-fonts-dialog
fix(developer): Support all fonts in Keyboard Fonts dialog
2021-03-04 15:05:10 +11:00
Marc Durdin
0cbd053cda
Merge pull request #4571 from keymanapp/fix/developer/4278-improve-cef-location-search-stability
fix(developer): improve CEF location search stability
2021-03-04 15:05:02 +11:00
Joshua Horton
633c1a4efa
Merge pull request #4585 from keymanapp/feat/ios/l10n-update
feat(ios): enables de, fr, and km localizations
2021-03-04 10:56:29 +07:00
jahorton
bd8f7a1c04 change(common/core/web): default mobile layouts follow KDU (desktop) setting 2021-03-04 10:39:24 +07:00
jahorton
51f9bdc9a7 docs(ios): about the ios l10n updating process 2021-03-04 10:26:03 +07:00
jahorton
d20bb5d37d fix(ios): ResourceInfoView.strings l10n mapping correction 2021-03-04 09:50:22 +07:00
Marc Durdin
e9e4e7bcb6 feat(developer): &CasedKeys system store
Fixes #2241.

The `&CasedKeys` system store is a compiler feature that reduces the
repetitive nature of keyboard rules for `CAPS` and `NCAPS`. The
`&CasedKeys` system store defines a list of virtual keys for which
'normal' Caps Lock rules apply. This store has no default value, for
backward compatibility.

Once this store is defined, then you can define just the unshifted and
shifted versions of a rule, and Keyman Developer will synthesize the
`CAPS` and `NCAPS` versions of the rule. For example, you may have the
following rules:

```
store(&CasedKeys) [K_A]
+ [K_A] > 'α'
+ [SHIFT K_A] > 'Α'
```

These would be replaced by the compiler with:

```
store(&CasedKeys) [K_A]
+ [NCAPS K_A] > 'α'
+ [SHIFT CAPS K_A] > 'α'
+ [CAPS K_A] > 'Α'
+ [SHIFT NCAPS K_A] > 'Α'
```

You can also use this functionality with characters in the key part of
the rule:

```
store(&CasedKeys) 'a'..'c'
+ 'a' > 'α'
+ 'A' > 'Α'
```

and the compiled expansion would be similar:

```
store(&CasedKeys) [K_A] [K_B] [K_C]
+ [NCAPS K_A] > 'α'
+ [SHIFT CAPS K_A] > 'α'
+ [CAPS K_A] > 'Α'
+ [SHIFT NCAPS K_A] > 'Α'
```

This feature is backwardly compatible with Keyman 6.0, as it is entirely
implemented in the compiler.

This feature is not compatible with mnemonic layouts, and the keys
defined in the `&CasedKeys` store must be the unshifted base keys as
found on a US English keyboard, or you can use ISO9995 identifiers if
you prefer.

If you define a rule where you specify either `NCAPS` or `CAPS`, for a
key found in the store, then no change will be made to that rule. You
can also continue to define rules which use `NCAPS` or `CAPS` for keys
not found in the store.

As a side-benefit, this allows the visual designer to be used and
support Caps Lock, although at this stage, the `&CasedKeys` store is not
surfaced in the visual designer.
2021-03-04 13:41:04 +11:00
Joshua Horton
14eace1f17
Merge pull request #4577 from keymanapp/fix/ios/unlocalized-error-strings
fix(ios): adds i18n for some error alerts
2021-03-04 09:38:14 +07:00
jahorton
7f0a872b6b feat(ios): enables de, fr, and km localizations 2021-03-04 09:35:58 +07:00
jahorton
aba0a53b4e chore(ios): because xcode's encoding converter is broken 2021-03-04 09:07:41 +07:00
jahorton
00515dee8e change(ios): attempt at changing file encoding of localizable.strings 2021-03-04 08:56:35 +07:00
Marc Durdin
49131de2c6 chore: fixup encoding 2021-03-04 10:15:53 +11:00
Marc Durdin
7e424aaa62 chore(developer): tweak expansion test 2021-03-04 10:12:24 +11:00