Commit graph

5162 commits

Author SHA1 Message Date
Sabine
081fa7deb9 chore(developer): use namespaces in kmcmplib (except for in dllexport-functions) 2022-12-20 11:31:08 +01:00
Steven R. Loomis
bc14f18460 Merge remote-tracking branch 'origin/master' into chore/core/mergemaster4-epic-ldml 2022-12-15 17:55:13 -06:00
Steven R. Loomis
eb8c4dea7a feat(core): ldml: basic: updates to basic.txt for layr 🙀
- more key2 chan ges

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #753
2022-12-15 15:27:58 -06:00
Sabine
105d6f3fba chore(developer): solve merge conflicts in namespaces 2022-12-15 01:47:34 +07:00
Sabine
597462ab72 chore(developer): introduce namespace kmcmp instead of different filenames 2022-12-13 16:05:11 +07:00
Joshua A. Horton
db15c4956b chore(common): removes at-this-point-unused npm package 2022-12-12 09:26:14 +07:00
Joshua A. Horton
4cd7cd3363 feat(common): TS-based srcmap remapper tool 2022-12-12 08:52:56 +07:00
Marc Durdin
8e90efe14a fix(developer): invalid charmap cell selection when updating to empty search result
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.
2022-12-10 06:04:17 +07:00
Marc Durdin
25abcbc10a
Merge branch 'master' into chore/beta-to-master 2022-12-09 20:47:31 +11:00
Sabine
d067324ccf chore(developer): add flag flag_use_kmcompx as switch to use old code (kmcmpdll) or new code kmcmplib 2022-12-08 16:28:15 +07:00
Steven R. Loomis
30761fec01 feat(core): ldml: basic: updates to basic.txt for layr 🙀
- doc fix also
- key2 still to go

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #753
2022-12-03 04:55:52 +08:00
Sabine
26f17a9626 chore(developer): add more CERR_tests and move some to other folder, edit readme 2022-12-02 19:59:08 +07:00
Joshua A. Horton
c5f90d931c chore(web): Merge branch 'chore/web/top-level-build-script-rework' into change/web/reorg-source-src-reorg 2022-11-30 15:38:57 +07:00
Joshua A. Horton
4a96cdb0cb chore(web): cleanup per PR review 2022-11-30 15:35:18 +07:00
Steven R. Loomis
66f01f4cf5 feat(core): ldml: fix to build-layr 🙀
For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-29 18:33:04 -06:00
Marc Durdin
a3c570fccd chore(common): avoid building 'invalid' shared keyboards 2022-11-29 14:44:52 +07:00
Marc Durdin
c0cbd157e2 chore(developer): Merge branch 'feature-kmcompx' into refactor/developer/6026-kmcompx-compiler-cross-platform-part-2-NEW_VERSION 2022-11-29 13:20:28 +07:00
Sabine
0ebb7c37f7 chore: copy files back 2022-11-29 10:19:07 +07:00
Sabine
2b0fb45477 chore: use ifdef for vkeys 2022-11-29 10:12:07 +07:00
Joshua A. Horton
448fa44715 chore(web): Merge branch 'chore/web/top-level-build-script-rework' into change/web/reorg-source-src-reorg 2022-11-28 10:21:48 +07:00
Joshua A. Horton
f8b763b270 chore(web): Merge branch 'master' into chore/web/top-level-build-script-rework 2022-11-28 10:06:16 +07:00
Steven R. Loomis
e98835d35b feat(core): ldml: updates to layr 🙀
- re-redo of layr
- most tests now pass
- updated layr builder

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-25 18:17:45 -06:00
Marc Durdin
6eefb3a771 fix(developer): EncodeURL was not handling spaces
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.
2022-11-26 07:09:53 +07:00
Steven R. Loomis
273075c1f3 feat(core): ldml: updates to layr compiler 🙀
- layr compiler working

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-25 15:55:11 -06:00
Darcy Wong
fded9721e2 chore(common): Merge branch 'beta' into chore/common/beta-b16s2 2022-11-25 07:58:23 +07:00
Steven R. Loomis
deceda169c feat(core): ldml: updates to key2 and other stuff 🙀
- finalizers
- build-key2 should be complete now
- stub for build-layr

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-23 19:22:03 -06:00
Steven R. Loomis
00442f5edd feat(core): ldml: updates to key2 and other stuff 🙀
- passes all but fixtures

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-23 18:48:45 -06:00
Steven R. Loomis
156c737a9a feat(core): ldml: updates to key2 and other stuff 🙀
- adding compareTo to some classes

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-23 18:33:09 -06:00
Steven R. Loomis
9e21fe1a74 feat(core): ldml: updates to list and other stuff 🙀
- 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
2022-11-23 16:47:00 -06:00
Steven R. Loomis
8b77d1f764 feat(core): ldml: make sect builder an object 🙀
- remove one hardcoded list

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-23 15:25:51 -06:00
Joshua Horton
813738b00b
Merge pull request #7741 from keymanapp/fix/web/key-text-scaling
fix(web): inferred key text + spacebar caption scaling
2022-11-23 08:16:13 +07:00
Steven R. Loomis
e0dcb30b51 spec(core): ldml: more document KMXPlus update process 🙀
- add some comments to kmx-plus.ts

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-22 19:11:53 -06:00
Steven R. Loomis
3496939073 feat(core): ldml: steps for list/key2 🙀
- update kmx-plus.ts for key2 and list sections
- add tests for key2
- TODO: binary write, basic fixture, layr

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-22 18:39:25 -06:00
Joshua A. Horton
b3724024a1 chore(web): Merge branch 'chore/web/top-level-build-script-rework' into change/web/reorg-source-src-reorg 2022-11-22 12:55:26 +07:00
Joshua A. Horton
52e005a5ca chore(web): Merge branch 'master' into chore/web/top-level-build-script-rework 2022-11-22 12:20:18 +07:00
Joshua Horton
71e12a7ced
chore(web): Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-11-21 08:26:48 +07:00
Marc Durdin
8a6faf9241 fix(developer): cast to prevent ERangeError for failed http reqs in CEF 2022-11-21 09:01:40 +11:00
Marc Durdin
5c5ee29c74 chore(windows): tweak sentry client for cross-module messages 2022-11-18 09:18:26 +11:00
Steven R. Loomis
bccb64c911 feat(core): ldml: kmx-plus.ts for layr/key2/list 🙀
- update kmx-plus for layr/key2/list

For #7532
2022-11-17 15:37:25 -06:00
Steven R. Loomis
208a6e40a0 feat(core): ldml: C++ builds 🙀
For #7532
2022-11-17 14:17:55 -06:00
Joshua A. Horton
84d5b00bf1 fix(web): osk key text scaling 2022-11-17 15:16:56 +07:00
Steven R. Loomis
64c5c796a1 feat(core): ldml: steps for list/key2 🙀
- update .ts constants
- update builder to support digits in section id
- update XML and stub KMXPlusData

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-16 19:05:14 -06:00
Steven R. Loomis
0e6aa6566f feat(core): ldml: First steps for layr 🙀
For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532

- dummy Layr class for compilation
- fleshed out Layr class
- CPP validation side
2022-11-16 19:04:55 -06:00
Marc Durdin
c18f1a7e63
Merge pull request #7631 from keymanapp/fix/developer/7628-utf8-urls
fix(developer): URL parameters should be UTF-8
2022-11-11 08:03:00 +11:00
Marc Durdin
4738b6a514 fix(windows): Improve shutdown robustness
Relates to KEYMAN-WINDOWS-B.

While this doesn't address the root cause of the exception, it should
prevent this unhandled exception, and adds breadcrumbs to help us see
which code path might be triggering the issue.
2022-11-10 16:10:49 +11:00
Marc Durdin
31513d657e fix(developer): handle utf-8 paths safely 2022-11-10 15:26:27 +11:00
Marc Durdin
8725deb0d6
Merge pull request #7657 from keymanapp/fix/developer/7656-handle-missing-engine-in-crash-handler
fix(developer): handle crash reports without Keyman Engine installed
2022-11-09 16:46:13 +11:00
Darcy Wong
7fe850c603
Merge pull request #7652 from keymanapp/fix/web/polyfill-find-index
fix(web): Add polyfill for Array.findIndex()
2022-11-09 07:18:36 +07:00
Darcy Wong
7d265b5f42
Merge pull request #7646 from keymanapp/fix/web/polyfill-includes
fix(web): Add polyfill for Array.includes()
2022-11-09 07:18:19 +07:00
Marc Durdin
ec1af3de97 fix(developer): handle crash reports without Keyman Engine installed
Fixes #7656.

If Keyman Developer is installed, but not Keyman for Windows, then
tsysinfo.exe is not present. If a crash occurs, this causes a secondary
crash when trying to display the error handler dialog. In this
situation, we now just show a dialog box with a short message rather
than the more friendly dialog available via tsysinfo.exe.

We could consider adding tsysinfo.exe into Keyman Developer for a future
release.
2022-11-09 08:46:30 +11:00