Commit graph

2740 commits

Author SHA1 Message Date
Sabine
c3b1af78c0 chore(developer): addCompilerMsg for RepeatedBegin 2022-12-04 16:32:07 +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
Marc Durdin
eaae1c3774
Merge pull request #7820 from keymanapp/fix/developer/7810-encodeurl-broken
fix(developer): EncodeURL was not handling spaces
2022-12-01 10:55:48 +11:00
Marc Durdin
1208bf599f
Merge pull request #7830 from keymanapp/fix/developer/7829-onlineupdate-shutdown-thread
fix(developer): OnlineUpdate crash on shutdown
2022-12-01 10:23:53 +11: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
f150a96a63 feat(core): ldml: basic: WIP 🙀
For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-29 18:33:13 -06:00
Sabine
9f5b6c83b7 Merge branch 'refactor/developer/6026-kmcompx-compiler-cross-platform-part-2-NEW_VERSION' of https://github.com/keymanapp/keyman into refactor/developer/6026-kmcompx-compiler-cross-platform-part-2-NEW_VERSION 2022-11-29 15:33:16 +07:00
Sabine
0d3200346f chore(developer): include BEGIN_LINE (repeated Begin) 2022-11-29 14:55:46 +07:00
Marc Durdin
41451d9cc9 chore(developer): link kmcmpdll to kmcmplib 2022-11-29 13:48:39 +07:00
Marc Durdin
73966fe477 chore(developer): add build.sh for kmcmplib 2022-11-29 13:39:47 +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
Marc Durdin
875f2c459c chore(developer): start kmcmpdll link to kmcmplib 2022-11-29 13:06:12 +07:00
Marc Durdin
14e5d44e22 chore(developer): make kmcmplib a static library 2022-11-29 12:59:21 +07:00
Marc Durdin
16602babd7 chore: tweak unit test, error messages, and paths 2022-11-29 12:37:51 +07:00
Sabine
29c13897ff chore: meson build for kmcmplib 2022-11-29 10:40:07 +07:00
Sabine
96878c43f7 chore: more cleanup 2022-11-29 10:24:53 +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
Sabine
08909fe70c chore: commit kmcompx-files 2022-11-29 10:01:19 +07:00
Sabine
577fe4e870 chore: reorganize 2022-11-29 09:53:18 +07:00
Marc Durdin
182a1fcb41 chore: rename tike internally 2022-11-28 19:52:00 +07:00
Marc Durdin
97c210b361 chore: rename tike internally 2022-11-28 19:51:38 +07:00
Marc Durdin
fb245bfbeb fix(windows): lower case filenames for projects
Fixes #7828.

Moves all projects to lower case filenames so that we don't end up with
filename conflicts in symbol servers.
2022-11-28 19:29:48 +07:00
Marc Durdin
529278c045 fix(windows): lower case filenames for projects
Fixes #7828.

Moves all projects to lower case filenames so that we don't end up with
filename conflicts in symbol servers.
2022-11-28 19:28:14 +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
Marc Durdin
2c6c6f107b fix(developer): OnlineUpdate crash on shutdown
Fixes #7829.

The online update check could crash on shutdown because the thread
destructor would run from the wrong thread. This caused the main form
destruction, which happens if the user chooses to install the update,
to be triggered from the worker thread, leading to much pain.
2022-11-28 09:56:27 +07:00
Marc Durdin
d2e1a41d06 fix(developer): remove missing files from MRU list
Fixes #7808.

If a project is moved, then the MRU, which has absolute path names, will
probably have references to files that don't exist. Rather than leave
these in the list, to be opened and potentially recreated in the wrong
place, we should just remove them entirely.
2022-11-26 07:31: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
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
c6b1be4ed7 feat(core): ldml: updates to key2 and other stuff 🙀
- compiles again

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-23 18:43:35 -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
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 A. Horton
94c0e69985 feat(common/models): directional quotes now match against nondirectional ones 2022-11-18 14:15:53 +07:00
Sabine
3b77db95cf chore(developer): comments: converting functions in kmx_u16 2022-11-18 10:06:56 +07: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
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
31513d657e fix(developer): handle utf-8 paths safely 2022-11-10 15:26:27 +11:00
Marc Durdin
3dbd11939f
Merge pull request #7650 from keymanapp/fix/core/7649-emit-keystroke-writing-action-to-wrong-queue
fix(core): emit keystroke was writing to wrong queue
2022-11-09 20:24:26 +11:00
Marc Durdin
d1ab61eac1
Merge pull request #7659 from keymanapp/fix/developer/7658-handle-unpaired-surrogate-in-token-command
fix(developer): handle unpaired surrogate
2022-11-09 16:46:21 +11:00
Marc Durdin
6ebba9deb1
Merge pull request #7655 from keymanapp/fix/developer/4757-6928-handle-shutdown-on-update-better
fix(developer): handle shutdown cleanup more cleanly
2022-11-09 16:46:04 +11:00
Marc Durdin
5d41e7a36e fix(developer): handle unpaired surrogate
Fixes #7658.

When manipulating text that contains an unpaired surrogate, the text
editor could throw an exception trying to encode the text to send
through to the token command. This simply masks that error.
2022-11-09 09:43:55 +11:00
Marc Durdin
03ae8582db fix(developer): handle shutdown cleanup more cleanly
Fixes #4757.
Fixes #6928.

Three separate ways shutdown is more robust:

1. Destroy main form before web server -- this ensures that all main
   form routines have deregistered app sources from web server.
2. In some situations, `FormClose` can be skipped by shutdown routines,
   for example, if you call `Application.Terminate`. This change ensures
   that we get a second chance to cleanup in the form destructor with
   `DoCloseCleanup`.
3. In the Online Update Check, instead of `Application.Terminate`, we
   now use `Application.MainForm.Close`, which is much more polite, as
   it ensures that changed files are saved, etc, and does proper
   cleanup. This particular change may make the other two somewhat
   irrelevant but they are still sensible as they will cover us for
   other potential form destruction sequences.
2022-11-09 08:18:41 +11:00
Marc Durdin
d2fe2a61f9 fix(developer): patch from previous commit 2022-11-09 07:36:28 +11:00