Commit graph

31501 commits

Author SHA1 Message Date
Joshua Horton
265f0265fd fix(web): prevent auto-select from keeping old autoaccept positions highlighted 2025-08-04 15:13:44 -05:00
Joshua Horton
145f34f434
Merge pull request #14384 from keymanapp/change/web/split-suggestion-transforms
change(web): split suggestion transforms into main-body + appended (whitespace) transforms 🚂
2025-07-24 22:00:03 +07:00
Joshua Horton
c4e0faa101
Merge pull request #14365 from keymanapp/refactor/web/attempt-match-context
refactor(web): rework `attemptMatchContext` to use new `attemptTokenizedAlignment` method 🚂
2025-07-24 21:59:48 +07:00
Joshua Horton
521aae9709
Merge pull request #14364 from keymanapp/refactor/web/attempt-tokenized-alignment
refactor(web): new method - attemptTokenizedAlignment 🚂
2025-07-24 21:59:38 +07:00
Joshua Horton
6788aebb04
Merge pull request #14363 from keymanapp/feat/web/is-substitution-alignable
feat(web): add `isSubstitutionAlignable` to assist validating context matches after edits 🚂
2025-07-24 21:59:29 +07:00
Joshua Horton
3c36ee2e73
change(web): fix typo (per PR review)
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-07-24 20:38:03 +07:00
Joshua Horton
7e88fa2c41 docs(web): enhance doc-comment for getEditPathLastMatch
Per review request by @ermshiperete
2025-07-23 13:43:26 -05:00
Joshua Horton
0f3130fbd4
fix(web): properly apply Transforms in sequence
Thanks to a PR review that caught an accidental restart that hid one of the Transforms

Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-07-22 23:48:37 +07:00
Joshua Horton
f264fca881 change(web): split suggestion transforms into main-body + appended (whitespace) transforms 2025-07-21 15:57:28 -05:00
Joshua Horton
cd59e1fffb
fix(web): correct typo in unit test name
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2025-07-21 22:12:17 +07:00
Joshua Horton
a1c10de821 refactor(web): reworks attemptMatchContext to use new attemptTokenizedAlignment method
Following from #14364, this PR integrates the new method with the main predictive-text context-tracking code, significantly reworking the `attemptMatchContext` method in the process.  While further refactoring of the latter method is planned, this step allows us to verify that the new methods integrate properly with the main codebase in their current form.

This also comes with the benefit of simplifying `attemptMatchContext` _significantly_ - large parts of its code were refactored into `attemptTokenizedAlignment`, and the new logic patterns are generally more straightforward to parse and understand.
2025-07-15 14:16:51 -05:00
Joshua Horton
8c052968ae refactor(web): new method - attemptTokenizedAlignment
Following from #14363, this method performs context alignment calculations that may be
used to match forms of the context before and after an edit by aligning their tokens and
validating any edits that may have occurred.

Note that no 'tracked context' states are manipulated or altered by this method - it
solely calculates the alignment deltas needed to align the two contexts.  Other methods
may then take these values and determine the edits that occurred during the associated
context transition as needed.

Note that the `attemptTokenizedAlignment` method is not integrated into the main codebase
for the predictive-text worker at this time.  That said, this method _does_ integrate
the `isSubstitutionAlignable` method introduced by #14363.
2025-07-15 13:55:21 -05:00
Joshua Horton
9bbed384e6 feat(web): adds isSubstitutionAlignable to assist validating context matches after edits
This adds one new method within the predictive-text worker space: isSubstitutionAlignable. The method is designed to report whether or not two words are "related enough" to consider as an appropriate word-level "substitution" when matching the incoming context against previously-seen contexts - a process useful for facilitating delayed reversions, among other things.

It is not yet integrated with the main body of worker code, however.
2025-07-15 13:41:38 -05:00
Joshua Horton
aa26665600
Merge pull request #14336 from keymanapp/change/web/transform-merge-deleteRight
change(web): do not set deleteRight when merging Transforms without it 🚂
2025-07-15 02:13:20 +07:00
Joshua Horton
606c7e7767 change(web): do not set deleteRight when merging Transforms without it 2025-07-10 09:17:12 -05:00
Marc Durdin
9f48d7c1b0
Merge pull request #14175 from keymanapp/chore/merge-master-into-autocorrect
chore: merge master into autocorrect 🚂
2025-06-13 14:16:45 +07:00
Keyman Server
1d415ffc30
Merge branch 'epic/autocorrect' into chore/merge-master-into-autocorrect 2025-06-12 17:02:14 -07:00
Keyman Server
22436fff61
Merge pull request #14170 from keymanapp/auto/version-master-19.0.64
auto: increment master version to 19.0.64
2025-06-12 16:05:39 -07:00
Keyman Build Agent
3f26260d1e auto: increment master version to 19.0.64 2025-06-12 19:05:08 -04:00
Marc Durdin
f1f44331aa
Merge pull request #14165 from keymanapp/dependabot/npm_and_yarn/developer/src/server/src/win32/trayicon/addon-src/brace-expansion-2.0.2
chore(deps): bump brace-expansion from 2.0.1 to 2.0.2 in /developer/src/server/src/win32/trayicon/addon-src
2025-06-13 04:12:52 +07:00
Eberhard Beilharz
8ee1127f13
Merge pull request #14168 from keymanapp/maint/developer/fixrelease
This fixes developer release builds. Previously we used single quotes for specifying `--rsync-path`. This caused the parameter to contain the variable name instead of the content.

Also define and set the variables in a powershell script so that they can be used. This was already done for the other powershell scripts, but overlooked for `download-symbol-server-index.ps1`. Also use variables instead of hard-coding values.

Follow-up-of: #14059
Part-of: #13399
Test-bot: skip
2025-06-12 23:07:02 +02:00
Eberhard Beilharz
08371452b9
Merge pull request #14167 from keymanapp/maint/web/fixrelease
Previously rsync used some TC variables. Now with the build step being a script the TC variables are no longer accessible from the script, so we add new arguments to the build script and then use these when calling rsync. A similar changer was already made previously for the developer release build.

Follow-up-of: #14049
Related: #14059
Part-of: #13399
Test-bot: skip
2025-06-12 23:05:24 +02:00
Eberhard Beilharz
917e83d7ad
maint(web): use double quotes so that variable gets replaced
This fixes web release builds. Previously we used single quotes
for specifying `--rsync-path`. This caused the parameter to contain
the variable name instead of the content.
2025-06-12 18:32:34 +02:00
Eberhard Beilharz
4bfb35c19f
maint(developer): use double quotes so that variable gets replaced
This fixes developer release builds. Previously we used single quotes
for specifying `--rsync-path`. This caused the parameter to contain
the variable name instead of the content.

Follow-up-of: #14059
Part-of: #13399
Test-bot: skip
2025-06-12 18:28:15 +02:00
Eberhard Beilharz
6e7071ada6
maint(developer): define (and use) variables in developer release build
We have to define and set the variables in a powershell script so that
they can be used. This was already done for the other powershell scripts,
but overlooked for this one. Also use variables instead of hard-coding
values.
2025-06-12 18:24:15 +02:00
Eberhard Beilharz
bfa8165033
maint(web): add some more arguments for web release build script
Previously rsync used some TC variables. Now with the build step being
a script the TC variables are no longer accessible from the script, so
we add new arguments to the build script and then use these when calling
rsync. A similar changer was already made previously for the developer
release build.

Follow-up-of: #14049
Related: #14059
Part-of: #13399
Test-bot: skip
2025-06-12 17:40:59 +02:00
dependabot[bot]
8f7462c22c
chore(deps): bump brace-expansion
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 2.0.1 to 2.0.2.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v2.0.1...v2.0.2)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 2.0.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-11 20:56:26 +00:00
Keyman Server
4646d9ab65
Merge pull request #14164 from keymanapp/auto/version-master-19.0.63
auto: increment master version to 19.0.63
2025-06-11 11:02:01 -07:00
Keyman Build Agent
3acfee3779 auto: increment master version to 19.0.63 2025-06-11 14:01:31 -04:00
Marc Durdin
da2be099d9
Merge pull request #14136 from keymanapp/chore/merge-master-into-autocorrect
chore: merge master into autocorrect 🚂
2025-06-11 08:41:02 +07:00
Marc Durdin
7b32085e0f
Merge pull request #14155 from keymanapp/maint/common/14146_macregex
maint(resources): fix regression on mac triggering builds
2025-06-11 08:39:13 +07:00
Marc Durdin
95af46d0c9
Merge pull request #14156 from keymanapp/maint/web/14151_uploadscript
maint(web): use path when calling powershell script
2025-06-11 08:29:08 +07:00
Marc Durdin
adb4b30dfb
Merge pull request #14157 from keymanapp/maint/developer/14150_symbolserver
maint(developer): export environment variables
2025-06-11 08:28:49 +07:00
Keyman Server
c8dbfa9961
Merge pull request #14158 from keymanapp/auto/version-master-19.0.62
auto: increment master version to 19.0.62
2025-06-10 11:03:19 -07:00
Keyman Build Agent
a6def57229 auto: increment master version to 19.0.62 2025-06-10 14:02:43 -04:00
Eberhard Beilharz
fd314eb2f7
maint(developer): export environment variables
Export the newly introduced variables so that they are available in the
powershell script.

Fixes: #14150
Follow-up-of: #14052
Test-bot: skip
2025-06-10 19:43:47 +02:00
Eberhard Beilharz
1fdff7d66c
maint(web): use path when calling powershell script
Also remove the check if we're running on Windows since that is already
happening in the calling function.

Fixes: #14151
Follow-up-of: #14049
Test-bot: skip
2025-06-10 19:02:04 +02:00
Eberhard Beilharz
656c4b8c6d
maint(resources): fix regression on mac triggering builds
The `grep` available on macOS doesn't have the `--perl-regexp` option,
so the changes introduced in #14047 caused a regression. This change
directly makes use of Perl which is available on macOS.

Fixes: #14146
Follow-up-of: #14047
Test-bot: skip
2025-06-10 18:53:08 +02:00
Eberhard Beilharz
7ef985dbd8
Merge pull request #14058 from keymanapp/maint/developer/14045_docker 2025-06-10 17:32:26 +02:00
Marc Durdin
d2037859c4 chore: Merge branch 'master' into chore/merge-master-into-autocorrect 2025-06-10 16:16:44 +07:00
Marc Durdin
7f8867d50b
Merge pull request #14145 from keymanapp/fix/common-keyboards-zip
fix(common): Use zip.inc.sh for common test keyboards
2025-06-10 16:16:12 +07:00
Marc Durdin
bb1949a3bf
Merge pull request #14147 from keymanapp/chore/developer/extend-test-git-commit-timeout
chore(developer): extend unit test timeout for getLastGitCommitDate
2025-06-10 15:14:51 +07:00
Marc Durdin
90187885c1 chore(developer): extend unit test timeout for getLastGitCommitDate 2025-06-10 10:22:29 +07:00
Darcy Wong
838861d9b6
Update common/test/keyboards/build.sh
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-06-09 21:26:58 -05:00
Darcy Wong
f02553df0b fix(common): Use zip.inc.sh for common test keyboards 2025-06-09 09:43:10 -05:00
rc-swag
fd71c6354a
Merge branch 'epic/autocorrect' into chore/merge-master-into-autocorrect 2025-06-09 14:11:55 +10:00
Keyman Server
1e4ed4a21f
Merge pull request #14134 from keymanapp/auto/version-master-19.0.61
auto: increment master version to 19.0.61
2025-06-06 11:01:43 -07:00
Keyman Build Agent
094fd2b48f auto: increment master version to 19.0.61 2025-06-06 14:00:56 -04:00
Eberhard Beilharz
33fe775aa7
maint(developer): use docker buildx to build docker images
This change verifies that `docker buildx` is available and then uses that
for building the images. For that we apparently need the magic line at
the top of the `Dockerfile`s and set the environment variable
`DOCKER_BUILDKIT`. This solves a problem building docker images on
Linux with an older Docker version where the heredocs didn't work.
2025-06-06 18:10:53 +02:00
Eberhard Beilharz
739bdf788f maint: always use LF for Dockerfiles
When running Docker on Windows Docker is not able to properly adjust to
the line ending. When it builds the image from a Dockerfile that's
checked out with the Windows-style line endings (\r\n), and it runs a
command like

```Dockerfile
RUN <<EOF cat > /usr/bin/bashwrapper
echo "Hello world!"
EOF
```

it makes the filename `/usr/bin/bashwrapper\r`! This change works around
this problem by always using LF line endings for
`resources/docker-images/**/Dockerfile`.
2025-06-06 17:14:16 +02:00