Commit graph

2950 commits

Author SHA1 Message Date
Marc Durdin
694837cd2d
Merge pull request #11556 from keymanapp/fix/developer/cherry-pick/11554-handle-invalid-default-project-path
fix(developer): handle invalid default project path in options 🍒 🏠
2024-05-31 13:06:25 +07:00
Marc Durdin
b79943e86a
Merge pull request #11559 from keymanapp/fix/developer/cherry-pick/11557-invalid-project-file-at-launch
fix(developer): handle invalid project file when scanning for owner project 🍒 🏠
2024-05-30 09:29:27 +07:00
Marc Durdin
ffa6f8a411
Merge pull request #11553 from keymanapp/fix/developer/cherry-pick/11551-create-folder-for-mrulist
fix(developer): ensure folder for MRU list is always created 🍒 🏠
2024-05-30 09:29:06 +07:00
Marc Durdin
634bd9b315
Merge pull request #11547 from keymanapp/fix/developer/cherry-pick/11545-nomatch-return-causes-exception
fix(developer): handle unsupported `return` statement in `match` and `nomatch` in web compiler 🍒 🏠
2024-05-30 09:28:55 +07:00
Marc Durdin
e46a2b2331 fix(developer): handle invalid project file when scanning for owner project
Also updates the only other place where a project file is loaded like
this, in the project renderer, and handles it too (this scenario is
less likely to happen because the project file must already have been
loaded in order to be presented in the UI).

Fixes: #11557
Fixes: KEYMAN-DEVELOPER-1Z2
2024-05-27 12:48:38 +07:00
Marc Durdin
e02322d75f fix(developer): handle invalid default project path in options
If a relative or otherwise invalid path is given for `default project
path` in .keymandeveloper/options.json, then this will reset the path
to the default of `%Documents%/Keyman Developer/Projects`.

Fixes: #11554
Fixes: KEYMAN-DEVELOPER-1ZB
2024-05-27 12:17:21 +07:00
Marc Durdin
9ff69e4227 fix(developer): ensure folder for MRU list is always created
This arises if `%AppData%/Keyman/Keyman Developer` folder is missing.
It is sporadic because most times, Keyman Developer Server wins a
startup race and creates the folder before this code is ever reached.

Fixes: #11551
Fixes: KEYMAN-DEVELOPER-1MY
2024-05-27 10:53:16 +07:00
Marc Durdin
7054275fc3 fix(developer): handle unsupported return statement in match and nomatch in web compiler
The `return` statement is unsupported in the web compiler. This is
documented, but the problem here was that the `nomatch` and `match`
metarules have no corresponding `fkp` structure, so that caused a fatal
error in the compiler if these were used in combination, e.g.

    nomatch > return

Fixes: #11545
2024-05-27 09:41:29 +07:00
Marc Durdin
c23cf49b7e fix(developer): test existence of ngrok.exe before atttempting to start
Fixes the scenario where the `%AppData%\Keyman\Keyman Developer\Server\bin`
folder exists, but ngrok.exe is not in the folder, which caused Keyman
Developer Server to crash.

Fixes: #11542
Fixes: KEYMAN-DEVELOPER-1JE
2024-05-27 08:24:29 +07:00
Marc Durdin
19693199a9 fix(developer): handle KM_CORE_IT_INVALIDATE_CONTEXT in debugger
The output from Keyman Core changed in #11172 to emit a
`KM_CORE_IT_INVALIDATE_CONTEXT` action when a frame key is pressed, but
the debugger was not catering for this scenario, causing an assertion
failure.

Fixes: #11486
Fixes: KEYMAN-DEVELOPER-1Y4
2024-05-21 09:06:20 +07:00
Marc Durdin
8474372baa fix(developer): define lastSelLength variable
Fixes #11361.
2024-05-06 10:25:04 +07:00
Marc Durdin
4fc94a9e70 fix(developer): handle missing Description element for File element in package compiler
Fixes #11353.
2024-05-03 14:31:10 +07:00
Marc Durdin
78902e3891 fix(developer): handle missing Name element for File element in package compiler
Fixes #11351.
2024-05-03 14:25:35 +07:00
Marc Durdin
d019707a65
Merge pull request #11244 from keymanapp/fix/developer/11199-export-osk-without-keyman-installed
fix(developer): support export of visual keyboard when Keyman for Windows not installed
2024-04-26 17:08:58 +10:00
Dr Mark C. Sinclair
9cb29b06da chore(developer): Merge branch 'beta' into test/developer/keyboard-info-compiler-messages-unit-tests-2 2024-04-23 12:24:54 +01:00
Dr Mark C. Sinclair
e742926dba chore(developer): some further elimination of code redundancy 2024-04-23 11:58:04 +01:00
Marc Durdin
5658a177a2
Merge pull request #11276 from keymanapp/fix/developer/11274-use-strict-for-downlevel-browsers
fix(developer): "use strict" for downlevel browsers in Server
2024-04-23 18:55:33 +10:00
Marc Durdin
83b925310a
Merge pull request #11271 from keymanapp/fix/developer/11262-crash-when-closing-in-help-form
fix(developer): report missing help to sentry instead of local xml
2024-04-23 18:55:20 +10:00
Marc Durdin
85fccb35f6
Merge pull request #11269 from keymanapp/fix/developer/11233-ne-plus-ultra
fix(developer): keep escaped plus-sign escaped 🙀
2024-04-22 23:42:57 +10:00
Dr Mark C. Sinclair
00d7b6ccc7 chore(developer): Merge branch 'beta' into test/developer/keyboard-info-compiler-messages-unit-tests-2 2024-04-22 10:38:37 +01:00
Dr Mark C. Sinclair
2f43362e6c chore(developer): Merge branch 'beta' into test/developer/keyboard-info-compiler-unit-tests-2 2024-04-22 10:33:13 +01:00
Marc Durdin
d3c2ddf671
Merge pull request #11275 from keymanapp/fix/developer/11273-initdroparea-lazy-init
fix(developer): lazy initialization of test window
2024-04-22 18:29:05 +10:00
Marc Durdin
90b7e3161f
Merge pull request #11272 from keymanapp/fix/developer/11261-handle-multiple-server-instances
fix(developer): handle multiple instances of Server starting
2024-04-22 18:28:58 +10:00
Marc Durdin
f199c6aec2
Merge pull request #11270 from keymanapp/fix/developer/11260-handle-invalid-unicode-values-in-layout-builder
fix(developer): handle invalid Unicode values in touch layout builder
2024-04-22 14:18:02 +10:00
Marc Durdin
50f2547436
Merge pull request #11252 from keymanapp/fix/developer/11194-avoid-crash-if-mru-project-is-missing
fix(developer): test that MRU project exists before attempting to reference on startup
2024-04-22 14:17:55 +10:00
Marc Durdin
f870e912f3 fix(developer): "use strict" for downlevel browsers in Server
Fixes #11274.
2024-04-22 10:57:53 +07:00
Marc Durdin
d296100feb fix(developer): lazy initialization of test window
Fixes #11273.

On some devices, the fetch() would return faster than the remaining
script loads, which caused this script error. Lazy initialization should
address this.
2024-04-22 10:56:01 +07:00
Marc Durdin
dfdda1a4b2 fix(developer): handle multiple instances of Server starting
Fixes #11261.
2024-04-22 10:32:55 +07:00
Marc Durdin
65c056cb26 fix(developer): report missing help to sentry instead of local xml
Fixes #11262.

Avoid the crash by reporting missing help pages to Sentry instead of
attempting to write to a local .xml file. This gives us more data of
which help is missing from Keyman Developer, which is more useful to
us.
2024-04-22 09:21:53 +07:00
Marc Durdin
007f0bdc28 fix(developer): handle invalid Unicode values in touch layout builder
Fixes #11260.
2024-04-22 08:26:03 +07:00
Steven R. Loomis
7fb97efa43 fix(developer): escape plus and asterisk sign
- additional tests for asterisk and plus

Fixes: #11233
2024-04-19 16:37:16 -05:00
Marc Durdin
57fb66a53a chore(developer): ignore missing folder when cleaning 2024-04-19 10:08:52 +07:00
Marc Durdin
1f616a875d chore(developer): temporary copy of osk xml when building installer 2024-04-19 06:39:23 +07:00
Dr Mark C. Sinclair
e6f40ad73a chore(developer): simplify a TextDecoder.decode stub 2024-04-18 11:21:06 +01:00
Dr Mark C. Sinclair
5e14f009b9 chore(developer): replace khmer_angkor sources with constant 2024-04-18 10:48:48 +01:00
Dr Mark C. Sinclair
65429bd089 chore(developer): replace some fixture paths with constants 2024-04-18 10:26:41 +01:00
Dr Mark C. Sinclair
687fcee296 chore(developer): remove placeholder comment 2024-04-18 09:57:17 +01:00
Marc Durdin
5f7f9e905c fix(developer): test that MRU project exists before attempting to reference on startup
Fixes #11194.

If the last-used project file no longer exists (e.g. has been renamed),
then Keyman Developer would crash as it did not test that the file had
been loaded successfully before attempting to reference it.
2024-04-18 14:05:39 +07:00
Marc Durdin
787d5f5a01 fix(developer): prevent xmlns for ldml keyboard template child elements
Fixes #11228.
2024-04-18 13:49:38 +07:00
Marc Durdin
1f38954fd7 chore(developer): fixup osk xml path 2024-04-18 13:28:41 +07:00
Marc Durdin
89773e13de fix(developer): support export of visual keyboard when Keyman for Windows not installed
Fixes #11199.
2024-04-18 10:26:06 +07:00
Dr Mark C. Sinclair
c7f2916f23 chore(developer): add additional test cases to platform test 2024-04-16 11:38:37 +01:00
Dr Mark C. Sinclair
9903972a30 chore(developer): combine three run platform tests into one multi-case 2024-04-16 11:21:37 +01:00
Dr Mark C. Sinclair
cfcc091be1 chore(developer): add check run sets platforms correctly if no targets provided (with .js file in sources but not .kps) test 2024-04-16 10:49:03 +01:00
Dr Mark C. Sinclair
db6af170d6 chore(developer): add check run sets platforms correctly if no targets provided (with .js file in sources and .kps) test 2024-04-15 12:45:35 +01:00
Dr Mark C. Sinclair
3d0c18c1fb chore(developer): add additional assert to check run sets platforms correctly if kmx file provided test 2024-04-15 12:25:35 +01:00
Dr Mark C. Sinclair
33d6668915 chore(developer): add initial check run sets platforms correctly if kmx file provided test 2024-04-15 12:00:37 +01:00
Dr Mark C. Sinclair
be1a0302d7 chore(developer): add test case numbers to multi-case tests 2024-04-15 10:43:23 +01:00
Dr Mark C. Sinclair
d63a2413de chore(developer): moved test cases out of two tests to avoid sync problems 2024-04-11 18:31:38 +01:00
Dr Mark C. Sinclair
193401e15e chore(developer): add check run sets minKeymanVersion correctly test 2024-04-11 14:17:05 +01:00