Commit graph

5552 commits

Author SHA1 Message Date
Marc Durdin
b2e72e94b9
Merge pull request #16445 from keymanapp/change/developer/14211-deprecate-fix-clearcontext
change(developer): deprecate `fix`, `clearcontext`, bump max .kmx version to 19.0
2026-09-01 22:32:31 +07:00
Marc Durdin
d496f8d59b
Merge pull request #16443 from keymanapp/maint/windows/16433-remove-koSwitchLanguageForAllApplications-and-cleanup
maint(windows): remove `koSwitchLanguageForAllApplications`, `koAutoSwitchOSKPages`, osVista, osWin7, osWin8, cleanup
2026-09-01 16:11:29 +07:00
Marc Durdin
1e8cd24960
Merge pull request #16446 from keymanapp/fix/developer/13721-u16tok-targets-store-leading-whitespace
fix(developer): handle leading delimiters correctly in `u16tok()`
2026-09-01 12:27:16 +07:00
Marc Durdin
d7b4084438 fix(developer): improve scroll wheel behavior in Character Map
The Character Map scroll will now scroll from current scroll position
when the scroll wheel is used, one row at a time, rather than moving the
currently selected cell. This behavior is more natural and allows mixed
use of the scrollbar and the scrollwheel.

Fixes: #14159
Test-bot: skip
2026-08-31 07:55:16 +02:00
Marc Durdin
babb473682 fix(developer): handle leading whitespace correctly in u16tok()
A string with leading delimiters passed into `u16tok()` would not skip
those delimiters. This impacted `&targets` store and other locations.

Note that this tightens input parameter checks for delimiters and
context as well.

Fixes: #13721
Test-bot: skip
2026-08-27 11:15:14 +02:00
Marc Durdin
14b2a9a168 change(developer): deprecate fix, clearcontext, bump max .kmx version to 19.0
Fixes: #14211
Test-bot: skip
2026-08-27 09:24:50 +02:00
Marc Durdin
0f281a6a9d maint(windows): remove koSwitchLanguageForAllApplications, koAutoSwitchOSKPages, osVista, osWin7, osWin8, cleanup
* Remove references to `koSwitchLanguageForAllApplications` and
  `koAutoSwitchOSKPages` options, translated strings for them, and
  related `GlobalKeyboardChangeManager` -- no longer required since
  Win8.
* Remove Windows Vista-, 7-, and 8-specific code paths - except for the
  one user-facing setting for installing keyboards on downlevel
  operating systems.
* Remove commented code

Fixes: #16433
Test-bot: skip
2026-08-27 07:47:25 +02:00
Marc Durdin
adaf2337c5
Merge pull request #12191 from keymanapp/epic/kmc-convert
epic: kmc-convert 😎
2026-08-20 16:14:11 +07:00
SabineSIL
882ede0c54
feat(developer): kmc-convert: new conversion .keylayout->kmn 😎 (#12564)
kmc-convert provides tooling to convert between various common keyboard
description file formats. Each conversion will be implemented in its
single, separate module (and each module will done in its own PR)

This PR will address the conversion **keylayout → kmn**

Co-authored-by: Marc Durdin <marc@durdin.net>
2026-08-18 15:16:02 +02:00
Keyman Server
90c10d5f34
Merge branch 'epic/autocorrect' into auto/A19S35-merge-base-into-autocorrect 2026-08-14 16:18:38 +02:00
Joshua Horton
bc497a5fcf fix(web): adjust sourcemap linking pattern used for error reporting within mobile apps
Fixes: #16367

Build-bot: skip build:web release:android release:ios
Test-bot: skip
2026-08-13 14:56:33 -05:00
Sabine
a621106ef3 chore(common): remove namespace km::vkey 2026-08-12 10:04:20 +02:00
Sabine
4e4e37ec26 chore(common): add VK_DELETE to km_vkey.h 2026-08-11 11:13:51 +02:00
Sabine
a2bf976e5e chore(common): remove commented old #defines; in some files remove paths for #include km_vkey 2026-08-11 09:46:49 +02:00
SabineSIL
540f8c5db8
Merge branch 'master' into chore/developer/scatteredCode/cleanup_VKeys 2026-08-07 12:01:43 +02:00
Keyman Server
c2a3fd8d7d
Merge branch 'epic/autocorrect' into auto/A19S33-merge-master-into-autocorrect 2026-07-20 07:26:08 +02:00
Marc Durdin
cb8f9584cf fix(android): improve clarity of keyboard script error popup
* Remove irrelevant context from toast and add more context for Sentry
  report.
* Add a test keyboard with a script error that will trigger the toast on
  first keystroke.
* Rearrange common/test/keyboards/invalid to make a good place for
  compiled invalid keyboards.

Fixes: #16145
Test-bot: skip
2026-07-13 11:21:42 +02:00
Marc Durdin
528876b42f
Merge pull request #16135 from keymanapp/chore/developer/14838-consolidate-api-extractor
chore(developer): consolidate api-extractor usage in Developer
2026-07-09 18:50:27 +10:00
Joshua Horton
56678bee6b Merge branch 'epic/autocorrect' into change/web/transition-id-nomenclature
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-07-06 08:43:45 -05:00
Keyman Server
2dfa960f13
Merge branch 'epic/autocorrect' into auto/A19S32-merge-base-into-autocorrect 2026-07-04 13:19:27 +02:00
Sabine
953f687c2a chore(common): comment for VK_DECIMAL, remove VK__MAX; use windows.h for VK_ESCAPE and VK_BACK 2026-07-02 15:40:24 +02:00
Sabine
b780ecc730 chore(common): edit value of VK_DECIMAL 2026-07-02 12:07:46 +02:00
Sabine
68fa9b97fb chore(common): rename namespace km_vk to vkey and use under km (km::vkey) 2026-07-02 11:37:46 +02:00
Sabine
62d7f79925 chore(common): rename and use keyman_vkey.h-> km_vkey.h 2026-07-02 11:19:46 +02:00
Sabine
5ab4b10375 chore(common): dummy change 2026-07-02 09:46:48 +02:00
SabineSIL
9ca40faac7
Merge branch 'master' into chore/developer/scatteredCode/cleanup_VKeys
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-07-02 09:37:43 +02:00
Marc Durdin
cda7dc6d24 chore: remove deprecated "X-UA-Compatible" and "apple-mobile-web-app-capable" metas
For Keyman Developer Server, add app.webmanifest so that it can be saved
to the home screen; other pages should not require this.

Fixes: #16172
Test-bot: skip
2026-07-01 10:27:22 +02:00
Marc Durdin
b535203e36 chore(developer): fix docs, api_extractor params in build.sh's
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Test-bot: skip
Build-bot: skip release:developer
2026-06-29 16:34:39 +02:00
Joshua Horton
b14fe90894 change(web): polish documentation + uses of transition ID in predictive text
- Drops the `Suggestion.transformId` field in favor of just reusing `.transform.id`
- Updates documentation on .transform.id as a unique identifier of the transition,
not specific to a single Transform.

Does not modify the `.transform` or `.id` properties because we've been publishing
lexical model types, and that would change the public model API.

Build-bot: skip build:web
Test-bot: skip
2026-06-26 12:48:16 -05:00
Marc Durdin
debe12f5d5 chore: Merge branch 'epic/autocorrect' into auto/A19S31-merge-master-into-autocorrect 2026-06-24 16:13:50 +02:00
Marc Durdin
d86604902e chore(developer): consolidate api-extractor usage in Developer
* Centralize the api-extractor.json files, update usage
* Support @since
* Tidy up a few warnings relating to API documentation content

Fixes: #14838
Test-bot: skip
2026-06-24 14:45:05 +02:00
Marc Durdin
647a9ebc98 fix(developer): prevent clone of legacy keyboards with no source
If a Keyman Cloud keyboard is legacy and has no source available, make
this more obvious to the author when they attempt to clone it. Add also
messages to help the author complete the other required steps to clone
a keyboard.

Fixes: #15606
Test-bot: skip
2026-06-22 17:17:18 +02:00
Joshua Horton
4632f9809e Merge branch 'epic/autocorrect' into auto/A19S30-merge-master-into-autocorrect 2026-06-09 14:50:36 -05:00
Eberhard Beilharz
c1113ac21d
chore(web): address code review comments
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
Also change a few places that I missed.
2026-06-08 19:27:12 +02:00
Marc Durdin
bb66bf42f0
Merge branch 'chore/web-core-preflight' into chore/web-core-strip-core 2026-06-02 00:48:52 +10:00
Marc Durdin
fc82f28b2d chore(web): web-core preflight - strip core references
In order to maintain roughly the current build artifact size, strip out
the unfinished core integration from what we merge with preflight.

Test-bot: skip
Build-bot: release:android,ios,developer,web
2026-06-01 14:44:45 +02:00
Eberhard Beilharz
81bae574b9 maint(web): output name of TC reporter
This change outputs the name of the TC reporter used for a test. This
will help in troubleshooting.

Build-bot: skip build:web
Test-bot: skip
2026-05-29 11:57:27 +02:00
Eberhard Beilharz
697e6972ee fix(web): further simplification
Turns out `end(result, true)` didn't actually do anything except calling
`end(result, true)` on each child, which resulted basically in a no-op.
Therefore this change removes the `force` parameter from `end()`.
2026-05-29 11:34:07 +02:00
Eberhard Beilharz
5dab671f22 fix(web): address code review comments
Co-authored-by: Marc Durdin <marc@durdin.net>
2026-05-29 11:34:06 +02:00
Eberhard Beilharz
73a0dd5318 maint(web): fix Playwright TC reporter
Previously the loop at the beginning of `end` had an infinite loop
because the child was never removed from `childrenToVisit`. This change
refactors and fixes the loop.

Build-bot: skip build:web
Test-bot: skip
2026-05-29 11:34:05 +02:00
Marc Durdin
729c71d64d chore: minor cleanup prior to merge of web-core preflight
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-05-28 14:16:19 +02:00
Marc Durdin
6a98a39b8a
Merge branch 'master' into chore/web-core-preflight 2026-05-27 22:37:12 +10:00
Marc Durdin
6a71c1d07c
Merge pull request #15984 from keymanapp/fix/windows/15164-locale-missing-after-lang-switch
fix(windows): Ensure default locale always appears in list of locales
2026-05-22 22:42:05 +10:00
Keyman Server
505842e93c
Merge branch 'epic/autocorrect' into auto/A19S29-merge-master-into-autocorrect 2026-05-22 07:22:28 +02:00
Marc Durdin
34d6eb89fa fix(windows): Ensure default locale always appears in list of locales
* Add `TKeymanPaths.KeymanLocalePath` for consistent access to locales
  folder, and update references.
* Remove the `SKDefaultLanguageCode` string and hard code the default
  language in CustomisationMessages.pas.
* Hide the test locale 'qqq' on release builds.

Fixes: #15164
2026-05-20 15:51:25 +02:00
Marc Durdin
94723ba556 chore(common): move common cpp files and remove unused files
* Move the following files from common/windows/cpp/include/ to
  common/include/:
  * keymanversion.h
  * vkeys.h

* Move the following file from common/windows/cpp/ to common/cpp/:
  * vkeys.cpp

* Move crc32.cpp,crc32.h into kmcmplib, as they are only used there.

* Remove unused ConvertUTF.c and ConvertUTF.h.

* Update references to the above files.

* Remove precompiled header refs from vkeys.cpp and change data type to
  `char*` for types in vkeys.cpp (unless `USE_CHAR16_T` is defined), so
  that it is more cross-platform accessible, update usages accordingly,
  fixup project definitions accordingly.

* Remove unused define `KMN_KBP_EXPORTING` from kmcmplib/meson.build.

Fixes: #15565
Test-bot: skip
2026-05-20 13:44:05 +02:00
Marc Durdin
593aa1448b chore: move to .localhost for local server URLs
Match website-local-proxy nginx server setup.

Test-bot: skip
2026-05-18 13:15:51 +02:00
Eberhard Beilharz
d93fc5aa7e
refactor(web): output id in console error of playwright TC reporter
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-04-17 10:05:33 +02:00
Keyman Server
94e1b26825
Merge branch 'epic/web-core' into auto/A19S26-merge-master-into-web-core 2026-04-13 15:47:18 +02:00
Keyman Server
f71967e4ea
Merge branch 'epic/autocorrect' into auto/A19S26-merge-master-into-autocorrect 2026-04-10 17:04:33 +02:00