Commit graph

25994 commits

Author SHA1 Message Date
Marc Durdin
1e2ad40c19 fix(developer): filter incorrect fonts out of .keyboard_info
The font collection code was somewhat wrong in kmc-keyboard-info. It
collected all fonts referenced in the package, even for multi-keyboard
packages, which meant that the .keyboard_info file listed all fonts for
all languages. Furthermore, if a font was referenced in multiple
language entries in the .kps, then it would be repeated for each
language in the .keyboard_info. This patch addresses both of these bugs.

The good news is that this makes some of the .keyboard_info files
smaller. In particular, fv_all.keyboard_info goes from 4675 lines down
to 695 lines!

Fixes: #12852
Cherry-pick-of: #12909
2025-01-16 15:23:26 +07:00
Darcy Wong
ec1289c43b
Merge pull request #12875 from keymanapp/cherrypick/android/12871-hw-keystrokes-osk-hidden
fix(android): use main looper to dispatch key events when OSK is hidden 🏠
2025-01-15 21:28:57 +07:00
Darcy Wong
bce5327c8c fix(android): Process hardware keystrokes when OSK is hidden 2025-01-13 07:04:03 +07:00
Eberhard Beilharz
356e38ddfa
Merge pull request #12022 from keymanapp/chore/linux/changelog
chore(linux): Update debian changelog 🏠
2024-12-13 13:03:01 +01:00
Eberhard Beilharz
ed9269ef30
chore(linux): Update debian changelog 2024-12-11 15:54:09 +01:00
Steven R. Loomis
b0d3baa1c2
Merge pull request #12816 from keymanapp/chore/core/12298-cherry-pick-keylist-17x 2024-12-11 07:31:08 -06:00
Eberhard Beilharz
4ce7ee879f
Merge pull request #12817 from keymanapp/fix/linux/cherry-pick/12051_LintianErrors
fix(linux): work around Lintian errors 🍒 🏠
2024-12-11 10:22:56 +01:00
Eberhard Beilharz
1df5e548a8
Merge pull request #12819 from keymanapp/fix/linux/cherry-pick/uploadDebian
fix(linux): pushing of updated changelog branch 🍒 🏠
2024-12-11 10:22:17 +01:00
Eberhard Beilharz
ab9cfe1bf3
chore(linux): update upload-to-debian.sh script
This copies the `upload-to-debian.sh` script from `master` to the
`stable-17.0` branch.
2024-12-11 09:19:08 +01:00
Eberhard Beilharz
1fd7406c7d
chore(linux): remove unnecessary line from changelog
According to a comment on the latest upload to mentors.debian.org we
don't have to add the line "Re-release to Debian", so this change
removes this.
2024-12-11 09:00:41 +01:00
Eberhard Beilharz
d67589dcfa
chore(linux): update changelog 2024-12-10 18:58:26 +01:00
Eberhard Beilharz
3869580b77
chore(linux): change SIL International to SIL Global 2024-12-10 18:58:26 +01:00
Eberhard Beilharz
29298e496a
fix(linux): pushing of updated changelog branch 🍒
This fixes the `upload-to-debian.sh` script if the `chore/linux/changelog`
branch was created a while back while the base branch moved in the
meantime. In this case we have to use `--force` instead of
`--force-with-lease` otherwise `git` gets confused. This is save to do
since the intention is that we replace the previous commit and we know
that there is (should be) only one commit on the `chore/linux/changelog`
branch.

(cherry picked from commit bbf8acbda9)
2024-12-10 17:28:42 +01:00
Steven R. Loomis
e2dc02c542 chore(core): ldml test updates for 17.x 🍒 🙀
- reapply 17.x core API from 18.x

Fixes: #12298
2024-12-10 09:54:01 -06:00
Eberhard Beilharz
a998e29bb5
fix(linux): work around Lintian errors
We only use a C API, so we can safely ignore all C++ symbols that show up
in the symbols file. Those come from std template instantiations.

Fixes: #12051
2024-12-10 16:36:56 +01:00
Eberhard Beilharz
109e81869d
fix(linux): update AppStream metadata 2024-12-10 16:34:55 +01:00
Steven R. Loomis
a3986e7574 fix(core): implement ldml_processor::get_key_list() 🍒 🙀
- Cherry pick of https://github.com/keymanapp/keyman/pull/12644
- Cherry pick of de3397b476

Fixes: #12298
2024-12-09 19:24:54 -06:00
Eberhard Beilharz
38ae052f02
Merge pull request #12674 from keymanapp/fix/core/12661_logging
fix(core): permanently disable logging 🏠
2024-11-28 19:40:21 +07:00
Eberhard Beilharz
1c94d721ef
fix(core): permanently disable logging
This change disables logging at compile time to work around #12661.
Logging can be enabled in the debugger, or by re-compiling with
`g_debug_KeymanLog` set to TRUE.

Related: #12661
2024-11-14 16:37:55 +01:00
Keyman Server
bffd0aa5e5
Merge pull request #12633 from keymanapp/auto/version-stable-17.0-17.0.333
auto: increment stable-17.0 version to 17.0.333
2024-11-05 22:24:56 -08:00
Keyman Build Agent
a75d888aa5 auto: increment stable-17.0 version to 17.0.333 2024-11-06 01:24:14 -05:00
Marc Durdin
34f55bb914
Merge pull request #12617 from keymanapp/fix/linux/cherry-pick/12587_webkit
fix(linux): set environment variable for rendering of downloads dialog 🍒 🏠
2024-11-06 03:07:32 +01:00
Marc Durdin
f18388011f
Merge pull request #12628 from keymanapp/fix/developer/cherry-pick/12626-handle-merge-commits-when-checking-git-log
fix(developer): handle merge commits when checking git log date 🍒 🏠
2024-11-06 03:07:24 +01:00
Marc Durdin
3da2c28956 fix(developer): handle merge commits when checking git log date
Relates-to: keymanapp/keyboards#3143
Fixes: #12626
Fixes: KEYMAN-DEVELOPER-2AY
Cherry-pick-of: #12627
2024-11-06 06:13:17 +07:00
Marc Durdin
cab7cb5470
Merge pull request #12609 from keymanapp/fix/developer/cherry-pick/12607-force-server-directory-before-config-save
fix(developer): create Server config directory before options save 🍒 🏠
2024-11-05 07:05:31 +01:00
Eberhard Beilharz
8bff156a68
fix(linux): set environment variable for rendering of downloads dialog
This works around a problem in webkit2gtk where the download dialog
sometimes only renders a blank screen. Setting the environment variable
seems to help, not only in the cases that the issue describes (with a
NVidia graphics card), but also in my testing in a VM.

Fixes: #12587
Cherry-pick-of: #12616
2024-11-04 18:58:10 +01:00
Marc Durdin
3cd28d4f9f fix(developer): create Server config directory before options save
Also use back-off logic for saving in case config file is locked by
another process.

Cherry-pick-of: #12608
Fixes: #12607
Fixes: KEYMAN-DEVELOPER-1Z1
2024-11-04 08:07:07 +07:00
Keyman Server
c119b8911a
Merge pull request #12591 from keymanapp/auto/version-stable-17.0-17.0.332
auto: increment stable-17.0 version to 17.0.332
2024-10-29 23:32:40 -07:00
Keyman Build Agent
bac04ee20e auto: increment stable-17.0 version to 17.0.332 2024-10-30 02:29:33 -04:00
Marc Durdin
2542d62b16
Merge pull request #12523 from keymanapp/fix/developer/cherry-pick/12449-row-keys-whitespace
fix(developer): ignore excess whitespace in `<row keys>` attribute 🏠
2024-10-10 08:55:56 +02:00
Marc Durdin
9511160139
Merge pull request #12524 from keymanapp/fix/developer/cherry-pick/12451-prevent-invalid-string-ids
fix(developer): prevent invalid string ids 🏠
2024-10-10 08:55:34 +02:00
Marc Durdin
0c9f272cbc fix(developer): prevent invalid string ids
Adds checks for invalid string IDs and corresponding unit tests.

Fixes: #12451
Cherry-pick-of: #12645
2024-10-10 11:54:45 +07:00
Marc Durdin
df1ec2fe94 fix(developer): ignore excess whitespace in <row keys> attribute
Cherry-pick-of: #12468
Fixes: #12449
2024-10-10 11:49:19 +07:00
Shawn Schantz
13c80d53c2
Merge pull request #12513 from keymanapp/chore/ios/renew-cert
chore(ios): renew certificate 🍒 🏠
2024-10-08 16:06:41 +07:00
sgschantz
4a99cb9326 chore(ios): renew certificate 2024-10-08 15:16:49 +07:00
Darcy Wong
2027f7e118
Merge pull request #12504 from keymanapp/cherrypick/fv/mobile-updates
fix(oem/fv): Update keyboard versions and names for fv_all.kmp 🏠
2024-10-07 08:51:15 +07:00
Darcy Wong
9534d7e056 cherrypick(oem/fv): Update keyboard versions and names for fv_all.kmp 2024-10-04 13:06:18 +07:00
Marc Durdin
c360e50abf
Merge pull request #12475 from keymanapp/fix/common/12470-common-types-ldml-dep
fix(common): declare dep on @keymanapp/ldml-keyboard-constants 🏠
2024-09-26 23:36:41 +02:00
Marc Durdin
055aa37925 fix(common): declare dep on @keymanapp/ldml-keyboard-constants
Fixes: #12470
2024-09-26 09:37:49 -07:00
Darcy Wong
3084f11133
Merge pull request #12466 from keymanapp/cherrypic/android/12442-disable-banner-password
fix(android): Hide suggestion banner on password fields 🍒 🏠
2024-09-26 05:51:39 +07:00
Darcy Wong
c264c0e502 fix(android): Hide suggestion banner on password fields 2024-09-25 09:44:31 +07:00
Keyman Server
efc2ad44ad
Merge pull request #12429 from keymanapp/auto/version-stable-17.0-17.0.331
auto: increment stable-17.0 version to 17.0.331
2024-09-16 15:49:18 -07:00
Keyman Build Agent
6b77800ee1 auto: increment stable-17.0 version to 17.0.331 2024-09-16 18:48:40 -04:00
Marc Durdin
69a5d9975c
Merge pull request #12407 from keymanapp/fix/developer/cherry-pick/12403-validate-string-use-before-definition
fix(developer): check vars string usage before definition 🍒 🏠
2024-09-17 00:40:42 +02:00
Marc Durdin
1acdc5b666
Merge pull request #12406 from keymanapp/fix/developer/cherry-pick/12395-rewrite-ldml-visual-keyboard-compiler
fix(developer): rewrite ldml visual keyboard compiler 🍒 🏠
2024-09-17 00:40:32 +02:00
Marc Durdin
94a4ac4eae fix(developer): LDML compiler, add TSS_VISUALKEYBOARD store when compiling visual keyboard
Fixes: #12395
Cherry-pick-of: #12402
2024-09-16 14:31:13 +07:00
Marc Durdin
62af49a46a chore(developer): rename CompilerMessages back for 17.0 2024-09-12 10:24:43 +07:00
Marc Durdin
44e28e21a6 fix(developer): check vars string usage before definition
Validation of vars was not properly checking for forward references to
string variables. This, coupled with a null vs undefined bug in
subsequent use, meant that forward reference variables were ending up
with a literal string value of 'undefined'.

This also fixes the test for visual-keyboard-compiler, where the fixture
was actually buggy and was the trigger for investigating this problem.

Fixes: #12403
Relates-to: #12395
2024-09-12 10:05:13 +07:00
Marc Durdin
91cd73602a fix(developer): rwrite ldml visual keyboard compiler
The visual keyboard compiler was never finished in 17.0. This rewrites
it to:

1. Use the kmxplus data rather than reading from xml directly
2. Fill in `visualkeyboard.header.kbdname`
3. Support modifiers
4. Handle encoded characters like `\u{1234}`
5. Handle string variables like `${one}`*

Additional unit tests have been added to verify the behavior of the
visual keyboard compiler in more detail.

* String variable tests will be enabled in next commit (which is a
cherry-pick of #12404).

Other fixes:

1. The LDML XML reader was relying on its input being a Node.js `Buffer`
   even though it was declared `Uint8Array`, as it implicitly used
   `Buffer.toString()` to do text conversion. (`Buffer` subclasses from
   `Uint8Array`). This breaks when using `Uint8Array` directly and means
   we had an implicit dependency on Node.js. See also #12331.
2. XML errors were not captured in the LDML XML reader. See also #12331.
3. The unused and unfinished touch-layout-compiler.ts and
   keymanweb-compiler.ts have been removed along with corresponding unit
   tests and fixtures. These will be replaced by Core implementations;
   see #12291.

Fixes: #12395
Cherry-pick-of: #12402
2024-09-12 10:02:18 +07:00
Darcy Wong
c0c167a4a5
Merge pull request #12392 from keymanapp/cherrypick/android/publish
refactor(android): Move Sentry and APK to publish task 🏠
2024-09-11 09:40:19 +07:00