Commit graph

27982 commits

Author SHA1 Message Date
Marc Durdin
21c5cdb111 chore(common): make first parameter required 2022-04-01 16:47:56 +11:00
Marc Durdin
b7ce99480f feat(web): prediction casing follows current layer
Fixes #6455.

This involved adding an extra hint to the data passed into the lexical
model layer, being the CasingForm that the current layer wants to use.

Given there are several entry points to the lexical model layer, this
meant a few places where we needed to check the current layer.

I refactored the very long function `InputProcessor.processKeyEvent` to
extract out the `buildAlternates` function. There should be no
functional changes to the `buildAlternates` code. But it makes
`processKeyEvent` significantly easier to read.
2022-04-01 16:20:50 +11:00
Marc Durdin
b21e18afb2 fix(web): rely on caller for unmatched keys
Fixes #6005.

If a key has no default behavior, and the expectation is to trigger the
key default, then set the output behavior to null, so that the caller
will do the action.

This fixes a regression in #5553, which handled the situation where a
rule was triggered but then default output was expected (common example
is final sigma transform only when a word is finished).

The regression resulted in suggestions rotating unexpectedly when
pressing a modifier key.
2022-04-01 14:38:43 +11:00
Marc Durdin
9e67c8c197
Merge pull request #6453 from keymanapp/fix/web/6405-statekey-desync-with-layer
fix(web): track stateKeys changes with layer changes
2022-04-01 14:37:32 +11:00
Keyman Server
676c5b8670
Merge pull request #6458 from keymanapp/auto/version-beta-15.0.226
auto: increment beta version to 15.0.226
2022-04-01 13:58:37 +11:00
Keyman Build Agent
439d00d87b auto: increment beta version to 15.0.226 2022-03-31 22:57:58 -04:00
Shawn Schantz
7532e6802d
Merge pull request #6446 from keymanapp/fix/oem/fv/ios/fix-6441
fix(oem/fv/ios): maintain consistent keyboard state between Keyman Engine and FV app
2022-04-01 08:45:11 +07:00
Marc Durdin
d33401c033 chore(web): fixup InputProcessor tests 2022-04-01 08:55:55 +11:00
Marc Durdin
5dcd95da41
Merge pull request #6449 from keymanapp/feat/developer/5063-multiple-virtual-keys
feat(developer): keep Virtual Key Identifier dialog open on Insert
2022-04-01 07:32:53 +11:00
Marc Durdin
c53edd9a4c
Merge pull request #6428 from keymanapp/fix/ios/6416-keyboard-switch-newContext
fix(ios): reset context when osk is resized
2022-04-01 07:32:46 +11:00
Marc Durdin
be42e068f5 chore(web): fix NodeProctor device ref 2022-04-01 07:24:08 +11:00
Eberhard Beilharz
aa7537730a
feat(linux): Allow to run ibus tests on Wayland
This change modifies the `run-tests.sh` script so that tests
run on both Wayland (if supported) and X11 unless
`--no-wayland` or `--no-x11` is specified.

This change also adds the new argument `--wayland` to the
`ibus-keyman-tests` executable which runs the tests under
Wayland.

Note that running Wayland tests is only possible in Ubuntu 21.10+
because it requires a version of `mutter` that supports the
headless option which got added in mutter 40.
2022-03-31 17:52:50 +02:00
Darcy Wong
5bcac1b1bf chore(common): Update crowdin strings for km 2022-03-31 20:59:07 +07:00
Darcy Wong
079a2a9af1
Merge pull request #6447 from keymanapp/fix/android/popup-landscape
fix(android/engine): Use fixed sizes for preview keys
2022-03-31 18:28:42 +07:00
sgschantz
f0e1138605 remove unused class CheckBox 2022-03-31 13:41:09 +07:00
Darcy Wong
3365713f76 fix(android/engine): Use fixed sizes for preview keys 2022-03-31 10:41:21 +07:00
Marc Durdin
32584010b5 chore(web): update NodeProctor constructor of processor 2022-03-31 14:36:12 +11:00
Marc Durdin
c0f29861ac fix(web): track stateKeys changes with layer changes
Fixes #6405.

If the layer is reset to default, e.g. by switching fields, then the
state key bitmask was not always kept in sync with the layer change.
2022-03-31 14:08:33 +11:00
Marc Durdin
674ff3a711 fix(developer): update kmconvert command line call 2022-03-31 12:11:47 +11:00
sgschantz
5119503148 revised comments 2022-03-31 08:01:50 +07:00
Marc Durdin
67a02a4a93 fix(developer): make sure unit tests stop build on error 2022-03-31 11:39:09 +11:00
Marc Durdin
921f0b9f1a fix(developer): adds unit test for kmconvert 2022-03-31 11:38:54 +11:00
Marc Durdin
34e2d7008c fix(developer): validate kmconvert parameters
Checks common error scenarios in kmconvert command line parameters.
2022-03-31 11:38:03 +11:00
Marc Durdin
0696587cc8 refactor(developer): KMConvertParameters use private setters
First part of #5472.

Refactoring with no behavioural change to make it easier to validate
parameters.
2022-03-31 10:09:53 +11:00
Marc Durdin
746a2d9be6 chore: update additional tests 2022-03-31 08:02:37 +11:00
Marc Durdin
4bcc1f1287
Merge pull request #6444 from keymanapp/fix/developer/2185-add-wordlist-copy-file
fix(developer): Add Wordlist button now copies into source folder
2022-03-31 06:40:55 +11:00
Marc Durdin
2434570f88
Merge pull request #6442 from keymanapp/fix/web/track-load-error-detail
fix(web): track load error detail
2022-03-31 06:40:43 +11:00
Marc Durdin
32eaff95b8 chore(developer): and... tweak test fixture 2022-03-31 06:40:03 +11:00
Marc Durdin
62e2f51887 feat(developer): keep Virtual Key Identifier dialog open on Insert
Fixes #5063.

It can be useful to be able to insert multiple keys into the active
keyboard source file. With this tweak, the dialog no longer closes with
the Insert button, only with the Close button.
2022-03-31 06:24:59 +11:00
Marc Durdin
0606e4e732 chore(developer): tweak test 2022-03-31 06:09:32 +11:00
Marc Durdin
7c1c4b8729 chore(developer): tweak test reporting 2022-03-30 19:57:53 +11:00
Darcy Wong
4796d37fad fix(android/engine): Don't include font padding for popup keys 2022-03-30 14:59:29 +07:00
sgschantz
16b8e26c89 maintain active keyboard list and rebuild keyboard list in Keyman Engine whenever a keyboard is added or removed 2022-03-30 14:31:18 +07:00
Marc Durdin
a639eaa946 feat(developer): promote 'info' messages to 'hint'
There was confusion in the compiler between INFO and HINT type messages.
The problem is that INFO messages will be suppressed by -s/-ss in
kmcomp, but we actually still want HINT messages to be emitted. So I
have gone ahead and renamed CERR_INFO to CERR_HINT and updated all the
places.

This was necessary in order for the kmcomp e2e test 194 to pass.
2022-03-30 17:04:48 +11:00
Marc Durdin
a192803021 chore(web): address review comment 2022-03-30 16:39:49 +11:00
Marc Durdin
d0a26ae62f feat(developer): check filename case consistency when compiling keyboard
Fixes #194.

Adds a check for all the various file types that may be referenced by a
.kmn file to ensure that the case of the reference matches the case in
the filesystem, to ensure that files are transportable across to
case-sensitive filesystems.

The output is provided as a Hint (Info) level message so that it does
not fail keyboard builds.
2022-03-30 16:25:12 +11:00
Marc Durdin
825083e601 fix(developer): Add Wordlist button now copies into source folder
Fixes #2185.

If a wordlist file is not in the same folder as the .model.ts file,
Keyman Developer will now ask the user if they want it copied into the
folder.

Also minor fix: if the user deletes a row in a wordlist, it marks the
file as modified.

Also very minor: the initial folder for the Add Wordlist dialog is now
the same as the .model.ts file.
2022-03-30 10:04:55 +11:00
Marc Durdin
5603ca46fd feat(developer): add tests for unreachable code
This adds 4 tests for unreachable code and 1 future test. It also fixes
test.bat so that it exits with an error if the tests fail, and ensures
that tests are run by fixing the parent Makefile.
2022-03-30 09:15:07 +11:00
Marc Durdin
4a619b051d fix(developer): set kmcomp debug build to correct folder 2022-03-30 09:12:27 +11:00
Marc Durdin
0cadb83383 fix(web): track load error detail
This is a follow-up for #6331. We still did not have enough detail to
be able to trace the root cause of the load errors. This adds a little
more diagnostics.
2022-03-30 06:44:03 +11:00
Marc Durdin
7ff1ab8419
Merge pull request #6435 from keymanapp/feat/developer/4854-character-map-builder-integration
feat(developer): improve Touch Layout Editor and Character Map integration
2022-03-30 05:22:17 +11:00
Marc Durdin
175efea0b4 feat(developer): cleanup of unicode support 2022-03-29 14:55:21 +11:00
Marc Durdin
b50ad35d72 feat(developer): hint on unreachable code
Fixes #355.
Fixes #1710.

This is structured as a feature so it is tested as such, but was part of
the set of fixes scheduled for 15.0 beta. Any rule in a group that
Keyman Developer assesses as 'unreachable' will receive a hint message.

The current rule match is fairly simplistic -- it only does an exact
comparison -- so duplication which is indirect, through `any(store)`
references in the context would still result in unreachable rules that
are not picked up.
2022-03-29 12:49:34 +11:00
Marc Durdin
2a96518e3a
Merge pull request #6434 from keymanapp/chore/web/remove-unused-selectLayer-parameter
chore(web): remove unused `selectLayer` parameter
2022-03-29 12:36:25 +11:00
Marc Durdin
c55e13774e
Merge pull request #6433 from keymanapp/fix/common/6258-wordbreakers-package.json-main
fix(common): wordbreakers package.json main field
2022-03-29 12:36:18 +11:00
Marc Durdin
c0248bec1b
Merge pull request #6432 from keymanapp/fix/web/shifted-key-cap
fix(web): *Shifted* showed unshifted key cap
2022-03-29 12:36:12 +11:00
Keyman Server
2f2397ad53
Merge pull request #6439 from keymanapp/auto/version-beta-15.0.225
auto: increment beta version to 15.0.225
2022-03-29 12:32:31 +11:00
Keyman Build Agent
4e1f0432cd auto: increment beta version to 15.0.225 2022-03-28 21:31:48 -04:00
Shawn Schantz
a67d082553
Merge pull request #6197 from keymanapp/feat/oem/fv/ios/dictionary-support
feat(oem/fv/ios): Dictionary Support
2022-03-29 08:02:07 +07:00
Darcy Wong
cabbeabd09
Merge pull request #6438 from keymanapp/fix/android/clear-cache-after-kmp
fix(android/engine): Clear WebView cache on package install
2022-03-29 06:09:11 +07:00