Commit graph

2431 commits

Author SHA1 Message Date
Steven R. Loomis
fffac6716e fix(developer): vis kbd callbacks instead of throw 🙀
- fix API and call sites

For: #9438
2023-11-17 12:42:48 -06:00
Darcy Wong
284ec099ee
Merge pull request #9993 from keymanapp/chore/common/keymanweb-osk-ttf
chore(web,developer): Move keymanweb-osk.ttf to common/resources
2023-11-15 19:10:27 +07:00
Marc Durdin
a355721e1b
Merge pull request #9996 from keymanapp/chore/developer/9948-handle-project-version-cleanly-in-kmc
chore(developer): handle project version checks cleanly in kmc 🦕
2023-11-15 13:48:44 +11:00
Marc Durdin
e2b7c69f61
Merge pull request #9995 from keymanapp/chore/developer/9948-only-source-path-files-in-project-views
chore(developer): show only source path files in project views 🦕
2023-11-15 13:48:37 +11:00
Marc Durdin
dce6de57c9
Merge pull request #9989 from keymanapp/feat/developer/9948-handle-errors-loading-projects
feat(developer): handle errors loading projects 🦕
2023-11-15 13:48:29 +11:00
Marc Durdin
4ac71cca19
Merge pull request #9986 from keymanapp/chore/developer/9948-manage-sourcepath-in-upgrade-project
chore(developer): manage SourcePath in project upgrade 🦕
2023-11-15 13:48:19 +11:00
Marc Durdin
16bea3442e
Merge pull request #9985 from keymanapp/chore/developer/9948-only-build-source-files
chore(developer): only build source files 🦕
2023-11-15 13:48:09 +11:00
Marc Durdin
8895775d12
Merge pull request #9984 from keymanapp/feat/developer/9948-project-settings-20-form
feat(developer): Project Settings Form for 17.0+ projects 🦕
2023-11-15 13:47:44 +11:00
Marc Durdin
e77472c658
Merge pull request #9969 from keymanapp/fix/developer/9948-show-project-upgrade-messages-in-messages-panel
fix(developer): Project upgrade messages now show in Messages panel 🦕
2023-11-15 13:47:35 +11:00
Marc Durdin
7d204d5b06
Merge pull request #9966 from keymanapp/fix/developer/kmc-build-ldml-create-outdir
fix(developer): kmc build ldml keyboard should create output folder 🦕
2023-11-15 13:47:26 +11:00
Marc Durdin
ad2f6b33c9
Merge pull request #9964 from keymanapp/feat/developer/9948-show-ldml-xml-keyboards-in-project
feat(developer): show .xml LDML keyboards in project 🦕
2023-11-15 13:47:16 +11:00
Marc Durdin
b8dcc1b43d
Merge branch 'master' into feat/developer/9948-load-xml-ldml-files 2023-11-15 13:46:52 +11:00
Marc Durdin
26900f7b2c
Merge pull request #9956 from keymanapp/chore/developer/9948-hide-remove-project
chore(developer): hide 'Remove From Project' for v2.0 projects 🦕
2023-11-15 13:46:26 +11:00
Marc Durdin
c060666c0a
Merge pull request #9950 from keymanapp/feat/developer/9869-new-project-description-and-tweaks
feat(developer): New Project - Description field and tweaks 🦕
2023-11-15 13:46:16 +11:00
Marc Durdin
a937f3c7de
Merge pull request #9949 from keymanapp/feat/developer/tike-2.0-projects
feat(developer): Support v2.0 projects in TIKE 🦕
2023-11-15 13:46:07 +11:00
Darcy Wong
9af4ce3f53 fix(developer): Attempt 2 to copy font 2023-11-15 09:07:04 +07:00
Darcy Wong
71ea3c3fd1 fix(developer): Update Makefile to copy keymanweb-osk.ttf 2023-11-15 06:41:13 +07:00
Darcy Wong
2f9bb5be7f fix(developer): Add configure output for font 2023-11-14 08:32:18 +07:00
Marc Durdin
65b7b20dc8 chore(developer): handle project version checks cleanly in kmc
Relates to #9948.

While the schema validation does check the version already, it gives a
fairly obtuse message, and we can do better.

Found a secondary issue with a iterator type guard needed in
kpj-file-reader when preparing unit test, which was probably masked in
other tests by not verifying all messages generated, so updated all
infrastructure message tests to verify the full set of messages
generated.
2023-11-14 06:24:28 +07:00
Marc Durdin
4fe5df1e69 chore(developer): show only source path files in project views
Relates to #9948.

For v2.0 projects, only show .kmn, .kps, .model.ts, .tsv, and .xml files
if they are source files within Options.SourcePath.
2023-11-14 06:02:04 +07:00
Darcy Wong
799a84579a chore(developer): Add configure step to copy font 2023-11-13 20:31:14 +07:00
Darcy Wong
6ff0cd202d chore(common): Move keymanweb-osk.ttf to common/ 2023-11-13 15:44:46 +07:00
Marc Durdin
53b57939e4 feat(developer): handle errors loading projects
Relates to #9948.

Prevents loading of projects other than v1.0, v2.0, and also handles
error cases when attempting to load projects.
2023-11-13 13:41:58 +07:00
Marc Durdin
c488460c71 chore(developer): manage SourcePath in project upgrade
Relates to #9948.

When upgrading a project to v2.0, it is important that all source files
are in the same folder. This change makes the upgrade process verify
that this is the case and blocks the upgrade if there are source files
in multiple folders.

Source files are .kmn, .xml (ldml keyboard), .kps, and .model.ts.
2023-11-13 12:12:11 +07:00
Marc Durdin
d39af4edc5 chore(developer): only build source files
For batch builds (e.g. project/compile all) of v2.0 projects, we only
want to build files that are listed in the project's $SOURCEPATH, so
that the project can contain extra folders with source file types that
won't break a project-level build.

Any source file types in extra folders can still be built one-by-one,
which is helpful for investigation and test for keyboard authors, but
will not be built if project build is selected.

This commit also formalizes the source/ SourcePath for upgraded projects
which contain a source/ folder. If the project to be upgraded does not
contain the source/ folder, then no SourcePath is assigned, and any
source file in any folder will be built.
2023-11-12 06:43:39 +07:00
Marc Durdin
f9272aac21 feat(developer): Project Settings Form for 17.0+ projects 2023-11-12 06:40:58 +07:00
Marc Durdin
3c0b7a9b51 fix(developer): Project upgrade messages now show in Messages panel
Relates to #9948.

Having the project upgrade messages in the Messages panel means that
users can refer to them as they clean up their projects to bring them
into the v17 format.
2023-11-08 12:33:42 +07:00
Marc Durdin
974bbd1ee3 fix(developer): kmc build ldml keyboard should create output folder
Relates to #9948.
2023-11-08 10:38:35 +07:00
Marc Durdin
5e9056f142 feat(developer): show .xml LDML keyboards in project
Identifies .xml keyboards when building file list, then shows those
appropriately in the keyboard list. Also enables grouped actions such
as keyboard_compileall for those keyboards.
2023-11-08 10:06:25 +07:00
Marc Durdin
a923537ed4 feat(developer): Actions to support LdmlKeyboardEditor
Adds actions to support LdmlKeyboardEditor, and refactors and
reorganizes the existing actions along the way to make them clearer.

Compile, Install, and Uninstall supported at this time
2023-11-08 08:16:11 +07:00
Marc Durdin
7c937e7d94 feat(developer): Split dmActionsDebugger out of dmActionsKeyboardEditor
Because the debugger actions are used only with the kmn keyboard editor,
it makes sense to keep them as a separate module, in preparation for
supporting XmlLdmlKeyboards.
2023-11-08 06:22:50 +07:00
Marc Durdin
befe2b87a1 refactor(developer): add xmlLdml types and form, rename ActiveEditor
Adds XmlLdml keyboard editor form based on the plain text Editor for
now.

ActiveEditor is a name used for multiple purposes. Rename to
ActiveKmnKeyboardEditor and introduce ActiveLdmlKeyboardEditor
alongside.
2023-11-08 06:03:11 +07:00
Marc Durdin
7b8fe32161 feat(developer): Add basic LDML XML keyboard file support to TIKE projects 2023-11-08 05:51:28 +07:00
Darcy Wong
71a9b9d66a
Merge pull request #9846 from keymanapp/chore/developer/non-printing-chars
feat(developer): Add more non-printing characters
2023-11-07 15:20:21 +07:00
Marc Durdin
857017f4ad chore(developer): remove obsolete project code
Removes old state load/save from each project file type, and the
unused WarnAsError property, in preparation for xmlLdmlProjectFile.
2023-11-07 14:57:40 +07:00
Marc Durdin
96e78c6818 chore(developer): fix typo 2023-11-07 14:57:08 +07:00
Marc Durdin
a312f735ad chore(developer): tweak prompt for project upgrade 2023-11-07 14:29:04 +07:00
Marc Durdin
eb97eb94b5 chore(developer): hide 'Remove From Project' for v2.0 projects
Relates to #9948.
2023-11-07 14:26:49 +07:00
Marc Durdin
0285993fcf feat(developer): New Project - Description field and tweaks
Fixes #9869.

Adds a 'Description' field, tweaks Copyright strings, and tweaks
default content for documentation to the New Project wizards and
kmconvert.
2023-11-07 06:04:33 +07:00
Marc Durdin
4c5a91081f feat(developer): Support v2.0 projects in TIKE
Relates to #9948. Starts basic support for v2.0 projects.

For all operating modes:

- Remove blank projects / untitled projects mode
- Add Open Project Folder buttons and links
- Remove Project Save As
- Render uses in-memory XML
- Upgrade to v2.0 project file (along with checks)

For v2.0 projects:

- Remove 'Add File to Project'
- Populate Files to list all files in folder (note: consider efficiency
  here as currently files are parsed for subfile data)
- Version 2.0 project options and defaults
2023-11-07 05:18:25 +07:00
Darcy Wong
5902c764c7
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-11-06 15:26:32 +07:00
Darcy Wong
699e1f350b chore(common): Revert other files 2023-11-06 15:25:59 +07:00
Marc Durdin
479da80a1a
Merge pull request #9941 from keymanapp/fix/developer/9848-resilient-cache-state-loading
fix(developer): resilience in loading Server config and cache files
2023-11-06 17:56:04 +11:00
Marc Durdin
946dcdabdf
Merge pull request #9940 from keymanapp/fix/developer/9939-sentry-support-in-server
fix(developer): Sentry in Server should honour reporting settings
2023-11-06 17:55:56 +11:00
Darcy Wong
132c8c7980 fix(developer): Revert test changes 2023-11-06 13:48:31 +07:00
Darcy Wong
56a86a8f87
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-11-06 13:42:36 +07:00
Marc Durdin
7a08688ae1
Merge pull request #9938 from keymanapp/feat/developer/9931-line-numbers-for-some-kmw-messages
feat(developer): provide line number for some kmw compiler messages
2023-11-06 14:57:51 +11:00
Marc Durdin
2f42dd41f0
Merge pull request #9937 from keymanapp/chore/common/npm-prepublish-remove
chore(common): remove prepublish step from package.json
2023-11-06 14:57:43 +11:00
Marc Durdin
3e3fb92d59
Merge pull request #9924 from keymanapp/chore/developer/remove-CompileErrorCodes
chore(developer): remove compile.pas and CompileErrorCodes.pas
2023-11-06 14:57:35 +11:00
Marc Durdin
65b73b7c54
Merge branch 'fix/developer/9939-sentry-support-in-server' into fix/developer/9848-resilient-cache-state-loading 2023-11-06 14:47:08 +11:00