Commit graph

2348 commits

Author SHA1 Message Date
Marc Durdin
a1c1658880
Merge pull request #9906 from keymanapp/fix/developer/9444-line-breaks-in-debugger
fix(developer): enable line breaks in debugger
2023-11-02 15:09:27 +11:00
Marc Durdin
38d2c92ecf
Merge pull request #9922 from keymanapp/fix/developer/7851-restore-selection-to-same-key-in-layout-builder
fix(developer): restore selection in layout builder even with duplicate ids
2023-11-02 15:06:32 +11:00
Marc Durdin
6be9fe6012
Merge pull request #9921 from keymanapp/fix/developer/8000-warn-if-layer-switch-key-missing-id
fix(developer): warn if layer switch key is missing ID
2023-11-02 15:06:23 +11:00
Marc Durdin
328f80847f
Merge pull request #9920 from keymanapp/chore/developer/rename-compiler-messages
chore(developer): rename messages.ts for clarity
2023-11-02 15:06:15 +11:00
Marc Durdin
e052178231
Merge pull request #9910 from keymanapp/feat/developer/7891-compile-button-in-toolbar
feat(developer): Compile button in TIKE toolbar
2023-11-02 15:06:03 +11:00
Marc Durdin
a98e5f6837
Merge pull request #9908 from keymanapp/fix/developer/7880-error-if-virtual-key-in-context
fix(developer): raise error if virtual key in context string
2023-11-02 15:05:54 +11:00
Marc Durdin
d9e759a8d2 chore(developer): address review comments 2023-11-02 11:05:23 +07:00
Marc Durdin
4341fc00b0
Merge pull request #9859 from keymanapp/feat/developer/9858-kmc-keyboard-info-extract-font-family
feat(developer): extract font family from .ttf in kmc-keyboard-info
2023-11-02 15:03:09 +11:00
Marc Durdin
c01a37145a chore(developer): address review comments 2023-11-02 11:02:20 +07:00
Marc Durdin
0dac92da57
Merge pull request #9914 from keymanapp/fix/developer/7852-layout-builder-maintain-presentation-during-undo
fix(developer): layout builder - maintain presentation during undo
2023-11-02 14:54:50 +11:00
Marc Durdin
539cfc18d3
Merge pull request #9907 from keymanapp/fix/developer/enable-and-update-tests
fix(developer): enable and update unit tests
2023-11-02 14:53:52 +11:00
Marc Durdin
067b7767c7
Merge pull request #9905 from keymanapp/fix/developer/9849-open-editor-links-in-new-window
fix(developer): open editor links in new window
2023-11-02 14:53:36 +11:00
Marc Durdin
7fec53af81
Merge pull request #9904 from keymanapp/chore/developer/9853-related-package-id-label
chore(developer): change field label to 'Related Package ID' in Related Packages dialog
2023-11-02 14:53:15 +11:00
Marc Durdin
edde4ed76d
Merge pull request #9902 from keymanapp/fix/developer/9899-project-mru
fix(developer): Project MRU now saves correctly
2023-11-02 14:51:33 +11:00
Marc Durdin
45b5db1974
Merge pull request #9844 from keymanapp/chore/developer/verify-kmp-json-output-from-kmc-package
chore(developer): verify kmp.json output from kmc-package
2023-11-02 14:50:50 +11:00
Marc Durdin
e2ecf5726c
chore: Apply suggestions from code review 2023-11-02 14:17:49 +11:00
Marc Durdin
bd2315dbac fix(developer): restore selection in layout builder even with duplicate ids
Fixes #7851.

Note that this fixes the selection pop issue with duplicate ids in some
scenarios but not all. For example, the undo stack doesn't have enough
detail at this point to be able to track this. This fix addresses the
most egregious issue relating to key size adjustment and similar.
2023-11-01 10:43:48 +07:00
Marc Durdin
15523dfe11 fix(developer): warn if layer switch key is missing ID
Fixes #8000.

In earlier versions of KeymanWeb, it was assumed that layer switch keys
would not necessarily need an identifier, as they would not be
generating a standard KeymanWeb key event. However, this assumption does
not really hold, so we should be warning on missing identifiers for
layer switch keys.
2023-11-01 09:48:13 +07:00
Marc Durdin
0ec76f0761 chore(developer): rename messages.ts for clarity
Renames two messages.ts to kmn-compiler-messages.ts and
kmw-compiler-messages.ts, as otherwise confusion reigns.

Also a minor cleanup of the error messages from touch layout processing,
to clarify message names and return appropriate message for missing
layout file.
2023-11-01 09:30:31 +07:00
Marc Durdin
c759414e71 fix(developer): layout builder - maintain presentation during undo
Fixes #7852.

When undo is run in the layout builder, it is better to keep the user's
selected presentation if possible. (The selected presentation is not
stored in the undo stack, but is a view property affected by the
currently selected platform.)
2023-11-01 04:59:40 +07:00
Marc Durdin
5b9608438e feat(developer): Compile button in TIKE toolbar
Fixes #7891.
2023-10-31 14:20:18 +07:00
Marc Durdin
8c1f3c4783 fix(developer): raise error if virtual key in context string
Fixes #7880.

Virtual keys have never been allowed in context. This should be an error
in a keyboard. Note: virtual keys in output are officially unsupported
but still kinda sorta a little bit work in Windows -- but I doubt they
will ever be officially supported.

Also includes small side journey to tidy up names and constants for two
other tests (error_duplicate_group and error_duplicate_store).
2023-10-31 14:04:26 +07:00
Marc Durdin
236b1ebc54 fix(developer): enable and update unit tests
Several unit tests were not running as they were not referenced in
developer/src/test/auto/Makefile. This meant that some tests were
outdated:

* two keyboard fixtures needed recompiling with kmcomp in order to match
* some interfaces had changed slightly, necessitating updates to
  corresponding unit tests.
2023-10-31 13:50:34 +07:00
Marc Durdin
0d36fc0cf8 fix(developer): enable line breaks in debugger
Fixes #9444.
2023-10-31 12:59:51 +07:00
Marc Durdin
3d6c3c81eb fix(developer): open editor links in new window
Fixes #9849.
2023-10-31 12:44:07 +07:00
Marc Durdin
3db78a2244 chore(developer): change field label to 'Related Package ID' in Related Packages dialog
Fixes #9853.
2023-10-31 11:50:53 +07:00
Marc Durdin
b2d628dc79 fix(developer): Project MRU now saves correctly
Fixes #9899.

Several problems resolved here:
* project mru did not refresh the welcome screen on first load, so the
  welcome screen was often showing projects that were no longer relevant
* content saved to registry did not match expectations on load, so mru
  never worked between sessions (always flushed on reload)
* synchronization between simultaneous sessions did not work, because
  the list was only saved when Keyman Developer exited

Minor tidyup:
* WideString -> string -- legacy cleanup from when Delphi was
  non-Unicode.
* Reordered functions to group more clearly.

Note: the issue was not that there was both registry and xml content;
the source of truth is the registry for Project MRU, and project_mru.xml
is copied from that for the welcome screen. So instead of taking the
fix recommended in #9899, have addressed this by fixing the above points
in the registry code.
2023-10-31 10:46:35 +07:00
Marc Durdin
68c1bcd454 fix(developer): debug flag for compiling keyboards
Fixes #9885.

The 'Include Debug Info' flag was being ignored by the kmc wrapper.
2023-10-31 09:39:35 +07:00
Marc Durdin
f3e4507484 fix(developer): compiler crash when no project loaded
Fixes #9889.

This arises from a deprecated way of using Keyman Developer by starting
Keyman Developer by opening a keyboard .kmn file from Explorer, which
causes Developer to run in a 'projectless' mode. This was not tested in
the new compiler integration, and that has caused this crash.

In 'projectless' mode, there is still a global 'untitled' project, but
the files loaded do not 'belong' to it. The compiler settings are
inherited from the global 'untitled' project in this case.
2023-10-31 06:06:02 +07:00
Marc Durdin
83ca8783e3
Merge pull request #9861 from keymanapp/fix/developer/9851-fill-from-layout-displaymap-path
fix(developer): handle displayMap correctly with 'fill from layout'
2023-10-28 17:50:13 +11:00
Steven R. Loomis
d1bbdbf07a fix(developer): ldml improve key compiler 🙀
- shorten one line

For feat(developer): ldml re-sync with CLDR v44 spec 🙀  #9838
2023-10-26 21:45:32 -05:00
Steven R. Loomis
3176f88ba4 fix(developer): ldml only hint on normalization=disabled 🙀
For feat(developer): ldml re-sync with CLDR v44 spec 🙀  #9838
2023-10-26 21:42:21 -05:00
Steven R. Loomis
f72c571696
Merge branch 'master' into chore/developer/9838-cldr44-epic-ldml 2023-10-26 18:38:14 -05:00
Steven R. Loomis
a45dc5c345 chore(developer): ldml update to prefinal v44 🙀
-  fix binary size issue
- upstream: issue in abnt2 sample keyboard

For feat(developer): ldml re-sync with CLDR v44 spec 🙀  #9838
2023-10-26 18:21:56 -05:00
Steven R. Loomis
4d358cabda chore(developer): ldml update to prefinal v44 🙀
-  utilities for extracting key ids
-  more key validation and munging
-  touch layout
-  fix basic.txt

For feat(developer): ldml re-sync with CLDR v44 spec 🙀  #9838
2023-10-26 12:57:07 -05:00
Marc Durdin
e321e54458 fix(developer): handle displayMap correctly with 'fill from layout'
Fixes #9851.

Two fixes:

* errors from loading the displayMap from disk should be handled before
  passing result to next function
* temp compile of the .kmn for the 'fill from layout' function should be
  in the same path as the original .kmn, so that referenced files can be
  located
2023-10-26 14:47:53 +07:00
Marc Durdin
cff2e0e3ba feat(developer): extract font family from .ttf in kmc-keyboard-info
Instead of generating a name for the web fonts, we should be using the
font family from the .ttf, as we have it available. This allows us to
avoid downloading the font if the user already has it installed on their
system.

Uses ttfmeta npm package, which is a lightweight .ttf reader. Updates
the honking big unit test to do some basic tests on this functionality.
2023-10-26 14:15:54 +07:00
Marc Durdin
85c39ad846
Merge pull request #9839 from keymanapp/fix/developer/9830-confusing-unicode-fields
fix(developer): reduce confusion in Unicode fields in touch layout editor
2023-10-26 16:17:27 +11:00
Marc Durdin
762f343b52
Merge pull request #9824 from keymanapp/chore/common/kpj-handle-xml-error
chore(common): handle invalid XML in kpj-file-reader
2023-10-26 13:46:29 +11:00
Marc Durdin
72f7a6ec09
Merge pull request #9822 from keymanapp/fix/developer/9702-server-download-keyman-link
fix(developer): server download Keyman link
2023-10-26 13:46:19 +11:00
Marc Durdin
a51adc7787
Merge pull request #9821 from keymanapp/fix/developer/9797-package-compiler-handle-xml-error
fix(developer): handle xml errors in package compiler
2023-10-26 13:46:06 +11:00
Marc Durdin
d92bd1e70a chore(developer): handle failures to build kmp.json in kmc-package 2023-10-26 09:32:26 +07:00
Steven R. Loomis
a8e2be5e9e chore(developer): ldml update to prefinal v44 🙀
- more tweaks

For feat(developer): ldml re-sync with CLDR v44 spec 🙀  #9838
2023-10-25 15:40:24 -05:00
Steven R. Loomis
6da64553fc chore(developer): ldml update to prefinal v44 🙀
- form

For feat(developer): ldml re-sync with CLDR v44 spec 🙀  #9838
2023-10-25 08:56:55 -05:00
Marc Durdin
cdac2dd01b chore(developer): verify kmp.json output from kmc-package 2023-10-25 12:07:46 +07:00
Steven R. Loomis
a9f437f97a chore(common,developer): ldml update to prefinal v44 🙀
- more data and developer fixes

For feat(developer): ldml re-sync with CLDR v44 spec 🙀  #9838
2023-10-24 17:40:34 -05:00
Steven R. Loomis
1ff2bfc4d7 chore(developer,common,core): ldml update to prefinal v44 🙀
- more data file updates
- now updating some developer files
- updating the KMX+ spec with some changes.
 (vkey was dropped in #7135, remove it from the spec)

For feat(developer): ldml re-sync with CLDR v44 spec 🙀  #9838
2023-10-24 17:28:08 -05:00
Steven R. Loomis
870cf76049 chore(developer,core): ldml update to prefinal v44 🙀
- more data files

For feat(developer): ldml re-sync with CLDR v44 spec 🙀  #9838
2023-10-24 14:56:09 -05:00
Steven R. Loomis
5dbda001fc chore(common,core): ldml update to prefinal v44 🙀
- common passes tests
- updated data files

For feat(developer): ldml re-sync with CLDR v44 spec 🙀  #9838
2023-10-24 14:47:22 -05:00
Marc Durdin
82177013e9 chore(core): Merge branch 'master' into feat/core/9720-actions-apis 2023-10-24 20:55:10 +07:00