Commit graph

27982 commits

Author SHA1 Message Date
Darcy Wong
c21b6f5cf6
Merge pull request #7383 from keymanapp/fix/web/highlight-suggestion-crash
fix(web): Only unhighlight suggestion if there's a pending one
2022-09-30 06:38:26 +07:00
Marc Durdin
7baa9f01cd
Merge pull request #7380 from keymanapp/feat/common/epic-ldml/7379-kvks-writer-for-ts
feat(common): kvks writer for TypeScript 🙀
2022-09-30 08:13:50 +10:00
Marc Durdin
976814a978
Merge pull request #7385 from keymanapp/fix/developer/epic-ldml/kmc-output-filenames
fix(developer): kmc was overwriting kmx with kvk 🙀
2022-09-30 08:13:16 +10:00
Marc Durdin
e28da7b1dd fix(developer): kmc was overwriting kmx with kvk 2022-09-30 07:54:39 +10:00
Keyman Server
6ba0486714
Merge pull request #7384 from keymanapp/auto/version-master-16.0.72
auto: increment master version to 16.0.72
2022-09-30 04:02:53 +10:00
Keyman Build Agent
8d92399c4b auto: increment master version to 16.0.72 2022-09-29 14:02:13 -04:00
Ross
1d7e0cedc9 feat(windows): Tweaks to layout
- Red Text in Languages if no languages have been added
- Adjust spacing for the keyboard layout buttons to insure the overall
  flex box padding matches the gap between the buttons.
- Remove blue hover from languages
- Add a selection colour for keyboard layout that has focus
- Change Hover colour for buttons
- Tweaks to the appearance of the Add/remove languages pop-up include a close button.
2022-09-29 21:14:28 +10:00
Darcy Wong
afba43b898 fix(web): Only unhighlight suggestion if there's a pending one 2022-09-29 13:33:42 +07:00
Joshua A. Horton
7de043021d fix(web): forgot to remove kmwembedded ref 2022-09-29 10:41:38 +07:00
Joshua A. Horton
336a1972a5 chore(web): Merge remote-tracking branch 'origin/master' into chore/web/unit-test-polish-pass 2022-09-29 10:38:14 +07:00
Joshua Horton
a3dde68d52
Merge pull request #7345 from keymanapp/fix/common/web/mock-deadkey-handling
fix(common/web): mock deadkey handling after rules manipulating context 📴
2022-09-29 10:37:49 +07:00
Darcy Wong
f06578714e chore(common): Update standard example 2022-09-29 10:34:25 +07:00
Joshua A. Horton
c79e1c3e3c chore(web): unit test polishing pass 2022-09-29 10:21:29 +07:00
Marc Durdin
78f4660557 feat(common): kvks writer for TypeScript
Also splits attributes from sub-elements in kvks-file in order to make
round-trip writing more pleasant.

Adds new round-trip test for kvks writer.

Removes incorrect property keybitmap, adds missing property layout.
2022-09-29 12:32:12 +10:00
Joshua A. Horton
d1887a50cd chore(web): drops alignInputs, hideInputs 2022-09-29 08:52:46 +07:00
Darcy Wong
0ee5055907 chore(common): Clarify assumption that THIS_SCRIPT has been set 2022-09-29 08:45:31 +07:00
Darcy Wong
32b002cf23
Merge pull request #7348 from keymanapp/fix/android/spacebar-caption-reload-osk
fix(web): Update spacebar caption when refreshing layout
2022-09-29 08:35:52 +07:00
Joshua A. Horton
897d3d7475 fix(web): content-editable attachment issue post-rebase 2022-09-29 08:17:56 +07:00
Joshua A. Horton
b126176394 chore(web): cleans up attachment tests, re-unifies 'em 2022-09-29 08:17:55 +07:00
Joshua A. Horton
ccea30e9c4 fix(web): fully drops simulated-element touch handlers 2022-09-29 08:17:54 +07:00
Joshua A. Horton
0775eee2ec chore(web): enables text-selection unit tests for mobile 2022-09-29 08:17:53 +07:00
Joshua A. Horton
3218b9a9f3 fix(web): fixes touch-based focusing issues with OSK interactions 2022-09-29 08:17:52 +07:00
Joshua A. Horton
8b346d4faf chore(web): properly places code that crept into #7345 2022-09-29 08:17:51 +07:00
Joshua A. Horton
366efe0e34 feat(web): enables non-design-mode iframes for touch 2022-09-29 08:17:50 +07:00
Joshua A. Horton
64037c0832 feat(web): content editable editing for touch 2022-09-29 08:17:49 +07:00
Joshua A. Horton
5d74d89e2c chore(web): better blur-event swallowing 2022-09-29 08:17:48 +07:00
Joshua A. Horton
fe585b88af chore(web): removal of 'kmw_ip' checks, references 2022-09-29 08:17:47 +07:00
Joshua A. Horton
7b498d60e1 chore(web): missed some spots 2022-09-29 08:17:46 +07:00
Joshua A. Horton
dfca726cf1 chore(web): fully removes touch-alias stuff 2022-09-29 08:17:45 +07:00
Joshua A. Horton
7bf29cecfd change(web): disconnects touch alias hooks, adds .inputMode 2022-09-29 08:17:44 +07:00
Marc Durdin
687c8bae99
Merge pull request #7370 from keymanapp/fix/developer/7090-7091-use-path-backslash-format-for-parameters
fix(developer): ensure backslash in paths passed to kmcomp
2022-09-29 09:22:57 +10:00
Marc Durdin
d8f6a092b3
Merge pull request #7369 from keymanapp/fix/developer/7005-invalid-js-when-using-digits-in-stores
fix(developer): generate valid js when using unquoted digits in stores
2022-09-29 09:22:46 +10:00
Marc Durdin
ea2a5373d3
Merge pull request #7361 from keymanapp/feat/developer/epic-ldml/visual-keyboard-compiler
feat(developer): visual keyboard compiler for LDML 🙀
2022-09-29 09:18:50 +10:00
Marc Durdin
2245918f9a
Merge pull request #7358 from keymanapp/refactor/developer/epic-ldml/keymanapp-common-types
refactor(developer): split file type management into package 🙀
2022-09-29 09:18:42 +10:00
Marc Durdin
65ecf12b94
Merge pull request #7357 from keymanapp/refactor/developer/epic-ldml/callbacks-out-of-readers
refactor(developer): move compiler callbacks out of readers 🙀
2022-09-29 09:18:34 +10:00
Marc Durdin
cc9784d463
Merge pull request #7355 from keymanapp/feat/developer/epic-ldml/kvk-support
feat(developer): kvk support 🙀
2022-09-29 09:18:27 +10:00
Darcy Wong
86c740e708
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2022-09-28 19:48:07 +07:00
Marc Durdin
7a819598e7 fix(developer): Handle hints and warnings cleanly
Relates to #4324 (but slightly orthogonal.)

We wanted some message classes to be handled in the lexical model editor
more cleanly, including drill-down to line of error. A few changes
required to make this work well:

1. Parse error messages from kmlmc. This is not perfect but works while
   the two projects are kept in sync, which they always are for Keyman
   Developer. Note that at this stage, .ts warnings are not captured in
   this parser, as they are generated by tsc.
2. Drill-down in Wordlist Editor Frame to find line of error
3. Model editor reports ownership of .tsv files so they can be loaded
4. In case of model editor not open (e.g. building from project view),
   the TSV standalone editor was not displaying the frame, so it never
   actually worked.
5. If the text editor had never loaded, then FindError was effectively
   a no-op; adds code to seek to error line after page load finishes.
6. Ensures that if we attempt to seek an error in a sub-file owned by
   an editor (e.g. .tsv owned by .model.ts, .kvks owned by .kmn), that
   the parent editor will be focused first. Does not verify all paths
   here, just the tsv one.
2022-09-28 20:17:44 +10:00
Marc Durdin
73e0a2e461 fix(developer): generate valid js when using unquoted digits in stores
Fixes #7005.

If a developer used single digit values in stores, unquoted (which is
not really the usual approach, but should work just fine for non-zero
values), the KMW compiler would emit invalid single-digit hexadecimal
escapes for them, e.g. `"\x1"` instead of `"\x01"`.

Sample code:

```
store(option) 1

if(option = 1) + 'a' > 'one'
if(option = 2) + 'a' > 'two'
+ '1' > set(option = 1)
+ '2' > set(option = 2)
```

It is not immediately obvious from this code, but the value `1` is
actually a character with value `'\x01'` or `U+0001`!

The more usual approach will not encounter this problem:

```
store(option) '1'

if(option = '1') + 'a' > 'one'
if(option = '2') + 'a' > 'two'
+ '1' > set(option = '1')
+ '2' > set(option = '2')
```

Note that the following is a compile error (due to internal use of
null terminated strings).

```
store(option) 0
```
2022-09-28 17:00:55 +10:00
Marc Durdin
f5b8effaae fix(developer): ensure backslash in paths passed to kmcomp
Fixes #7090.
Fixes #7091.

While kmcomp loads most files just fine when paths with forward slashes
are passed in, it fails to parse target path correctly when building one
file out of a project.

For example, if the user runs:

```
kmcomp.exe -t khmer_angkor.kmn release/k/khmer_angkor/khmer_angkor.kpj
```

Then the following error arises:

```
khmer_angkor.kps: Error: 0001 Validation error: The system cannot find the path specified.
khmer_angkor.kps: Failure: Package C:\Projects\keyman\keyboards\source\khmer_angkor.kps had validation errors.
```

This patch ensures all paths passed in as command-line parameters are
converted to backslashes, matching the expected Windows format. While I
only needed to fix the `FParamTarget` parameter in order to address the
reported issues, for consistency I applied the same fix to all input
paths.
2022-09-28 16:50:58 +10:00
Marc Durdin
50614fb088 fix(developer): handle invalid kps xml when loading project view
Fixes #7368.
2022-09-28 16:32:36 +10:00
Darcy Wong
06e31e5cfc chore(common): Update builder.inc.sh path 2022-09-28 12:57:01 +07:00
Darcy Wong
28ddfdb70a chore(common): Move builder.inc.sh up to resources/ 2022-09-28 12:56:43 +07:00
Darcy Wong
0645524022
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-09-28 12:56:16 +07:00
Marc Durdin
0b701275fd chore(developer): remove unused var 2022-09-28 15:25:35 +10:00
Ross
d2075cdbcc feat(windows): fix localisation for enable/disable 2022-09-28 15:00:05 +10:00
Darcy Wong
e021116aea chore(common): Add newline 2022-09-28 09:22:05 +07:00
Darcy Wong
ae892c10f7 chore(common): Resolve review comments 2022-09-28 09:09:24 +07:00
Darcy Wong
fcc4fdca61 chore(common): Add _builder_init 2022-09-28 09:09:09 +07:00
Darcy Wong
17435c310b chore(common): Add builder_die 2022-09-28 08:29:16 +07:00