- build-key2.ts: comments, and treat the kmxplus data as const
- build-layr.ts: comments, reordering of structs, and treat the kmxplus data as const
- build-list.ts: comments, reordering
- string-list.ts: comments
- kmx-plus.ts: comments
- ldml-keyboard-xml.ts: update definition of LKKey.transform
-
For #7532
- keys: key.to
- disp: display.to, display.display
- disp: displayOptions.baseCharacter
The rest will have to wait for downstream of PR #7630
For: #7569
- throw rangeError on invalid codepoints
- update escapes
Thrown message: 'Out of range while unescaping '\u{110000}': Invalid code point 1114112'
For: #7965
- yes, sect was counting itself. Too much automation!
- disable layr/key2/list loading in C++ for now
For feat(developer): ldml: include all LDML data in kmx+ 🙀#7532
Fixes#7879.
If we enter a search string that results in zero results, the grid
resize to one row attempts to select row zero. However, we prevent this.
This leaves the current row outside the range of valid rows, which means
the grid is in an invalid state.
This later causes a crash if the user attempts to mousewheel up. There
may be other similar crashes in this situation, but I haven't found any
yet.
Fix is to allow selection of row zero when there is only one row. I have
not found any problems caused by allowing this.
Fixes#7810.
This addresses a regression introduced in #7631, where URL parameters
with spaces would be encoded into `+` instead of `%20`. Looking a bit
deeper at the Delphi `TNetEncoding.URL.Encode` function I realised that
it was entirely inadequate. Some guy named Marc Durdin wrote a blog a
good few years ago about the problem, and that's what I ended up using.
This encoding issue caused filenames with spaces (by default, project
paths in Developer have spaces) to give a 404 when editing a touch
layout, which meant that the touch keyboards could not be saved.
Also fixes KEYMAN-DEVELOPER-74, where the + encoding caused multiple
entries to appear in the filename cache.
Amusing to Google this problem, find solid answer on SO, which pointed
to my very own blog. Embarrassing that my own code didn't already
include my own fix.
A secondary issue is also fixed here, where request parameters were
double-decoded for formencoded POST requests. The fix for broken URL
encodings was only required for GET requests.
This also showed up in KEYMAN-DEVELOPER-74, with double-encoded paths
being registered as source files.
- list is probably in good shape for the builder (not yet the writer).
Other stuff TBD.
For feat(developer): ldml: include all LDML data in kmx+ 🙀#7532