Commit graph

5162 commits

Author SHA1 Message Date
Joshua Horton
1945965d8a
chore(web): apply suggestion
Co-authored-by: Marc Durdin <marc@durdin.net>
2024-07-23 12:24:22 +07:00
rc-swag
bf2d8f9491 chore(windows): Merge branch 'epic/windows-updates' into feat/windows/add-apply-now-update
# Keyman Conventional Commit suggestions:
#
# - Link to a Sentry issue with git trailer:
#     Fixes: _MODULE_-_ID_
# - Give credit to co-authors:
#     Co-authored-by: _Name_ <_email_>
# - Use imperative, present tense ('attach' not 'attaches', 'attached' etc)
# - Don't include a period at the end of the title
# - Always include a blank line before trailers
# - More: https://github.com/keymanapp/keyman/wiki/Pull-Request-and-Commit-workflow-notes
2024-07-23 15:03:36 +10:00
rc-swag
9b59a4a94b
Merge pull request #11995 from keymanapp/chore/merge-master-into-windows-updates
chore: merge master into windows-updates 💽
2024-07-23 14:53:09 +10:00
Joshua A. Horton
852b8e83f4 chore(web): improve auto-test references to globals in #11881 2024-07-23 08:28:23 +07:00
Eberhard Beilharz
98691e5759
change(web): improve casts
Addresses code review comment.
2024-07-22 19:31:56 +02:00
Eberhard Beilharz
6e41faec52
change(web): use different output directory for tests
Put production module and test modules in different output subdirectories.
This addresses code review comments.
2024-07-22 19:31:42 +02:00
Eberhard Beilharz
9de6818ed5
chore(web): output different build steps for keyboard-processor
This makes it easier to see which part of the build fails.
2024-07-22 18:36:58 +02:00
Joshua A. Horton
8f6c2d602d change(web): track whitespace-aware tokenization for context + correction-search caching 2024-07-22 10:30:52 +07:00
Joshua A. Horton
96185472f1 feat(web): add support for transform tokenization 2024-07-22 10:30:51 +07:00
Joshua Horton
714d590a9b
Merge pull request #11933 from keymanapp/fix/web/worker-unit-test-stability
fix(web): remedy unit-test stability issues
2024-07-22 09:05:28 +07:00
Joshua A. Horton
21d21fb8f4 change(common/models): change model tokenization to also tokenize whitespace 2024-07-18 11:32:09 +07:00
Joshua A. Horton
2562fd268b chore(web): comment tweak 2024-07-17 10:38:38 +07:00
Joshua A. Horton
0e3259237c fix(web): improve handling of post-reversion suggestions 2024-07-17 10:37:58 +07:00
Joshua A. Horton
c491f10406 fix(web): prevents auto-accept immediately after reversion 2024-07-16 15:11:31 +07:00
Joshua A. Horton
6b4fc29a30 fix(web): present a "keep" option when a context-altering suggestion is auto-selected
Addresses part of #11963.
2024-07-16 12:25:20 +07:00
Marc Durdin
3497e97b00 feat(developer): automatic version detection for U_xxxx_yyyy ids
Currently, automatic Keyman minimum version determination works for all
features in Keyman keyboards _except_ `U_xxxx_yyyy` touch key
identifiers.

This change adds the automatic keyboard versioning functionality to the
keymanweb compiler as well, following the pattern that's in kmcmplib.

This makes the `store(&version)` line completely optional, and it may
be possible to deprecate it in future versions of Keyman Developer.
2024-07-13 07:28:18 +10:00
Joshua A. Horton
e4d9cdc865 refactor(web): spin off method for correction-search probability-thresholding check
The refactor allows this logic to be unit-tested far more easily.  We additionally leverage this fact and add corresponding unit-tests within this PR.
2024-07-12 09:00:56 +07:00
Joshua A. Horton
88ed20cbcb chore(web): fix typo in dummy-model config for suggestion-finalization tests 2024-07-11 16:09:31 +07:00
Joshua A. Horton
63842056d5 feat(web): add unit tests for case-detection & handling 2024-07-11 13:02:26 +07:00
Joshua A. Horton
47a12c3375 feat(web): add unit tests for prediction lookup component 2024-07-11 10:28:57 +07:00
Joshua A. Horton
682bb4676c feat(web): add unit testing for suggestion finalization 2024-07-11 10:26:11 +07:00
Joshua A. Horton
7fd30449f3 feat(web): add unit testing for suggestion deduplication 2024-07-11 10:22:01 +07:00
Joshua A. Horton
6d223ce678 chore(web): fix formatting 2024-07-11 10:21:07 +07:00
Joshua A. Horton
05e887e5db feat(web): add unit tests for suggestion-similarity detection
Also makes small tweaks to production code that facilitate unit-test comparisons.
2024-07-11 10:13:19 +07:00
Joshua A. Horton
dfda3107f7 fix(common/models): use explicit undefined check for transformId copy op 2024-07-11 10:12:49 +07:00
Joshua A. Horton
dc80b1c2df feat(web): extend unit-test oriented dummy model 2024-07-11 09:44:13 +07:00
Joshua A. Horton
0e1d6f433e fix(web): disable .only mode for auto-testing 2024-07-09 14:20:14 +07:00
Joshua A. Horton
b1d1dfa9f4 fix(web): improve auto-select for same-key suggestions
This allows the auto-select process to ignore suggestions that don't have an exact key-match when the best candidate does have an exact key-match
2024-07-09 11:52:04 +07:00
Joshua A. Horton
f371165402 feat(web): add unit tests for predict auto-selection method
Fixes: #11935
2024-07-09 10:47:21 +07:00
Joshua A. Horton
c30cc96f3c refactor(web): convert internal prediction methods to stateless format 2024-07-09 08:56:37 +07:00
Joshua Horton
913f0b4c67
Merge pull request #11866 from keymanapp/feat/web/auto-prediction
feat(web): add and enable auto-correction 📚
2024-07-08 14:37:57 +07:00
Joshua Horton
847077b419
Merge pull request #11875 from keymanapp/change/web/track-prediction-base-corrections
change(web): track the base correction for generated predictions 📚
2024-07-08 14:37:46 +07:00
Joshua Horton
479ea32dd0
Merge pull request #11870 from keymanapp/change/common/models/templates/trie-results-through-traversal
change(common/models/templates): rework Trie predict method to utilize traversals 📚
2024-07-08 14:37:36 +07:00
Joshua Horton
d84268a139
Merge pull request #11869 from keymanapp/feat/common/models/direct-lexicon-traversal
feat(common/models): support direct-child access for Trie node iteration 📚
2024-07-08 14:37:24 +07:00
Joshua Horton
6ecb4619c5
Merge pull request #11868 from keymanapp/feat/common/models/lexicon-traversal-probs
feat(web): provide lexicon probabilities directly on the search path 📚
2024-07-08 14:37:14 +07:00
Joshua A. Horton
8eba5d0d45 fix(web): remedy unit-test stability issues
Fixes: #11844
2024-07-08 13:45:08 +07:00
Joshua A. Horton
946ec38ad4 chore(web): incorporate suggestions, address concerns from PR review 2024-07-08 10:43:40 +07:00
Joshua A. Horton
067d033d0d chore(web): Merge branch 'change/common/models/templates/trie-results-through-traversal' into fix/web/low-probability-exact-matching 2024-07-08 10:29:35 +07:00
Joshua A. Horton
a7365abd66 docs(common/models): comment format adjustment per PR review 2024-07-08 10:26:40 +07:00
Joshua A. Horton
9e2f0b16a4 chore(common/models/templates): Merge branch 'feat/common/models/direct-lexicon-traversal' into change/common/models/templates/trie-results-through-traversal 2024-07-08 10:25:35 +07:00
Joshua A. Horton
dc7c1f1923 chore(common/models): makes minor adjustments per review 2024-07-08 10:15:57 +07:00
Joshua A. Horton
211c04a83e chore(common/models): Merge branch 'feat/common/models/lexicon-traversal-probs' into feat/common/models/direct-lexicon-traversal 2024-07-08 10:15:08 +07:00
Joshua A. Horton
14b453c2a6 change(common/models): enact changes per PR review 2024-07-08 09:39:54 +07:00
Joshua A. Horton
877cd9767d
fix(common): add workaround for divergence of EventEmitter3 from node's version
Node's version has special behavior for events named 'error' - if no handler, it auto-throws.  EventEmitter3 does not include this.
2024-07-04 20:49:31 +02:00
Eberhard Beilharz
afe25eda24
change(web): remove support for es5
Fixes: #11878
2024-07-04 20:49:30 +02:00
Marc Durdin
6fe81cb256
Merge branch 'master' into refactor/windows/cleanup-engine-logging 2024-07-04 10:23:00 +10:00
Marc Durdin
4f39c75ae7
Merge pull request #11906 from keymanapp/refactor/windows/11904-merge-keyman32-keyman64
refactor(windows): merge keyman64 build into keyman32
2024-07-04 06:58:19 +10:00
Marc Durdin
1be73a9c2e refactor(windows): clean up logging
* Remove unused parameters from SendDebugMessage functions
* Add SendDebugEntry and SendDebugExit functions for tracking
  function entry/exit
* Add indenting and function names to log entries
* Remove unused debug functions
* Eliminate now-unused hwnd parameter in initialization functions
* Replace Log,LogEntry,LogExit functions with SendDebug equivalents in
  kmtip

Many functions now have SendDebugEntry/SendDebugExit (or
return_SendDebugExit) pairs. It is important to SendDebugExit on all
returns from a function to keep the log indent depth consistent. In some
cases I chose not to add these logging calls, e.g. on frequently called
functions such as the message hooks.
2024-07-03 21:28:37 +10:00
Joshua Horton
2f3a0cbf14
Merge pull request #11867 from keymanapp/refactor/common/models/priority-queue-as-util
refactor(common/models): move TS priority-queue implementation to web-utils 📚
2024-07-03 08:13:53 +07:00
Marc Durdin
643ebca530 refactor(windows): merge keyman64 build into keyman32
Merges the build settings for keyman64.dll vc++ project into the
keyman32.dll project, so they are both built from the same project, in
preparation for ARM support, to minimize repetition in the source tree.

There should be no material differences to the built libraries.

Also cleans up some noise in keyman32.vcxproj which made it easier to
verify the changes.

Fixes: #11904
2024-07-02 17:00:38 +10:00