Commit graph

29392 commits

Author SHA1 Message Date
Marc Durdin
d8bbe951d1
Merge pull request #13187 from keymanapp/alpha
chore: increment to alpha 19.0
2025-02-11 14:48:03 +07:00
Marc Durdin
342f216291 chore: increment to alpha 19.0 2025-02-11 14:14:15 +07:00
rc-swag
8d6b331a67
Merge pull request #13168 from keymanapp/feat/windows/13167/add-release-kmutex
refactor(windows): rename `TKeymanMutex.MutexOwned` to `TakeOwnership` and add `ReleaseOwnership`
2025-02-11 15:02:45 +10:00
Keyman Server
92d8d4566f
Merge pull request #13173 from keymanapp/auto/version-master-18.0.189
auto: increment master version to 18.0.189
2025-02-10 10:03:16 -08:00
Keyman Build Agent
87da9ce6d4 auto: increment master version to 18.0.189 2025-02-10 13:02:44 -05:00
Eberhard Beilharz
3313c2cc5a
Merge pull request #11535 from keymanapp/refactor/linux/10799_SerializedOutput
change(linux): Implement ordered output without patched ibus
2025-02-10 15:32:37 +01:00
rc-swag
bb7ef7dfd0
Merge pull request #13162 from keymanapp/fix/windows/13114/english-for-automatic-updates
fix(windows): use Automatically check for updates and download for the english xml
2025-02-10 20:45:39 +10:00
rc-swag
96b3c4f983
feat(windows): review suggestions
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-02-10 15:00:17 +10:00
rc-swag
b074c2c0ef feat(windows): add release ownership rename mutex owned
Add a ReleaseOwnership member to TKeymanMutex.
Rename MutexOwned to TakeOwnership.

Fixes: #13167
2025-02-10 13:50:18 +10:00
Marc Durdin
7554786bc3
Merge pull request #13161 from keymanapp/fix/developer/13135-new-project-welcome-and-model-file-format
fix(developer): link welcome.htm in package for new projects; use v17 project format for new models
2025-02-10 09:10:07 +07:00
Marc Durdin
9359804268
Merge pull request #13157 from keymanapp/feat/developer/13109-check-that-package-does-not-contain-itself
feat(developer): verify that packages do not contain themselves in kmc-package
2025-02-10 09:09:58 +07:00
Marc Durdin
c1b930217b
Merge branch 'master' into feat/developer/13109-check-that-package-does-not-contain-itself 2025-02-10 08:20:05 +07:00
Marc Durdin
2d5e3ee440
Merge pull request #13156 from keymanapp/feat/developer/13134-improve-messages-and-links
feat(developer): improve compiler messages and user interface
2025-02-10 08:19:11 +07:00
Marc Durdin
b9c0c180db
Merge pull request #13131 from keymanapp/fix/developer/13052-support-non-us-base-keyboard-in-debugger
fix(developer): support non-US base keyboard layouts in debuggers
2025-02-10 08:19:04 +07:00
Marc Durdin
d5a594ad81
Merge pull request #13118 from keymanapp/feat/developer/13067-verify-version-format-in-kmc-package
feat(developer): verify package version number format in kmc-package
2025-02-10 08:18:53 +07:00
rc-swag
6fde1a5ed3
Merge pull request #13159 from keymanapp/feat/windows/13155/download-to-waitingrestart
feat(windows):  background updates go from downloading to waiting for a restart except if the `apply now` flag is set
2025-02-10 09:11:09 +10:00
rc-swag
848b1f506b
Merge pull request #13154 from keymanapp/fix/windows/13153/download-keyman-file-status
fix(windows): check the params status flag equals ucrsUpdateReady before attempting to download the keyman setup file
2025-02-10 09:10:47 +10:00
Keyman Server
8ef64bcb76
Merge pull request #13163 from keymanapp/auto/version-master-18.0.188
auto: increment master version to 18.0.188
2025-02-07 10:02:08 -08:00
Keyman Build Agent
ce3f8d5188 auto: increment master version to 18.0.188 2025-02-07 13:01:36 -05:00
rc-swag
51aeb8dcc0 fix(windows): use automatic update for old koCheckForUpdates
I missed the english phrase being copied over to the koCheckForUpdates
flag
2025-02-07 18:49:11 +10:00
Eberhard Beilharz
533be97682
Merge pull request #13143 from keymanapp/chore/linux/cherry-pick/changelog
chore(linux): Update debian changelog 🍒
2025-02-07 08:42:13 +01:00
Shawn Schantz
7d54adb25a
Merge pull request #13160 from keymanapp/chore/mac/hide-options-pane
chore(mac): remove empty options tab from configuration
2025-02-07 14:08:41 +07:00
Marc Durdin
503d045fee fix(developer): for new projects, link welcome.htm in package; use v17 project format for new models
* Links welcome.htm in the package details for all project types
* Uses v17 project file format for new lexical model projects
* Nit: changes shortcut key for 'supported languages' from 'l' to 's'
  to fix conflict with 'full copyright'.

Fixes: #13135
2025-02-07 13:50:11 +07:00
Marc Durdin
d4ecd83459 chore(developer): use kmn.sh instead of deeplink into help.keyman.com for message links 2025-02-07 12:50:38 +07:00
Shawn Schantz
0fd03cbdc6 chore(mac): remove empty options tab from configuration 2025-02-07 11:55:20 +07:00
Marc Durdin
a00e446ee7
chore(developer): use correct .kmp file extension in fixture
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2025-02-07 05:11:47 +01:00
Joshua Horton
b03f64cace
Merge pull request #13139 from keymanapp/docs/web/relocate-gesture-docs-to-internal
docs(web): relocate gesture docs to web/docs/internal
2025-02-07 10:25:23 +07:00
rc-swag
85b8a72be6 feat(windows): change condition at the end of download
Only go to the installing state if apply now has been set.
Otherwise go to WaitingRestart. Can revist in stage 2
2025-02-07 13:24:13 +10:00
Marc Durdin
4509aca88a feat(developer): verify that packages do not contain themselves in kmc-package
Fixes: #13109
2025-02-07 09:30:07 +07:00
Marc Durdin
bd4633333b feat(developer): improve compiler messages and user interface
* Add unit test to verify the format of message detail strings
  (max line length of 80 chars)
* Add unit test to verify non-null, non-empty message strings
* Tidy up a number of messages (to pass unit tests)
* Add message details for all kmw compiler messages
* Add a clickable link for the TIKE message window for each message
  so that explanations and further message details are more accessible
  to authors (`kmc message` is already available for command-line users)
* Fixes a number of minor issues with the messages window in TIKE,
  mostly relating to when popup menu commands are enabled and how
  messages are selected.

Fixes: #13134
2025-02-07 08:46:46 +07:00
rc-swag
89839e6466 chore(windows): Merge branch 'master' into fix/windows/13153/download-keyman-file-status
# 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-07 09:54:40 +10:00
rc-swag
7be7d9a1f9 fix(windows): check params status before download
In the case when a Keyboard was available for update but the
keyman version wasn't the state machine correctly didn't try to install
it. However the back ground download loop would try to download and
empty Params.InstallURL. This commit now checks the Params.Status.
This commit also removes the dead code for TDownloadUpdateParams record
type. This code is left over from a progress ui callback. It was
initially left for when UI callback maybe added back in. However, it
is currently confusing deadcode so has been removed.
Fixes: #13153
2025-02-07 09:29:36 +10:00
Keyman Server
02ad043bcc
Merge pull request #13152 from keymanapp/auto/version-master-18.0.187
auto: increment master version to 18.0.187
2025-02-06 10:01:56 -08:00
Keyman Build Agent
60c5d2a8a5 auto: increment master version to 18.0.187 2025-02-06 13:01:21 -05:00
Eberhard Beilharz
4d3d371a88
refactor(linux): fix build failure 2025-02-06 17:03:16 +01:00
Eberhard Beilharz
b1c818338f
refactor(linux): address code review comments 2025-02-06 16:57:52 +01:00
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
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
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
sgschantz
78520fa32a chore(mac): update sentry version for firstvoices 2025-02-05 12:12:57 +07:00