Commit graph

24978 commits

Author SHA1 Message Date
Joshua A. Horton
ef247ba624 fix(web): preserves original KMW flick behavior with change 2023-12-08 11:50:40 +07:00
Joshua A. Horton
b98a7c455e change(web): changes model-path evaluate signature 2023-12-08 11:50:36 +07:00
Joshua A. Horton
a8e732033a fix(web): post-rebase export mixup 2023-12-08 11:49:50 +07:00
Joshua A. Horton
a975bc1347 chore(web): updates test resources, specs 2023-12-08 11:48:55 +07:00
Joshua A. Horton
592300210f fix(web): fixes Web flick-spec per changes 2 commits back 2023-12-08 11:48:55 +07:00
Joshua A. Horton
3e1ac6701c refactor(web): differentiated path/src types - default no longer persists all coords 2023-12-08 11:48:50 +07:00
Joshua A. Horton
00e902566b change(web): gesture processing stats-object based aside from subviews 2023-12-08 11:48:24 +07:00
Marc Durdin
4c53509df9 feat(developer): LexicalModelCompiler now implements KeymanCompiler
Relates to #9473.

Refactors the public API of LexicalModelCompiler to meet KeymanCompiler,
including asyncing a bunch of functions, and moving file write
responsibilities into the class itself. Removes top-level
`compileModel()` and `loadFromFilename()` functions, as you should now
use `LexicalModelCompiler` API.

Most of the test cases needed only minor patching, but introducing the
`async init()` function has caused them to all be async, despite the
model compiler itself having no async requirements. I think this is
fine, because it makes any future additional async initialization tasks
much less painful to implement.
2023-12-08 11:45:53 +07:00
sgschantz
27b1236d90 eventTap changes, add delay to queued text event 2023-12-08 11:40:21 +07:00
Marc Durdin
aa458152cf
Merge branch 'feature-gestures' into chore/merge-master-into-feature-gestures 2023-12-08 14:24:38 +11:00
Joshua A. Horton
9470c8a55c chore(web): adds 'private' keyword on a method 2023-12-08 09:18:08 +07:00
Joshua A. Horton
c43a2a4cfe fix(common/models): lm-worker reset context didn't clear context cache 2023-12-08 09:13:48 +07:00
Joshua A. Horton
2f2195e645 fix(common/models): worker reset context did not auto-tag new context 2023-12-08 09:11:33 +07:00
Joshua Horton
a4373f16aa
chore(web): Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-12-08 08:22:31 +07:00
rc-swag
d11ee1a1e3 feat: remove tests cases - build not working 2023-12-08 09:55:37 +10:00
rc-swag
21c012208b
Merge pull request #10176 from keymanapp/fix/windows/keyman64-dll-debug-build
fix(windows): debug includes libcmtd vs libcmt.dll
2023-12-08 09:40:48 +10:00
Steven R. Loomis
1e32a2a963 feat(core): ldml improve key-not-found 🙀
- copy exception table for reset from VKScanCodes.cpp
- update test

For: #9451
2023-12-07 17:15:44 -06:00
Weng Xuetian
4517c03f1d
Do not restart Fcitx
1. Fcitx does not need restart to load newly installed keyman keyboard
2. Restart fcitx may cause issue on kwin/weston Wayland where input
   method have to be spawned by compositor process.
2023-12-07 13:41:21 -08:00
Steven R. Loomis
3c95c85b7c
Merge branch 'master' into fix/core/9451-key-not-found-epic-ldml 2023-12-07 14:00:59 -06:00
Steven R. Loomis
2071d25745 feat(core): ldml_processor fix for markers 🙀
- don't skip markers when calling context_to_string()! Oops.
- update docs on ldml_processor::remove_text()
- update remove_text() to handle markers in the context string.

This is really: #9468
2023-12-07 19:54:16 +00:00
Keyman Server
baf8acb1ce
Merge pull request #10179 from keymanapp/auto/version-master-17.0.227
auto: increment master version to 17.0.227
2023-12-08 01:04:38 +07:00
Keyman Build Agent
4b71f789f5 auto: increment master version to 17.0.227 2023-12-07 13:04:04 -05:00
Eberhard Beilharz
289e07572e
Merge pull request #10141 from keymanapp/fix/web/10099_null-property
fix(web): Fix null error with legacy keyboards
2023-12-07 08:13:38 +01:00
rc-swag
42a089a84d fix(windows): debug includes libcmtd vs libcmt.dll 2023-12-07 15:20:05 +10:00
Darcy Wong
0a2318de81 chore(mac): Update Mon crowdin strings 2023-12-07 11:58:21 +07:00
Darcy Wong
e24a341a32 chore(mac): Update Kibaku crowdin strings 2023-12-07 11:53:02 +07:00
Marc Durdin
d3ee8c9802 feat(developer): LdmlKeyboardCompiler now implements KeymanCompiler
Relates to #9473.

Refactors the public API of LdmlKeyboardCompiler to meet KeymanCompiler,
including asyncing a bunch of functions, and moving file write
responsibilities out of kmc and into kmc-ldml.
2023-12-07 11:42:10 +07:00
Marc Durdin
d18d4833a9 chore(developer): tidyup of KmnCompiler members 2023-12-07 11:41:27 +07:00
Joshua A. Horton
1a1a9712f3 fix(web): heterogenous longpress roaming 2023-12-07 11:17:47 +07:00
Marc Durdin
6bebefda10 feat(developer): move kmc-kmn to KeymanCompiler interface
Part of #9473.

KmnCompiler now implements KeymanCompiler, including the returned
artifacts. Also establishes the common types for the compiler interfaces
and consolidates and renames various API surfaces for kmc-kmn.
2023-12-07 11:05:31 +07:00
Joshua Horton
ef901a53d0
Merge pull request #10014 from keymanapp/fix/web/unwanted-banner-retoggle
fix(web): accidental suggestion-banner retoggle when disabling predictions
2023-12-07 09:52:21 +07:00
Steven R. Loomis
392c535270 feat(core): ldml improve key-not-found 🙀
- also affects markers, feat(core): normalization per spec for transforms/etc 🙀  #9468
- keep markers in nfd context string
- fix ldml test harness to handle context reset
- update test case
- still issues with overproduction of markers in the context

For: #9451
2023-12-06 18:33:51 -06:00
Keyman Server
e81b18fc44
Merge pull request #10160 from keymanapp/auto/version-master-17.0.226
auto: increment master version to 17.0.226
2023-12-07 01:03:15 +07:00
Keyman Build Agent
3c6a51b136 auto: increment master version to 17.0.226 2023-12-06 13:02:43 -05:00
Eberhard Beilharz
38c783935e
fix(web): Fix null error with legacy keyboards
This uses a different approach in response to code review.

Fixes #10099.
2023-12-06 16:45:18 +01:00
Darcy Wong
e0d7a80d33
Merge pull request #10153 from keymanapp/fix/android/external-links
fix(android/app): InfoActivity pass external links to browser
2023-12-06 21:49:43 +07:00
Marc Durdin
e5c4f7134d feat(developer): kmc emit hint if project file is old version
Fixes #10147.
2023-12-06 14:01:21 +07:00
Marc Durdin
d693bbd457 chore: address review comments 2023-12-06 13:00:04 +07:00
Marc Durdin
a330666515 fix(common): kpj loader needs to handle empty Files element
Fixes #10143.
2023-12-06 12:37:25 +07:00
Marc Durdin
40b5828263 feat(developer): New Project opens in new process
Fixes #10138.

If the current instance of Keyman Developer already has a project open,
then the New Project dialog will now open the new project in a new
instance of Keyman Developer.

Note: this also moves a couple of functions out of dmActionsMain and
into UfrmMain, as their functionality belongs more closely there. The
`TmodActionsMain.OpenProject` function has been renamed to
`TfrmMain.OpenProjectInCurrentProcess` to clarify its usage and context.
2023-12-06 12:10:12 +07:00
Marc Durdin
86e1728f97 feat(developer): Add Window menu
Fixes #10149.
2023-12-06 11:45:16 +07:00
Marc Durdin
cb8c114ff8 chore(developer): add unit to kmconvert 2023-12-06 11:45:03 +07:00
Darcy Wong
5917b84ffb fix(android/app): InfoActivity pass external links to browser 2023-12-06 11:05:36 +07:00
Joshua Horton
58081be955
Merge pull request #10134 from keymanapp/change/web/flick-mode-locked-simple-taps
change(web): prevents auto-cancellation of simple-taps for flicked layouts when touchpoint moves 🐵
2023-12-06 10:11:20 +07:00
Joshua Horton
95bcfea8c3
Merge pull request #10131 from keymanapp/change/web/default-multitap-rota-to-default
change(web): default shift-caps multitap inclusion of default layer in rota 🐵
2023-12-06 10:11:05 +07:00
Marc Durdin
fe772e1008 fix(developer): Validate SourcePath and BuildPath in Project Settings
Fixes #10148.

We now force the SourcePath and BuildPath project properties to be a
direct subfolder of the project folder, in order to avoid issues with
paths in the future. This is only applied to v2.0 projects, and only
enforced via the UI at this point.
2023-12-06 09:55:26 +07:00
Marc Durdin
6c918e6aa8 fix(developer): Option to disable prompting for project upgrade
Fixes #10146.

Some developers may wish to stick with kpj-1.0 for now, and the prompt
to upgrade would annoying because it cannot be hidden. This resolves
that.

Note that I haven't at this point renamed UrlRenderer.pas, although it
may be worth considering in the future.
2023-12-06 09:54:12 +07:00
Marc Durdin
ccbb00db9b fix(developer): Open recent files with long paths elided with ellipsis
Fixes #10145.

Turns out we were clobbering out internal data because Delphi strings
are copy-on-write. At the same time, moved from using the Hint property
to just referencing the source filename in the array, as that is cleaner
anyway.
2023-12-06 09:52:05 +07:00
Marc Durdin
149fc5e7c8 fix(developer): Support opening .keyman-touch-layout
Fixes #10144.

Also adds .keyboard_info, for now, although it is removed in 17.0, as
there will be numerous projects which still have a .keyboard_info and
it is handy to be able to load it and view its contents while upgrading.
2023-12-06 09:50:30 +07:00
Marc Durdin
4f83c9cf14 chore(developer): remove commented code
From TODO item in #9948.
2023-12-06 09:49:55 +07:00