Commit graph

33096 commits

Author SHA1 Message Date
Marc Durdin
b76eb41a06 fix(developer): handle edge cases for app sources
Relates to #6928 and KEYMAN-DEVELOPER-74.

Fixes one more potential pathway for assertions being raised, and adds
some extra debugging in case there are additional pathways we are not
capturing.
2022-11-09 07:32:05 +11:00
Keyman Server
a4912d4f00
Merge pull request #7653 from keymanapp/auto/version-beta-16.0.99
auto: increment beta version to 16.0.99
2022-11-09 05:30:09 +11:00
Keyman Build Agent
a1e82900bb auto: increment beta version to 16.0.99 2022-11-08 13:29:23 -05:00
Marc Durdin
d7fbdfc59a
Merge pull request #7617 from keymanapp/fix/developer/7616-inferred-key-text-stability
fix(developer): improve support for inferred key cap text
2022-11-09 05:14:44 +11:00
Marc Durdin
3113d613e0
Merge pull request #7638 from keymanapp/fix/web/7636-system-keyboard-modifier-keys
fix(web): avoid reset for touch system keyboard
2022-11-09 05:10:59 +11:00
Marc Durdin
42cc91b58f
Merge pull request #7651 from keymanapp/fix/developer/kmlmc-has-runtime-dep-on-keyman-version
fix(developer): kmlmc has runtime dependency on keyman-version
2022-11-09 04:55:13 +11:00
Darcy Wong
9baa77c015 fix(web): Add polyfill for Array.findIndex 2022-11-08 14:39:15 +07:00
Ross
ebff42e657 fix(windows): Merge branch 'fix/windows/ezip-file 2022-11-08 16:20:09 +10:00
Ross
329c3d340d fix(windows): add isValid check to package file 2022-11-08 16:15:34 +10:00
Marc Durdin
5eb006864b fix(developer): kmlmc has runtime dependency on keyman-version 2022-11-08 16:53:10 +11:00
Marc Durdin
d21827ca8f
Merge pull request #7648 from keymanapp/fix/web/7647-handle-undefined-keyid
fix(web): Handle undefined keyId in multi-tap
2022-11-08 16:46:33 +11:00
Marc Durdin
42a9f2ca72 fix(core): emit keystroke was writing to wrong queue
Fixes #7649.

emit_keystroke code path in kmx processor was writing directly to the
core queue instead of to the internal kmx processor queue. This caused
it to be out-of-order in the actions sent to the engine/debugger.

Engines didn't really care but it broke the debugger, for example if
only a deadkey was in the buffer and backspace was pressed, Developer
would assert as it would get unexpected context for the deletions.
2022-11-08 16:31:30 +11:00
Marc Durdin
08ef07750d fix(web): Handle undefined keyId in multi-tap
Fixes #7647.
2022-11-08 14:44:54 +11:00
Marc Durdin
cbc63c42b2
Merge pull request #7642 from keymanapp/fix/developer/7641-prevent-compile-if-no-project
fix(developer): disable Keyboard|Compile if no project loaded
2022-11-08 14:42:19 +11:00
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