Marc Durdin
26e99047b6
Merge pull request #11110 from keymanapp/fix/common/11084-isemptytransform-nullish-is-empty
...
fix(common): make `isEmptyTransform` return true if passed a nullish transform
2024-03-29 15:23:22 +11:00
Marc Durdin
4e403e9374
Merge pull request #11032 from keymanapp/fix/web/7866-layer-switch-key-deletes-selection
...
fix(web): prevent layer switch key from erasing selection
2024-03-29 15:22:58 +11:00
Steven R. Loomis
5f836d72f0
Merge pull request #11059 from keymanapp/fix/core/11045-assert-marker
...
fix(core,developer): variable/marker substitution in sets and strings🙀
2024-03-28 00:11:28 -05:00
Steven R. Loomis
d9c97c0b78
Merge pull request #11065 from keymanapp/fix/common/unicodeset-errcheck
...
fix(common): properly handle illegal UnicodeSets to prevent crash in kmc-ldml compiler 🙀
2024-03-28 00:04:39 -05:00
Marc Durdin
1bc5db3527
fix(common): make isEmptyTransform return true if passed a nullish transform
...
Fixes #11084 .
2024-03-28 10:45:08 +07:00
Steven R. Loomis
baeb3c80fc
fix(developer): fix an additional issue on illegal UnicodeSets
...
- update comments per review comments
- improve logic of checks around malloc
2024-03-26 17:24:56 -05:00
Darcy Wong
25de69ff17
Merge pull request #11035 from keymanapp/chore/osk-font-4-1
...
chore(common): Update keymanweb-osk.ttf to 4.1
2024-03-26 14:09:43 +07:00
Steven R. Loomis
f2ad7d4e68
fix(common): further improvement to string/set substitution
...
- tran: check for \uXXXX earlier in the chain, because we emit this format further down
- add test cases for syntax chars being used in variables
Fixes: bug(core): assert when matching markers #11045
Fixes: bug(developer): escape on string substitution if syntax char #11037
2024-03-25 14:52:32 -05:00
Steven R. Loomis
f773066fa0
fix(developer): store set variables in literal form, unescape in tran
...
- update the tran compiler to call escapeStringForRegex() on set items being substituted into an expression
2024-03-25 12:46:55 -05:00
Steven R. Loomis
67838e60a2
fix(developer,core): fix for marker substitution in sets
...
- for bug(core): assert when matching markers #11045
- track raw and marker-substituted sets
2024-03-25 12:00:55 -05:00
Steven R. Loomis
18ba46d874
fix(common): fix an additional issue on illegal UnicodeSets
...
- similar fix to https://github.com/keymanapp/keyman/pull/9492
- again may be due to a wasm version variant
- also additional rangechecking on the input side
2024-03-25 10:26:33 -05:00
Marc Durdin
5825c011de
Merge pull request #11009 from keymanapp/fix/developer/11002-kps-editor-should-not-emit-empty-fields
...
fix(developer): suppress emission of new empty fields in package editor
2024-03-22 09:17:53 +11:00
Darcy Wong
48bbd85858
chore(common): Update keymanweb-osk.ttf to 4.1
2024-03-21 20:06:11 +07:00
Marc Durdin
ea8366455c
chore(web): update test fixture
2024-03-21 14:03:40 +07:00
Marc Durdin
8fbb0c3281
chore(web): update tests
2024-03-21 10:38:43 +07:00
Marc Durdin
a54053bec6
fix(web): prevent layer switch key from erasing selection
...
Fixes #7866 .
When the transform generated by a key event results in no changes to the
text, this will no longer trigger a change event in the apps. This means
that layer switch keys will no longer erase the selection.
Fix proposed by @jahorton.
2024-03-21 10:08:23 +07:00
Marc Durdin
374955d838
fix(developer): suppress emission of new empty fields in package editor
...
Fixes #11002 .
The fields `<RelatedPackages/>` and `<Examples/>` should not be emitted
if they have no content, to improve file backward-compatibility.
2024-03-15 18:41:56 -05:00
Marc Durdin
812e914e87
fix(developer): min Keyman version for LDML is 17.0
...
Fixes #10959 .
2024-03-11 15:15:47 -05:00
Marc Durdin
ffe43d29ef
Merge branch 'beta' into fix/developer/10942-normalize-paths-in-kmc-package
2024-03-07 18:13:43 +07:00
Marc Durdin
7d03010479
fix(developer): normalize all input paths in .kps compiler
...
Fixes #10942 .
2024-03-05 17:34:06 -06:00
Steven R. Loomis
8975a38109
chore(common): ldml update out of techpreview 🙀
...
- updates to support techpreview -> 45
Fixes : #10900
2024-03-02 22:40:38 -06:00
Marc Durdin
abd5a86196
Merge branch 'beta' into refactor/developer/10207-message-detail
2024-03-01 07:54:31 +07:00
Marc Durdin
d4f73ac499
Merge pull request #10819 from keymanapp/chore/common/9843-keyman-touch-layout-schema-restrictive-layer-id
...
chore(common): loosen .keyman-touch-layout schema layer id requirements
2024-03-01 07:52:13 +07:00
Marc Durdin
4bb9b39ba2
refactor(developer): reorganize messages for adding details
...
Moved the ERROR_Message line above the Error_Message line for every
message in the compiler message files, as it makes the grouping clearer
once we start adding message details. For example, see the start of the
KmnCompilerMessages class.
Also wraps potentially-undefined parameters to the messages with a new
function `def`, shorthand for `CompilerMessageDef`, which converts the
parameter to '<param>' if it is undefined, which is helpful for
documentation.
2024-02-28 16:00:02 +07:00
Marc Durdin
c7afed7201
refactor(developer): split messages with callstacks into separate generator
...
Relates to #10207 .
In order to include message detail in messages, it is helpful to split
out the exception messages which have a separate parameter, so that
parameter at the same position can be the message detail.
Introduces the CompilerMessageSpecWithException function which takes an
exceptionVar parameter to achieve this differentiation.
2024-02-28 11:34:49 +07:00
Steven R. Loomis
9c2a73a290
chore(common,developer): rename unicodeSet to uset in code
...
Fixes: rename unicodeSet to uset 🙀 #10657
2024-02-27 18:15:57 -06:00
Marc Durdin
e1a8ce47e3
Merge pull request #10821 from keymanapp/fix/developer/10396-repeated-options-in-kmc
...
fix(developer): repeated options in kmc must now be fully specified
2024-02-27 16:04:50 +07:00
Marc Durdin
70a50f0f67
refactor(developer): move osk module from common-types to developer-utils
...
This module is used only by Keyman Developer compiler. It was originally
in common-types because we didn't have a shared module for Developer.
Moving it to @keymanapp/developer-utils in order to improve its
documentation.
2024-02-26 14:57:27 +07:00
Marc Durdin
7b198eb4a4
fix(developer): repeated options in kmc must now be fully specified
...
Fixes #10396 .
Instead of `--message 20ae 5006`, which is ambiguous, because 5006 could
be a filename, you must now specify the parameter option flag each time:
`--message 20ae --message 5006` (or `-m 20ae -m 5006`).
2024-02-23 13:17:11 +07:00
Marc Durdin
144456821b
chore(common): loosen .keyman-touch-layout schema layer id requirements
...
Fixes #9843 .
2024-02-23 10:38:45 +07:00
Joshua A. Horton
36e7a2b51a
chore(web): proper reporting of errors from es5 KMW
2024-02-22 10:20:32 +07:00
Marc Durdin
457275e46f
fix(developer): ensure fatal errors report message or made non-fatal
...
Fixes #10678 .
Some messages have been reduced to ERROR instead of FATAL, as they are
not internal compiler errors.
Where fatal messages are raised, the message will now be reported
through correctly to Sentry.
2024-02-20 11:10:39 +07:00
Steven R. Loomis
7cd2e2d4e0
fix(developer): fix for incorrectly-stateful regex
...
- take out the /g flag for regex used with .exec
For #10734
2024-02-15 15:47:41 -06:00
Joshua A. Horton
593189b30d
chore(web): Merge branch 'beta' into fix/web/transform-selection-interactions
2024-02-15 10:47:42 +07:00
Steven R. Loomis
8787073c40
feat(developer): errs on \uXXXX escapes 🙀
...
- note, some older test cases had to be fixed also.
For: #10389
2024-02-13 12:26:46 -06:00
Steven R. Loomis
b99a2cf2a5
Merge branch 'master' into feat/developer/10389-bad-regex-no-biscuit
2024-02-13 10:17:58 -06:00
Joshua A. Horton
0e06b7a20b
docs(web): adds a bit of extra documentation re: method return value paradigm
2024-02-13 11:05:38 +07:00
Joshua Horton
c246993a0f
Merge pull request #10641 from keymanapp/fix/web/invalid-longpress-shortcut
...
fix(web): prevent invalid longpress shortcut triggers
2024-02-13 09:47:57 +07:00
Steven R. Loomis
da4b544471
feat(developer): errs on unparseable regex 🙀
...
- also, make sure NFD-incompliant ranges get mapped to escaped chars
- also, propagate UnicodeSet errs out
For: #10389
2024-02-12 18:16:34 -06:00
rc-swag
89f6770a78
chore(windows): add const to argument definition
...
Updated the call stack to keep a const string for the value parameter
being written to registry.
SaveKeyboardOptionCoretoRegistry calls
IntSaveKeyboardOptionCoretoRegistry which calls
RegistryFullAccess::WriteString which calls
RegSetValueExW, which takes a const data parameter.
2024-02-09 11:11:27 +10:00
Joshua A. Horton
444aeec509
chore(web): unit test patchup after method rename
2024-02-08 15:40:39 +07:00
Joshua A. Horton
aefef2181d
chore(web): further PR cleanup
2024-02-08 13:12:26 +07:00
Joshua A. Horton
f36aba7bad
chore(web): explicit edge case condition
2024-02-08 11:52:13 +07:00
Joshua A. Horton
c32691c2e7
feat(web): extra edge-case unit tests
2024-02-08 08:19:40 +07:00
Joshua A. Horton
0f0784a0e7
change(web): simpler return value
2024-02-07 16:24:42 +07:00
Joshua A. Horton
1222b2b3e2
chore(web): minor simplification
2024-02-07 16:04:42 +07:00
Joshua A. Horton
b1adb857b3
fix(web): forgot to delete a ref to deleted name
2024-02-07 15:41:56 +07:00
Joshua A. Horton
e3da931606
change(web): clearer maxInterval handling
2024-02-07 15:40:36 +07:00
Joshua A. Horton
a903bb91e7
chore(web): some more cleanup + docs
2024-02-07 15:36:21 +07:00
Joshua A. Horton
7d4e3c70d0
change(web): replaces function for unit tests (just one instance)
2024-02-07 15:27:14 +07:00