Commit graph

27982 commits

Author SHA1 Message Date
Marc Durdin
9ddf3ddfc5
Merge pull request #7640 from keymanapp/fix/developer/7639-prevent-exception-in-char-map-on-focus
fix(developer): prevent exception in charmap when unable to focus
2022-11-08 14:41:54 +11:00
Marc Durdin
094050ec90
Merge pull request #7635 from keymanapp/fix/developer/7634-handle-encoding-error
fix(developer): handle EEncodingError loading text file
2022-11-08 14:41:35 +11:00
Marc Durdin
460b933a31
Merge pull request #7633 from keymanapp/chore/developer/tidy-up-hints
chore(developer): tidy up compile hints
2022-11-08 14:41:27 +11:00
Marc Durdin
7755e000a8
Merge pull request #7626 from keymanapp/fix/developer/7625-update-monaco-editor-to-0.15.6
fix(developer): update monaco editor to 0.15.6
2022-11-08 14:40:58 +11:00
Marc Durdin
d41c5c5bdb
Merge pull request #7624 from keymanapp/fix/developer/7622-swap-device-type-stability-in-debugger
fix(developer): set keyman.osk immediately after switching device type
2022-11-08 14:40:15 +11:00
Darcy Wong
0c27935add
Merge pull request #7620 from keymanapp/fix/android/recover-failed-kmp-install
fix(android/engine): Check temporary kmp file is valid
2022-11-08 09:43:00 +07:00
Darcy Wong
e27b70d5a0 fix(web): Add polyfill for Array.includes() 2022-11-08 09:26:45 +07:00
Steven R. Loomis
57648d87a2 fix(core): ldml: spec WIP 🙀
For #7532
2022-11-07 15:30:23 -06:00
Steven R. Loomis
d2546060d5
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-11-07 11:26:09 -06:00
Steven R. Loomis
f5c23b5fc8
Merge pull request #7629 from keymanapp/fix/core/snprintf 2022-11-07 07:29:26 -06:00
Marc Durdin
8e5c26bc2a fix(core): m_actions already existed in KMX_Options 2022-11-07 10:50:14 +11:00
Marc Durdin
a8c3854431 fix(core): save() should be on internal kmx action queue
Fixes #7643.

The kmn statement `save()` action was being written directly to the
state queue, bypassing the internal kmx action queue. This caused two
issues:

1. save() actions were out-of-order with other actions on the same key
   event.
2. The number of items in the internal action queue became out of sync
   with the debug item queue, which would cause the debugger to fail
   with an assertion.

The new test in debug_api.cpp validates this second issue as the number
of items in the action queue now matches the expected count in the
corresponding debug item.
2022-11-07 10:28:58 +11:00
Marc Durdin
7539c41b27 fix(developer): disable Keyboard|Compile if no project loaded
Fixes #7641.

If you close the active project and have the Welcome window visible, it
was possible for the Compile action to still be enabled, even though
there was nothing to compile.
2022-11-07 09:01:37 +11:00
Marc Durdin
b8f5ebd40a fix(developer): prevent exception in charmap when unable to focus
It appears that components within a docking form are unable to be
focused in some, rare contexts. We don't want to crash, and the end
result of not focusing  is not really all that tragic, so let's just
mask the exception.
2022-11-07 08:49:11 +11:00
Marc Durdin
b62bc0d197 fix(developer): only update charmap for hint when focused
Ensure that the character map is only updated for hint text when
actually editing the hint text.

Fixes KEYMAN-DEVELOPER-S8.
2022-11-07 07:20:09 +11:00
Marc Durdin
88e5bb8cdd fix(web): doModifierPress was testing against wrong device
The doModifierPress function was testing against the 'actual' device
rather than the virtual device, which meant that in the web debugger on
a desktop, testing a touch device, it was effectively testing against
the desktop device data rather than the simulated touch device data.

I did not observe any significant differences in behaviour between the
two modes. So I am not 100% confident that this change is necessary. But
it is a little concerning that there was a mismatch here.
2022-11-07 07:01:50 +11:00
Marc Durdin
7255f1c7f7 fix(web): avoid reset for touch system keyboard
When using the touch 'system' keyboard, the modifier keys are reset by
the kbdMismatch logic introduced in #7543. This is evident in the web
debugger of Keyman Developer, where the system keyboard is easily
accessible.

This maintains the fix from #7543, but removes the `resetContext()`
side-effect.
2022-11-07 06:43:39 +11:00
Marc Durdin
8286e8a85c fix(developer): handle EEncodingError loading text file
Fixes #7634.
2022-11-06 05:43:52 +11:00
Marc Durdin
c3b2df80bf chore(developer): tidy up compile hints 2022-11-06 04:59:50 +11:00
Steven R. Loomis
670791d3a9 fix(core): ldml spec typo 2022-11-04 15:28:26 -05:00
Marc Durdin
0f2fbd443d fix(developer): URL parameters should be UTF-8
Fixes #7628.

Indy components do not treat URLs as UTF-8. Our legacy EncodeURL
function (sourced from Indy components) was the same. Discovered we
needed to fixup the parsing of URLs as well as the construction of them;
there may be other places we need to fix, although I did do a search for
the relevant types in TIKE source.
2022-11-05 07:19:31 +11:00
Steven R. Loomis
1f2d8e782a fix(core): sprintf to snprintf 2022-11-04 15:06:12 -05:00
Marc Durdin
9813399d71 fix(developer): update monaco editor to 0.15.6
Updates Monaco editor from 0.14.3 to 0.15.6, incorporating
microsoft/vscode#57617 to fix #7625.

The changes to editor.js are required because `editor.model` was not a
public property and we should have been using `editor.getModel()` all
along.

I have not updated to the latest version of monaco (0.35.1 at time of
writing this), as I wish to minimize the changeset during beta.

While I prefer not to update dependencies in beta, this seems to be a
fairly clean update. Will monitor and can roll back if it leads to
instability.
2022-11-05 06:01:14 +11:00
Marc Durdin
6841a1149f fix(developer): avoid races in init of debugger 2022-11-05 05:27:20 +11:00
Marc Durdin
0c1b1937e3 fix(developer): set keyman.osk immediately after switching device type 2022-11-05 05:26:51 +11:00
Keyman Server
2afde0cc9d
Merge pull request #7623 from keymanapp/auto/version-beta-16.0.98
auto: increment beta version to 16.0.98
2022-11-05 05:25:57 +11:00
Keyman Build Agent
aadf618986 auto: increment beta version to 16.0.98 2022-11-04 14:25:16 -04:00
Steven R. Loomis
a9daefb293 feat(core): ldml: updates to C7043.1 spec 🙀
- merge all but the kitchen sink into layr element :)
- update numbers
2022-11-04 13:24:05 -05:00
Joshua A. Horton
83b2aae099 change(web): partial CSS restyle; CSS-based bubble height control 2022-11-04 15:16:53 +07:00
Joshua A. Horton
464da9b0b8 chore(web): minor cleanup, missed change for prior commit 2022-11-04 14:15:50 +07:00
Shawn Schantz
6b8cbff459
Merge pull request #7610 from keymanapp/fix/mac/transparent-system-icon
fix(mac): replace white background keyman system menu icon with transparent one
2022-11-04 13:06:02 +07:00
Joshua A. Horton
9e76ce6e3c change(web): removes constrain field from globe hint 2022-11-04 12:16:06 +07:00
Darcy Wong
3460dcf8e4 fix(android/engine): Check temporary kmp file is valid 2022-11-04 11:02:13 +07:00
Marc Durdin
c7a277e29e
Merge pull request #7607 from keymanapp/fix/developer/7605-7606-tweak-captions
fix(developer): tweak captions for consistency
2022-11-04 15:01:40 +11:00
Marc Durdin
7faf08e62f
Merge pull request #7600 from keymanapp/fix/windows/kmshell-debug-lines
fix(windows): include debug info in kmshell build
2022-11-04 15:01:33 +11:00
Darcy Wong
bfc87d0ea1
Merge pull request #7587 from keymanapp/fix/android/get-started-auto-check
fix(android/app): Don't show "Get Started" after setting Keyman as default system keyboard
2022-11-04 06:50:47 +07:00
Marc Durdin
238a8e9185 fix(developer): improve support for inferred key cap text
Fixes #7616.

Fixes a crash when attempting to infer key cap text from key id, and
cleans up the support for inferred key text so that it works correctly
in the designer.

Also adds a safeguard to KMW to stop invalid key ids causing a crash.
2022-11-04 06:18:24 +11:00
Keyman Server
2792ca733c
Merge pull request #7614 from keymanapp/auto/version-beta-16.0.97
auto: increment beta version to 16.0.97
2022-11-04 05:04:11 +11:00
Keyman Build Agent
1c2eb87384 auto: increment beta version to 16.0.97 2022-11-03 14:03:28 -04:00
Steven R. Loomis
3953cfaa29
Merge pull request #7592 from keymanapp/feat/developer/epic-ldml/7401-validation
feat(developer): improve validation and gap/switch handling  🙀
2022-11-03 10:51:02 -05:00
Steven R. Loomis
8cd7dbb768
Merge pull request #7591 from keymanapp/feat/developer/epic-ldml/improve-errmsg
feat(developer): improve err msg from Ajv 🙀
2022-11-03 10:50:54 -05:00
Steven R. Loomis
1da7cd3973
Merge pull request #7589 from keymanapp/chore/developer/cleanup-epic-ldml
chore(developer): ldml: rename `LKVkeyMaps` and `LKLayerMaps`, remove `LKBackspaces` 🙀
2022-11-03 10:50:38 -05:00
Steven R. Loomis
b86150a5d5
Merge pull request #7588 from keymanapp/chore/core/cleanup-epic-ldml
chore(core): ldml: cleanup   🙀
2022-11-03 10:49:49 -05:00
Joshua A. Horton
5f67c79306 feat(web): start of embedded globe hint 2022-11-03 15:16:56 +07:00
Darcy Wong
ad58fa7f1a
Merge pull request #7611 from keymanapp/fix/android/json-obj-parser
fix(android/engine): Handle parsing empty JSONArray as JSONObject
2022-11-03 11:06:28 +07:00
Darcy Wong
ad3a088bf6
Update android/KMEA/app/src/main/java/com/tavultesoft/kmea/JSONParser.java
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-11-03 11:06:01 +07:00
Marc Durdin
6415a2a530
Merge pull request #7608 from keymanapp/feat/web/custom-shift-multitap-layer
feat(web): Custom layer targets for Shift double-tap
2022-11-03 15:05:42 +11:00
Marc Durdin
68ef6ec444
Merge pull request #7604 from keymanapp/fix/devloper/7582-redux
fix(common): always define dry_run variable
2022-11-03 15:05:33 +11:00
Darcy Wong
7c7f5c315a fix(android/engine): Handle parsing empty JSONArray as JSONObject 2022-11-03 09:41:56 +07:00
Darcy Wong
c8259b4d29
Merge pull request #7603 from keymanapp/fix/android/package-activity-cleanup
fix(android/app): Add check if bundle to PackageActivity is null
2022-11-03 08:02:22 +07:00