Commit graph

402 commits

Author SHA1 Message Date
Marc Durdin
4e5b59f016
Merge pull request #11555 from keymanapp/fix/developer/11554-handle-invalid-default-project-path
fix(developer): handle invalid default project path in options
2024-05-31 13:06:19 +07:00
Marc Durdin
769c10ccf5
Merge pull request #11552 from keymanapp/fix/developer/11551-create-folder-for-mrulist
fix(developer): ensure folder for MRU list is always created
2024-05-30 13:36:31 +07:00
Marc Durdin
951eb571fe chore(developer): rename Default_DefaultProjectPath to Get_Initial_DefaultProjectPath 2024-05-28 14:39:07 +07:00
Marc Durdin
15acd713fb 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:46:49 +07:00
Marc Durdin
59a907ee04 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:14:53 +07:00
Marc Durdin
6d2164f1e6 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:50:58 +07:00
Marc Durdin
84888c2390
Merge pull request #11512 from Nnyny/developer/contexthelp
chore(developer): add context/key-test
2024-05-24 13:51:59 +07:00
Marc Durdin
1e66b6ed0e
Merge pull request #11421 from keymanapp/chore/developer/11317-build.sh
chore(developer): build.sh for developer
2024-05-23 14:22:54 +07:00
Nnyny
273d79e204 context/key-test 2024-05-23 13:45:05 +07:00
Marc Durdin
c52d32cca6 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:02:28 +07:00
Marc Durdin
8b2070c339 chore(developer): minor cleanup on scripts
Additional shared script resources for Developer and Windows,
refactor of a code signing function, refactor of clean step in build.sh.
2024-05-20 06:35:11 +07:00
Marc Durdin
5c2737738d chore(developer): move to keymancore-2.dll 2024-05-20 06:35:08 +07:00
Marc Durdin
8b6d6b0618 chore(developer): cleanup on build scripts
A round of cleanup and consistency for Developer build scripts.
2024-05-20 06:35:05 +07:00
Marc Durdin
fa57d5c674 chore(developer): final work on build.sh for developer
Now builds from a clean repo:

  developer/src/build.sh configure build test publish

* Splits kmbrowserhost into kmdbrowserhost for Developer; this means
  that Developer Browser Host now inherits the Developer settings rather
  than the Keyman for Windows settings, and simplifies distribution and
  management. The only difference between the two is in the startup code
  so this seems like a good split.

* Cleanup of various build scripts and dependencies.
2024-05-20 06:34:53 +07:00
Marc Durdin
41df6d1cd7 chore(developer): refactor remaining build scripts
This finishes the changes for all build infrastructure for Keyman
Developer to use build.sh.
2024-05-20 06:34:50 +07:00
Marc Durdin
2d249cb8e6 chore(developer): cleanup test paths 2024-05-20 06:34:48 +07:00
Marc Durdin
c8a1c6aa39 chore(developer): use builder.inc.sh instead of build-utils.sh in build scripts
also, remove old Makefiles
2024-05-20 06:34:46 +07:00
Marc Durdin
2499ebf4bb chore(developer): move windows common Makefiles to build scripts
Relates to #11317.
2024-05-20 06:34:38 +07:00
Marc Durdin
86c62ff36c chore(developer): transition remaining projects to build.sh
Relates to #11317.

All projects now have a build.sh. Still need to work on inst/, remove
old Makefiles, and update CI.
2024-05-20 06:33:51 +07:00
Marc Durdin
8c14b20515 chore(developer): tike/build.sh 2024-05-20 06:33:49 +07:00
Steven R. Loomis
ca05471520 chore(windows): more updates for libkeymancore version 2024-05-08 09:07:01 -05:00
Steven R. Loomis
6706ae0957 chore(core): km_core_cp -> km_core_cu
- km_core_cp represents a 16 bit code unit, not a code point.

Fixes: #11033
2024-05-02 17:39:15 -05: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
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
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
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
9e369227b2 fix(developer): prevent error when scrolling touch layout editor with no selected key
Fixes #11107.
2024-03-28 10:42:19 +07:00
Marc Durdin
9cba6e7053
Merge pull request #10939 from keymanapp/docs/developer/10550-ldml-window-help-links
docs(developer): add help site links
2024-03-26 11:37:28 +11:00
Marc Durdin
a0d99ba07f
Merge pull request #11049 from keymanapp/fix/developer/11036-capture-alt-shortcuts-in-debugger
fix(developer): capture alt shortcuts in LDML keyboard debugger
2024-03-25 14:05:56 +11:00
Marc Durdin
b8291ec187 fix(developer): capture alt shortcuts in LDML keyboard debugger
Fixes #11036.

Also removes unused function ShortcutDisabled from both debuggers, to
avoid confusion.
2024-03-22 08:39:30 +07:00
Marc Durdin
523e5d4efb fix(developer): catch sharing violation when saving mru
Fixes #11041.

If two TIKE processes try to save the MRU at the same time, this can
result in a sharing violation. The relevant OLE error code is not
saved as a constant in Delphi lib, so I looked it up and added it here.
2024-03-22 06:11:34 +07:00
Marc Durdin
5a0f50088a
Merge pull request #10919 from keymanapp/fix/developer/10915-right-shift-in-developer-crash
fix(developer): Treat Right Shift as Shift in debugger
2024-03-07 18:12:59 +07:00
Marc Durdin
d406329f81 docs(developer): add help site links
Also fixes an inadvertent issue where F1 was not opening context help in
the text editor anywhere in Keyman Developer. This means that pressing
F1 while a keyword is highlighted in a .kmn keyboard will not re-open
the context help for that keyword once more (yay!)
2024-03-05 03:12:05 -06:00
Marc Durdin
e6db899453 fix(developer): hint text special characters
Fixes #10372.
2024-03-05 08:30:37 +07:00
Marc Durdin
219f375aeb fix(developer): Treat Right Shift as Shift in debugger
Fixes #10915.

Note that a more systemic fix to keyman core will involve ensuring that
the debug list is always properly terminated, but that does not need to
happen in beta.
2024-03-04 15:49:26 +07:00
Marc Durdin
05136e5dea fix(developer): make sure scroll bar appears when needed in global welcome
Fixes #10817.

This fix is a patch rather than a rework to use grid or flex css, which
would be better, but should not be done in beta.
2024-02-23 09:26:43 +07:00
Marc Durdin
b60243075d chore(common): upgrade sentry to 7.102.0 for Windows + Developer
Updates to version 7.102.0 of Sentry, in order to get working sourcemap
matching.
2024-02-22 12:51:01 +07:00
Marc Durdin
9a3d4e30f4 chore(developer): restore previous tags 2024-02-22 12:45:12 +07:00
Marc Durdin
d7411ec4c4 fix(developer): version string matches for sentry
Fixes two things:
* $VERSION_GIT_TAG was being misinterpreted by mkver as
  $VERSION + "_GIT_TAG". This has been addressed by making the $VERSION
  match the last one in the replaceVersionStrings_Mkver function, and
  also have moved to using the newer $VersionGitTag and $Environment
  vartiables instead.
* The 'dist' property was being set in sentry-cli sourcemap uploads,
  though we never set the dist prop when we initialize sentry.
2024-02-22 11:48:56 +07:00
Marc Durdin
dc93c5495c fix(developer): publish keymancore-1.dll symbols
Fixes #10737.

Two parts to this: first, Keyman Core release build needs to generate
the .pdb file, and second, the build needs to put it and the .dll into
a place where the sentry-cli scan will find it.
2024-02-21 13:53:52 +07:00
Marc Durdin
978fb125e6
Merge pull request #10781 from keymanapp/fix/developer/10684-crash-opening-invalid-project
fix(developer): crash opening invalid project
2024-02-21 12:00:57 +07:00
Marc Durdin
6a2bc432d6
Merge pull request #10780 from keymanapp/fix/developer/10545-reset-debugger-after-compile
fix(developer): reset debugger after ldml keyboard compile
2024-02-21 12:00:49 +07:00
Marc Durdin
16ece15653
Merge pull request #10779 from keymanapp/chore/developer/10543-ldml-project-text
chore(developer): add LDML specific text to Project view
2024-02-21 12:00:42 +07:00
Marc Durdin
7601ac9fca
Merge pull request #10775 from keymanapp/fix/developer/10546-tike-ide-message-formatting
fix(developer): match kmc console formatting for messages in IDE
2024-02-21 12:00:28 +07:00
Marc Durdin
5881645042 fix(developer): crash opening invalid project
Fixes #10684.

If a project .kpj file was not saved in UTF-8 or ANSI, or had a BOM,
then Keyman Developer would crash with an access violation due to an
uninitialized variable.
2024-02-20 13:04:07 +07:00
Marc Durdin
9045d2f970 fix(developer): reset debugger after ldml keyboard compile
Fixes #10545.
2024-02-20 12:51:36 +07:00
Marc Durdin
8115c15c3a chore(developer): add LDML specific text to Project view
Fixes #10543. Very basic text relating to LDML keyboards. Tweaks the
remaining text to match our project development model.
2024-02-20 12:03:34 +07:00
Marc Durdin
e431f850a0 fix(developer): match kmc console formatting for messages in IDE
Fixes #10546.

Format compiler messages in the same way as kmc, and match the colors
from kmc's console log messages.
2024-02-20 07:12:49 +07:00
Marc Durdin
013fdfaf0c fix(developer): prevent renaming of new project types in New Project dialog
Fixes #10548.
2024-02-19 15:32:31 +07:00