Commit graph

24978 commits

Author SHA1 Message Date
Marc Durdin
89254296db chore(developer): honor prompt to upgrade in kmc
Fixes #10162.
2023-12-11 21:17:00 +07:00
Marc Durdin
ff87042974 chore(developer): make getOption synchronous 2023-12-11 21:16:16 +07:00
Marc Durdin
59cb7b25d3 chore(developer): Merge branch 'master' into feat/developer/10161-developer-settings-in-rc 2023-12-11 21:13:33 +07:00
Marc Durdin
03625c6e98
Merge pull request #10157 from keymanapp/fix/common/10143-kpj-handle-empty-files-element
fix(common): kpj loader needs to handle empty Files element 🦕
2023-12-12 01:12:27 +11:00
Marc Durdin
a63070d4db
Merge pull request #10158 from keymanapp/feat/developer/10147-hint-if-old-project-file-version
feat(developer): kmc emit hint if project file is old version 🦕
2023-12-12 01:12:18 +11:00
Marc Durdin
2fab459bee
Merge pull request #10209 from keymanapp/fix/developer/10181-crash-loading-ldml-xml
fix(developer): crash loading a project when referenced .xml is missing
2023-12-12 01:12:06 +11:00
Marc Durdin
e57766d1b1 feat(developer): retry on locked file when reading options 2023-12-11 21:00:51 +07:00
Marc Durdin
3d5506ef3e chore(windows): move reportExceptions check in exception handler to caller 2023-12-11 20:44:53 +07:00
Darcy Wong
e59ef933f2
Merge pull request #10175 from keymanapp/chore/crowdin/mnw
chore(android,mac): Update Mon crowdin strings
2023-12-11 16:54:27 +07:00
Darcy Wong
24195b19c3
Merge pull request #10174 from keymanapp/chore/crowdin/ckl
chore(android,mac): Update Kibaku crowdin strings
2023-12-11 16:54:03 +07:00
Darcy Wong
4387d0eefa
Merge pull request #10203 from keymanapp/chore/common/check-gha-repo
chore(common): Specify Keyman repo on GitHub actions
2023-12-11 16:53:41 +07:00
Marc Durdin
67379f4603 feat(developer): use ~/.keymandeveloper/options.json for TS sentry 2023-12-11 16:01:56 +07:00
Marc Durdin
01fe68a66d feat(developer): Move options to ~/.keymandeveloper/options.json
Fixes #10161.

Includes transition of existing options from registry to options.json,
and once options.json exists, will always read from that and ignore
registry. Was able to eliminate some of the legacy datatype usage for
several options. Reader/writer includes naive file lock retry to avoid
contention, which I am hopeful will be sufficient for our needs, given
the low chance of contention.
2023-12-11 15:31:21 +07:00
Eberhard Beilharz
5dc2af1ac0
Merge pull request #10196 from keymanapp/chore/linux/refactor
chore(linux): Small refactoring to make it easier to read
2023-12-11 08:33:08 +01:00
Marc Durdin
3a91c7d197 chore(developer): move IDEOptions key responsibility into KeymanDeveloperOptions
First part of addressing #10161 is to refactor the existing usage of the
registry values into the common KeymanDeveloperOptions unit. This was
mostly straightforward except for the changes to KeymanSentryClient,
which happens to be the most important part of this particular fix.
2023-12-11 13:48:43 +07:00
Marc Durdin
a2fd4113ba
Merge pull request #10201 from keymanapp/chore/mac/10200-force-detach
chore(mac): force detach of disk image during build after 5 failures
2023-12-11 17:05:43 +11:00
Marc Durdin
39a53d439a fix(developer): error when rescaling touch layout editor keys
Fixes #10194.
2023-12-11 12:39:33 +07:00
Marc Durdin
61a0155435 fix(developer): touch layout editor wedges don't scroll
Fixes #10091.
2023-12-11 12:39:01 +07:00
Marc Durdin
d99c4cd669 chore(web): update LexicalModelCompiler call 2023-12-11 12:21:20 +07:00
Marc Durdin
22b7f5bf07 fix(developer): crash loading a project when referenced .xml is missing
Fixes #10181.
2023-12-11 12:05:56 +07:00
Marc Durdin
52038e22aa chore(developer): remove unintended usage of callbacks.path/callbacks.fs in kmc 2023-12-11 11:43:24 +07:00
Darcy Wong
3f213c99d2 chore(common): Specify Keyman repo on GitHub actions 2023-12-11 10:24:30 +07:00
Marc Durdin
f4918d36e2 feat(developer): refactor common compiler steps into BuildActivity.runCompiler
Relates to #9473.

Now that each compiler has a common interface, we can consolidate the
common code into BuildActivity. This makes it very easy to see where the
compiler calls have special cases, such as the model_info and
keyboard_info compilers (these are primarily for internal use, so the
special case work should not be a problem).
2023-12-11 10:10:31 +07:00
Marc Durdin
f9c3be09a6 refactor(developer): move outFile out of CompilerBaseOptions
`outFile` is not a compiler option, and so it should not be a part of
the `CompilerBaseOptions` interface. This formally separates the
command-line options from the compiler options, which eliminates a
number of restrictive structures.
2023-12-11 09:47:23 +07:00
Marc Durdin
473bc48ba7 chore(mac): force detach of disk image during build after 5 failures
Fixes #10200.

This is a two-part fix. First, with our normal `set -e` build
environment, the existing loop never ran more than once, so the 5
second delay pattern we used to use in the dim dark past was no longer
being applied. It is likely that in most cases, this will address the
failure to detach.

The second part is to escalate our detach with a `-force` parameter,
after 5 failed polite attempts. This is new and is addressing the
suggestion in #10200, so we'll have to see if it has any impact on
build stability.
2023-12-11 08:15:42 +07:00
Joshua Horton
8d77443f03
chore(web): Update build.sh
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-12-09 09:22:20 +07:00
Joshua Horton
03bf11f457
chore(web): Update build.sh
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-12-09 09:22:12 +07:00
Joshua Horton
0825db270f
chhcore(web): Update gestureDebugPath.ts
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-12-09 09:20:55 +07:00
Steven R. Loomis
cadf7a1e14 fix(core): remove a TODO-LDML 🙀
Fixes: #8069

(all of the rest are in other tickets)
2023-12-08 18:48:01 -06:00
Steven R. Loomis
44afc6c70b
Merge branch 'master' into fix/core/9451-key-not-found-epic-ldml 2023-12-08 18:39:11 -06:00
Marc Durdin
7b6b4f0add feat(developer): ModelInfoCompiler now implements KeymanCompiler
Relates to #9473.

Refactors the public API of ModelInfoCompiler to meet KeymanCompiler,
including moving file write responsibilities into the class itself.

`sources` has become a property of `options`, which is perhaps a slight
violation of the intent of the `init()` function being a one-time call,
as it means we'll need to instantiate an new class for each file we
compile. Given the use-case for the model_info compiler is almost
exclusively internal, I think this is acceptable. Tell me if you think
otherwise!
2023-12-09 07:28:26 +07:00
Marc Durdin
13533a726a feat(developer): KeyboardInfoCompiler now implements KeymanCompiler
Relates to #9473.

Refactors the public API of KeyboardInfoCompiler to meet KeymanCompiler,
including moving file write responsibilities into the class itself.

`sources` has become a property of `options`, which is perhaps a slight
violation of the intent of the `init()` function being a one-time call,
as it means we'll need to instantiate an new class for each file we
compile. Given the use-case for the keyboard_info compiler is almost
exclusively internal, I think this is acceptable. Tell me if you think
otherwise!
2023-12-09 07:15:06 +07:00
Marc Durdin
69a2448176 feat(developer): PackageCompiler and WindowPackageInstallerCompiler now implement KeymanCompiler
Relates to #9473.

Refactors the public API of PackageCompiler and
WindowsPackageInstallerCompiler to meet KeymanCompiler, including
asyncing a bunch of functions, and moving file write responsibilities
into the classes themselves.

The classes were updated together in a single commit because
WindowsPackageInstallerCompiler depends on PackageCompiler, and needed
refactoring for the updated API access there anyway.

Most of the test cases needed only minor patching, but introducing the
`async init()` function has caused them to all be async. The
test-messages module has a slight functional change with the compile
process running completely rather than stopping on first message, which
meant we needed to add extra dummy fixtures to avoid other errors that
arose later in the compile process. The keyman.exe fixture is a text
file, not a Windows executable.
2023-12-09 06:48:53 +07:00
Keyman Server
c945b203bd
Merge pull request #10197 from keymanapp/auto/version-master-17.0.228
auto: increment master version to 17.0.228
2023-12-09 01:05:04 +07:00
Keyman Build Agent
60cea0e940 auto: increment master version to 17.0.228 2023-12-08 13:04:35 -05:00
Eberhard Beilharz
5069d8c67b
chore(linux): Small refactoring to make it easier to read 2023-12-08 18:50:38 +01:00
Eberhard Beilharz
7a21c42b68
Merge pull request #10180 from wengxt/master
fix(linux): Do not restart Fcitx
2023-12-08 18:46:45 +01:00
Joshua Horton
81724050a8
Merge pull request #10104 from keymanapp/fix/web/test-keyboards-update
fix(web): test-keyboard patchup 🐵
2023-12-08 23:06:48 +07:00
Joshua Horton
38251fe073
Merge pull request #10103 from keymanapp/feat/web/multitap-preview-hints
feat(web): multitap key-previews 🐵
2023-12-08 23:06:36 +07:00
Joshua Horton
ddb798865f
Merge pull request #10102 from keymanapp/change/web/floating-tablet-preview
change(web): floating tablet key-previews 🐵
2023-12-08 23:06:22 +07:00
Joshua Horton
2511e37dcc
Merge pull request #10190 from keymanapp/chore/merge-master-into-feature-gestures
chore: merge master into feature-gestures 🐵
2023-12-08 23:06:08 +07:00
Joshua Horton
cfedbc7410
Merge pull request #10185 from keymanapp/fix/common/models/worker-reset-context
fix(common/models): lm-worker context resets didn't properly manage context cache 🐵
2023-12-08 15:36:35 +07:00
Joshua Horton
876fe0b321
Merge pull request #10172 from keymanapp/fix/web/roaming-longpresses
fix(web): heterogenous longpress roaming 🐵
2023-12-08 15:36:23 +07:00
Joshua A. Horton
a6f8e35d11 chore(web): mild build-script cleanup, gesture-engine test page update 2023-12-08 13:59:25 +07:00
Joshua Horton
b25a4083d0
Merge branch 'feature-gestures' into change/web/floating-tablet-preview 2023-12-08 13:46:13 +07:00
Joshua A. Horton
6688a58de2 feat(web): allows mild off-center recentering 2023-12-08 11:51:44 +07:00
Joshua A. Horton
ad32bc892f feat(web): resetting of flick base coordinate to key centroid 2023-12-08 11:51:44 +07:00
Joshua A. Horton
e55daa6a83 fix(web): fixes within-branch bugs from prior commits 2023-12-08 11:51:43 +07:00
Joshua A. Horton
6306c68239 change(web): reworks flick-resetting states, state transitions
Does not yet replace segment starting coordinate, though.
2023-12-08 11:51:43 +07:00
Joshua A. Horton
aebdc6a0d7 feat(web): adds gesture-engine path-segment-start replacement 2023-12-08 11:51:42 +07:00