Commit graph

33096 commits

Author SHA1 Message Date
rc-swag
46c6a44f90
Merge pull request #13115 from keymanapp/feat/windows/13114/merge-update-reg-key
feat(windows): check updates and automatic update merged
2025-02-06 21:46:45 +10:00
Eberhard Beilharz
62b34c06e4
chore(linux): Update debian changelog
(cherry picked from commit 77c19aaacf)
2025-02-06 10:33:16 +01:00
Joshua Horton
95dae2079e change(web): drop 'dom' unit test concurrency when run in CI mode 2025-02-06 14:34:10 +07:00
Joshua Horton
c3cd0493ff docs(web): relocate gesture docs to web/docs/internal 2025-02-06 10:33:28 +07:00
Marc Durdin
bbd1dd82f7
Merge pull request #13137 from keymanapp/chore/version-stable-17.0-17.0.336-master-history
auto: increment stable-17.0 version to 17.0.336 (history cherry-pick to master)
2025-02-06 09:58:13 +07:00
Marc Durdin
c0342a4e73
Merge branch 'master' into chore/version-stable-17.0-17.0.336-master-history 2025-02-06 09:57:36 +07:00
Keyman Build Agent
e369121cba auto: increment stable-17.0 version to 17.0.336 (history cherry-pick to master) 2025-02-05 21:53:27 -05:00
Keyman Server
02b3c713c3
Merge pull request #13132 from keymanapp/auto/version-master-18.0.186
auto: increment master version to 18.0.186
2025-02-05 10:02:20 -08:00
Keyman Build Agent
57e82b70db auto: increment master version to 18.0.186 2025-02-05 13:01:47 -05:00
Eberhard Beilharz
3a72e56c75
refactor(linux): temporarily ignore integration tests
The setup for the integration tests is still wrong, so ignoring them
allows us to start the users tests and move forward. The integration
tests will be fixed in a follow-up commit.
2025-02-05 11:47:58 +01:00
Eberhard Beilharz
ec0ca04805
refactor(linux): Implement ordered output without patched ibus
This change implements things on the ibus-keyman side.

Fixes: #10799
2025-02-05 11:42:05 +01:00
Eberhard Beilharz
f23dd7563f
refactor(linux): Implement ordered output sentinel in keyman-system-service
This change allows to press F24 as ordered output sentinel from
keyman-system-service.

This is part of implementing serialized output with keyman-system-service
instead of requiring a patched ibus.

The problem both approaches try to solve is that with non-compliant apps
it is not possible to directly delete characters from the context. Instead
we have to emit a backspace key before we can commit the new
characters. However, the backspace key press goes through a different
code path in ibus and so it can happen that the commit gets processed
before the backspace which then deletes from the characters we just
added instead of from the old content.

The previous implementation solved this by forwarding a F24 ordered output
sentinel key to ibus and relying on the patched ibus to send that back to
us. When we received the F24 key we committed the characters that we
queued when we forwarded the F24 key (implemented in #7079).

The new approach implemented in this change instead sends the F24 ordered
output sentinel key through keyman-system-service and so follows the
regular key processing without requiring a patched ibus to send the key
back to us. The rest of the algorithm stays mostly the same: when we receive
the F24 key we commit the characters previously queued. The difference to
the previous implementation is that we now also queue the backspace keys
that we generate.

Part-of: #10799
2025-02-05 11:42:04 +01:00
Joshua Horton
b8aaab6ea2 change(ios): relocates keyboard hide+show notification handling
Addresses part of #12216
2025-02-05 15:42:23 +07:00
Joshua Horton
e9066b3d52 change(ios): relocates the "enter foreground" kbd-reload trigger
Addresses part of #12216
2025-02-05 15:42:23 +07:00
Marc Durdin
432f975283 fix(developer): support non-US base keyboard layouts in debuggers
Keyman Core expects US English virtual key codes, so make sure that the
debuggers translate the key codes they receive from Windows to the hard-
coded values for US English, as defined in ScanCodeMap.

Fixes: #13052
2025-02-05 15:22:24 +07:00
Shawn Schantz
558a57f72f
Merge pull request #13077 from keymanapp/chore/mac/12696-xcode-16-upgrade
chore(mac, ios): build and run with xcode 16
2025-02-05 13:14:15 +07:00
rc-swag
0fa9792718 feat(windows): mutex used to check download process
Using the KeymanMutex wrapper to check if a download process is occuring
if it isn't and we are in the downloading state this means the download
process exited early. We can then clean up any downloaded files and
reset the statemachine and check for updates again.
2025-02-05 15:26:13 +10:00
sgschantz
78520fa32a chore(mac): update sentry version for firstvoices 2025-02-05 12:12:57 +07:00
Marc Durdin
662ad0f4c1
Merge pull request #13080 from keymanapp/chore/developer/add-verbose-logs-for-copier
chore(developer): add verbose logs for project copier
2025-02-05 11:30:33 +07:00
Marc Durdin
7d70b6c31d
Merge pull request #13076 from keymanapp/feat/developer/13073-kmc-copy-ui-in-developer
feat(developer): add user interface for `kmc copy` to TIKE
2025-02-05 11:30:22 +07:00
Marc Durdin
2df63dddae
Merge pull request #13075 from keymanapp/fix/developer/13072-make-kmc-log-options-consistent
fix(developer): make kmc log options consistent across all commands
2025-02-05 11:30:10 +07:00
rc-swag
698a32f9e0 feat(windows): remove koAutomaticUpdate strings 2025-02-05 10:55:35 +10:00
Keyman Server
a94adfbddc
Merge pull request #13126 from keymanapp/auto/version-master-18.0.185
auto: increment master version to 18.0.185
2025-02-04 10:02:50 -08:00
Keyman Build Agent
a17e8fb4f8 auto: increment master version to 18.0.185 2025-02-04 13:02:14 -05:00
Dr Mark C. Sinclair
6ead43b899
Merge pull request #13122 from keymanapp/fix/common/web/types/12945-replace-invalid-StrsItem-identity-checks-with-isEqual
fix(common/web): replace invalid StrsItem identity checks with isEqual()
2025-02-04 11:20:53 +00:00
Marc Durdin
9db0d086dc
Merge pull request #13113 from keymanapp/feat/developer/kmc-include-command-line-in-sentry-reports
feat(developer): include command line in kmc sentry reports
2025-02-04 11:43:12 +07:00
Marc Durdin
a969bf3bc6
Merge pull request #13124 from keymanapp/chore/node-version
chore: update docs to reference node 20.0
2025-02-04 11:42:50 +07:00
Marc Durdin
aec7bee47f
Merge pull request #13117 from keymanapp/fix/common/13116-handle-undefined-input-in-langtags-lookup
fix(common): handle undefined input in `@keymanapp/langtags` lookups
2025-02-04 11:42:41 +07:00
rc-swag
a1ab9ed1c3 chore(windows): Merge branch 'master' into feat/windows/13114/merge-update-reg-key
# 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
2025-02-04 14:16:32 +10:00
rc-swag
d923fe8735 feat(windows): fix localistion check 2025-02-04 14:12:00 +10:00
Marc Durdin
4a879acd9d chore(developer): minimize PII in sentry cmdline report 2025-02-04 10:12:23 +07:00
Marc Durdin
439c091c9e chore: update docs to reference node 20.0
Relates-to: keyman-keyboards/khmer_angkor#1
2025-02-04 07:58:52 +07:00
Keyman Server
5bf2cbca39
Merge pull request #13123 from keymanapp/auto/version-master-18.0.184
auto: increment master version to 18.0.184
2025-02-03 10:02:44 -08:00
Keyman Build Agent
0398f06ca2 auto: increment master version to 18.0.184 2025-02-03 13:02:12 -05:00
Dr Mark C. Sinclair
6d060df601 fix(common/web): add two test cases for Strs.allocString() 2025-02-03 15:02:05 +00:00
Dr Mark C. Sinclair
0fabe6614a fix(common/web): add test cases for Strs implicit constructor and allocString for a one-character string 2025-02-03 12:47:58 +00:00
Dr Mark C. Sinclair
bdfa21128e fix(common/web): initial boiler plate for kmx-plus-tests.ts 2025-02-03 11:57:05 +00:00
Eberhard Beilharz
40075ce901
Merge pull request #13107 from keymanapp/chore/linux/docker
chore(linux): preserve log files when running tests under Docker
2025-02-03 11:43:48 +01:00
Joshua Horton
0e7b47e075
Merge pull request #12927 from keymanapp/fix/web/context-match-applied-suggestions
fix(web): correctly track context transitions caused by applying suggestions 🖲️
2025-02-03 15:11:01 +07:00
Joshua Horton
3c7ae5d7f6
Merge pull request #12925 from keymanapp/fix/web/context-match-path-ordering
fix(web): correct edit-path ordering at source 🖲️
2025-02-03 15:10:50 +07:00
Joshua Horton
316395a180
Merge pull request #12911 from keymanapp/change/web/context-tracker-backspaces-and-alignment
change(web): add context tracker bksp handling, alignment-offset calculations 🖲️
2025-02-03 15:10:36 +07:00
Marc Durdin
706f3996c2 chore(developer): prevent leading zeroes in initial component of version number 2025-02-03 14:07:38 +07:00
Marc Durdin
6dbc20f87b feat(developer): verify package version number format in kmc-package
Ensures that version number field is not blank, and is a recognized
format matching the pattern 'number[.number[.number]]'. Each number
component should be an integer, without leading zeroes.

The format chosen is more restrictive than semver, because much of our
existing infrastructure assumes this format anyway. This does lead to
a mismatch in version number format for LDML keyboards, which do support
semver according to the spec, so this may need to be revisited in the
future to allow for full semver formats.

Fixes: #13067
2025-02-03 14:00:58 +07:00
rc-swag
125ebe76f0 feat(windows): merge check for update part 2 2025-02-03 16:25:50 +10:00
Marc Durdin
5fea5b32cd fix(common): handle undefined input in @keymanapp/langtags lookups
Matches prior behaviour when langtags was part of kmc-keyboard-info.

Fixes: #13116
2025-02-03 12:40:10 +07:00
Joshua Horton
1dae8651ba
Merge pull request #13037 from keymanapp/fix/ios/prevent-message-handler-collision
fix(ios): prevent message-handler collision
2025-02-03 12:34:57 +07:00
rc-swag
175bfcaf41 feat(windows): remove old translations check for updates 2025-02-03 14:44:04 +10:00
rc-swag
9eec271011 feat(windows): check updates and automatic update merged
Check updates meaning has slightly changed it is now automatic updates
and it will now check, download and when possible start the install.

Previously it just meant a check for upates was made and notified
the user of updates.

Fixes:#13114
2025-02-03 14:25:44 +10:00
Marc Durdin
adf4b80bc0 chore(developer): make kmc-generate more resilient with nullish options 2025-02-03 10:30:13 +07:00
sgschantz
6a2c01e71f chore(mac): suppress verbose bash script logging 2025-02-03 10:19:46 +07:00