Joshua A. Horton
60772bfdfa
chore(web): minor cleanup after generalizing fix with prior commit
2024-06-27 09:50:40 +07:00
Joshua A. Horton
34986503c9
fix(web): patch-up automated tests that utilize dummy models
...
The dummy model never set a prediction's probability on the suggestion, so it never emitted p, lexical-p, or correction-p values before this branch's changes.
2024-06-27 09:49:09 +07:00
Joshua A. Horton
ba5b0f6c91
change(web): track the base correction when generating predictions
2024-06-26 14:48:50 +07:00
Joshua A. Horton
f3cedac5e0
change(web): better div-by-zero fudge factor for fat-fingering
2024-06-24 09:26:22 +07:00
Joshua Horton
7f55d74ee6
Merge pull request #11265 from keymanapp/feat/web/layer-processing-deferral
...
feat(web): optimization via lazy preprocessing of keyboard touch-layout info ⏩
2024-06-24 08:01:48 +07:00
Joshua A. Horton
ef7d87ace1
refactor(common/models): moves TS priority-queue implementation to web-utils
2024-06-21 15:02:52 +07:00
Joshua Horton
b782800de1
Merge pull request #11263 from keymanapp/change/web/keyboard-preprocess-optimization
...
change(web): optimization for keyboard-layout preprocessing ⏩
2024-06-21 11:22:50 +07:00
Joshua A. Horton
7166428d72
fix(web): check for longpresses with .sk, not .sp
2024-06-21 08:38:53 +07:00
Joshua A. Horton
8841dd9ee2
chore(web): define common timeout variable for automated testing
...
Fixes : #11499
2024-06-20 11:43:11 +07:00
Joshua A. Horton
7dbadef7bd
chore(web): Merge branch 'feat/web/osk-layer-deferral' into feat/web/layer-processing-deferral
2024-06-19 15:49:05 +07:00
Joshua A. Horton
9c79aa4f65
chore(web): Merge branch 'master' into change/web/keyboard-preprocess-optimization
2024-06-19 15:21:14 +07:00
Joshua Horton
e4b0d1859c
Merge pull request #11784 from keymanapp/feat/web/interruptible-predictions
...
feat(web): improve predictive-text responsiveness when typing rapidly 🕐
2024-06-19 14:54:14 +07:00
Joshua Horton
342ffd82fa
Merge pull request #11758 from keymanapp/refactor/web/prediction-execution-timer
...
refactor(web): overhaul predictive-text engine's timer to better detect paused time 🕐
2024-06-19 14:54:06 +07:00
Joshua Horton
0be4943a21
Merge pull request #11757 from keymanapp/chore/web/extract-execution-timer
...
chore(web): move correction-search execution timer to its own file 🕐
2024-06-19 14:53:58 +07:00
Joshua Horton
2b9a12fade
Merge pull request #11768 from keymanapp/change/web/drop-correction-batching
...
change(web): drop correction batching 🕐
2024-06-19 14:53:49 +07:00
Joshua A. Horton
f22bb5fc68
chore(web): Merge remote-tracking branch 'origin/change/web/drop-correction-batching' into change/web/drop-correction-batching
2024-06-19 08:21:42 +07:00
Joshua A. Horton
7545957546
chore(web): adjustments per PR review
...
- let -> const
- drops no-op expression
2024-06-19 08:21:14 +07:00
Joshua Horton
e65ba7ca04
Merge pull request #11800 from keymanapp/change/web/after-word-whitespace-check
...
change(web): change after-word whitespace check to be more selective
2024-06-19 08:12:08 +07:00
Marc Durdin
26328463c8
Merge branch 'master' into change/web/drop-correction-batching
2024-06-18 07:49:26 +10:00
Marc Durdin
e081e0c72e
fix(developer): check HISTORY.md to get last modified date for keyboard_info and model_info
...
This updates the calculation of the lastModifiedDate property of the
.keyboard_info and .model_info file. It now looks for the most recent
commit to HISTORY.md, and then falls back to the project folder for
.keyboard_info and .model_info.
getLastGitCommitDate now also returns UTC date (it was giving TZ=0
which is affected by daylight saving), and works for a file rather than
just for a folder, and a corresponding unit test has been added.
The date strings returned will now always include '.000' msec suffix. I
have manually verified that the import into the api.keyman.com database
copes with this, and that this change still conforms to the expected
schema for .keyboard_info and .model_info files.
Last, but important, it turned out that the unit tests for kmc were not
running. This has been resolved in kmc/build.sh.
Fixes : #11793
2024-06-18 07:03:08 +10:00
Joshua A. Horton
8f0a8bf0c1
change(web): change after-word whitespace check to be more selective
...
Now only skips emitting the after-word text if it is the immediate prefix of the current right-hand context.
Fixes : #5256
2024-06-17 14:56:23 +07:00
Joshua Horton
020bdb4231
Merge pull request #11732 from keymanapp/fix/web/array-from-polyfill
...
fix(web): add limited Array.from polyfill for lm-worker use
2024-06-14 15:39:30 +07:00
Joshua A. Horton
5c8c78f9ae
chore(web): drops unused test import
...
It was used in an earlier version of the new unit test, which was more fragile and complex at the time.
2024-06-14 12:48:38 +07:00
Joshua A. Horton
dafe25eed6
feat(web): improve predictive-text responsiveness when typing rapidly
...
Fixes #3580
2024-06-14 12:22:58 +07:00
Joshua A. Horton
fe600b3b70
chore(web): pull up some changes, comments from child PR
2024-06-14 12:21:06 +07:00
Joshua A. Horton
b22a5fe4fe
refactor(web): overhaul ExecutionTimer to better detect paused time
...
There are three main operations during correction-search:
- replay of old results, if applicable
- generation of new corrections
- generation of predictions rooted on found corrections
Each type naturally has a different 'expected' runtime... so we now make buckets for each. We can then use stats principles to detect outliers on each level. (Mixing them all together = higher variance, thus worse detection.)
Also adds a full set of unit tests at 100% coverage for the new implementation.
Fun detail - in practice, when running all of the unit tests on my personal machine, it's able to pick up a fair few 1-5 ms outliers during the prediction-oriented tests! We previously lacked the resolution to detect those smaller-end cases.
This is work toward #3580 , but not the final resolution of it.
2024-06-13 13:26:24 +07:00
Joshua A. Horton
7246b28afc
chore(web): move correction-search execution timer to its own file
2024-06-13 13:17:43 +07:00
Joshua A. Horton
444ae92197
change(web): drop correction batching
...
While working on #3580 , I was noticing some odd behavior after later changes and discovered that the assumption underlying the correction-batching behavior is invalid. It would also complicate other aspects of #3580 , so the simplest answer is likely to remove it.
2024-06-13 13:00:32 +07:00
Joshua A. Horton
17787b95ae
chore(web): Merge branch 'change/common/update-esbuild' into change/web/lmworker-async-corrections
2024-06-13 12:49:52 +07:00
Joshua A. Horton
ace4eb25c4
chore(common): Merge branch 'master' into change/common/update-esbuild
2024-06-13 12:47:55 +07:00
Joshua Horton
3cf0082a6b
Merge pull request #10343 from keymanapp/change/web/lmworker-async-predict
...
change(web): prep for better asynchronous prediction handling 🕐
2024-06-13 12:44:50 +07:00
Marc Durdin
09ee827270
refactor(common): move .keyman-touch-layout reader/writer to @keymanapp/developer-utils
...
Relates to #9665
2024-06-13 10:24:14 +10:00
Marc Durdin
a1d94dc528
chore(common): reduce threshold for c8 to 70%
2024-06-13 10:23:47 +10:00
Marc Durdin
f6105d87d8
refactor(common): fixup tests for kvks-file
2024-06-13 09:31:52 +10:00
Marc Durdin
cdbcbe723a
chore(common): reduce c8 threshold for common-types by 1% after moving kvk-file
2024-06-13 09:00:36 +10:00
Marc Durdin
1c74d9d713
refactor(common): move kvks-file to @keymanapp/developer-utils
...
Relates to #9665
2024-06-13 08:58:55 +10:00
Marc Durdin
de9ab217e9
refactor(common): move kps-file.ts to @keymanapp/developer-utils
...
Part of #9665 .
2024-06-13 08:57:49 +10:00
Marc Durdin
b2c4979cf4
chore(common): reduce c8 threshold for common-types
...
As we move some better-tested areas out of common-types, it looks like
our overall coverage goes down.
2024-06-12 16:31:54 +07:00
Marc Durdin
74e2a8ccea
refactor(common): move kpj test fixtures and cleanup post-move
...
Moves the kpj test fixtures into developer-utils, moves from let to
const in code where required by eslint, and reduces the coverage
threshold in order to get tests to pass for developer-utils.
2024-06-12 16:31:53 +07:00
Marc Durdin
9cf09a5140
refactor(common): move kpj-related files into developer-utils
...
Relates to #9665 .
2024-06-12 16:31:52 +07:00
Joshua A. Horton
f2f1c09c84
chore(web): removes ts-node use from gesture-recognizer
...
Complication: the promise-status library used for testing our promise usage includes a .d.ts file that is not valid with current TS versions. We now delete theirs and provide our own, fixed version.
2024-06-10 11:04:04 +07:00
Joshua A. Horton
d07fa7e953
chore(common): eliminate ts-node ref from most subpackages
2024-06-10 10:07:58 +07:00
Joshua A. Horton
e527317d3a
fix(common): remove subpackge entries for older TS version
2024-06-10 09:14:03 +07:00
Joshua A. Horton
062a867ecd
change(android): removes unneeded conditionals
2024-06-07 14:24:41 +07:00
Joshua A. Horton
891928e10b
fix(web): array.from polyfill scoping, fixes after extracted test
2024-06-07 14:05:12 +07:00
Joshua A. Horton
d66d474f64
fix(web): add limited Array.from polyfill for lm-worker use
...
Fixes : #11502
Fixes: KEYMAN-WEB-K4
2024-06-07 11:56:18 +07:00
Marc Durdin
32e92846a3
Merge pull request #11690 from keymanapp/chore/common/move-cldr-import-copy-to-build-step
...
chore(common): move CLDR import copy into build step for common/web/types
2024-06-06 10:08:39 +07:00
Marc Durdin
23f9391855
Merge pull request #11660 from keymanapp/chore/8616-bring-xml2js-into-repo
...
chore: move xml2js into the repo to eliminate npm git dependency
2024-06-06 10:02:32 +07:00
Marc Durdin
f2e0398c13
Merge pull request #11657 from keymanapp/chore/8616-remove-restructure-git-dep
...
chore: replace git dep on restructure with 3.0.1 in npm
2024-06-06 10:02:22 +07:00
Joshua A. Horton
950b2780c3
change(web): converts correction-search to use of async generator
2024-06-05 12:30:19 +07:00