Commit graph

27814 commits

Author SHA1 Message Date
Marc Durdin
b7810bdd2e 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 09:18:06 +07:00
Marc Durdin
e4017a8c28 fix(developer): rewrite 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.

TODO-LDML: string variables appear to have a secondary bug -- they seem
to be returning the string 'undefined'. I have disabled the related
tests and will examine this separately, and enable those tests once
fixed.

TODO-LDML: we should probably add a compiler warning + unit test for
`<layers formId="us"><layer id="base">`, because this pattern does not
make sense: when using non-touch forms, the `<layer>` element should use
`modifiers` attribute, and correspondingly, `modifiers` attribute should
_not_ be used when `formId` is `touch`.

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 are replaced by Core implementations; see
   #12291.

Fixes: #12395
2024-09-12 06:06:00 +07:00
Keyman Server
60c51c7f65
Merge pull request #12371 from keymanapp/auto/version-master-18.0.107
auto: increment master version to 18.0.107
2024-09-06 11:03:20 -07:00
Keyman Build Agent
13cadb24e4 auto: increment master version to 18.0.107 2024-09-06 14:02:45 -04:00
Eberhard Beilharz
8fd0877c52
Merge pull request #12369 from keymanapp/docs/web/helplink
docs(web): fix link to documentation page
2024-09-06 17:47:25 +07:00
Eberhard Beilharz
dc66cddee5
docs(web): fix link to documentation page
The help page for `BuildVisualKeyboard` is under `core`, not `osk`.
2024-09-06 09:12:16 +02:00
Darcy Wong
8098964c55
Merge pull request #12361 from keymanapp/fix/android/zero-keyboard-languages
fix(android): Skip language counts for lexical-model packages
2024-09-06 12:55:19 +07:00
rc-swag
e41a8cbbb6
Merge pull request #12259 from keymanapp/feat/windows/11471/right-modifier-hk
feat(windows): add right modifier included in hotkey optional functionality
2024-09-06 13:40:14 +10:00
Keyman Server
df1bc3f98c
Merge pull request #12365 from keymanapp/auto/version-master-18.0.106
auto: increment master version to 18.0.106
2024-09-05 11:03:52 -07:00
Keyman Build Agent
d0f0b68571 auto: increment master version to 18.0.106 2024-09-05 14:03:12 -04:00
rc-swag
d61c37b4b1
Merge pull request #12327 from keymanapp/feat/windows/12251/update-sil-global-strings
feat(windows): Add two new strings for SIL Global name instead of SIL International
2024-09-05 16:58:50 +10:00
Darcy Wong
6720b6cb02
Merge pull request #12362 from keymanapp/fv/keyboards-csv-from-repo
chore(oem/fv): Update to fv_all 13.0
2024-09-05 13:17:27 +07:00
Shawn Schantz
a64ada83b4
Merge pull request #12354 from keymanapp/fix/mac/12295-catalina-startup-crash
fix(mac): avoid crash on startup with macOS 10.15 (Catalina)
2024-09-05 10:17:56 +07:00
Darcy Wong
870e55912b
Merge pull request #12359 from keymanapp/docs/android/longpress-menu
docs(android): Add in-app help for adjusting longpress delay
2024-09-05 09:11:36 +07:00
Darcy Wong
1d6ea8c696
Merge pull request #12352 from keymanapp/chore/missing-history-18-0-103
chore(common): Fix missing entries in HISTORY.md
2024-09-05 07:47:49 +07:00
Darcy Wong
7ad1e44836 chore(oem/fv): Update to fv_all 13.0 2024-09-05 02:13:59 +07:00
Darcy Wong
60fa60d59c fix(android): Skip language counts for lexical-model packages 2024-09-04 15:14:20 +07:00
Darcy Wong
0a42e5bba6 docs(android): Add in-app help for adjusting longpress delay 2024-09-04 12:54:55 +07:00
Shawn Schantz
703790dbd5
Merge branch 'master' into fix/mac/12295-catalina-startup-crash 2024-09-04 09:51:41 +07:00
Keyman Server
9bd1e7f8c6
Merge pull request #12357 from keymanapp/auto/version-master-18.0.105
auto: increment master version to 18.0.105
2024-09-03 11:03:17 -07:00
Keyman Build Agent
ca48f44065 auto: increment master version to 18.0.105 2024-09-03 14:02:35 -04:00
sgschantz
f5677782b0 fix(mac): check for macOS 11 for PostEvent access
CGPreflightPostEventAccess API should be available
with macOS 10.5 (Catalina) but that does not appear
to be true in experience. Changing to check for 11.0
(Big Sur) before using that API instead.

Fixes: #12295
2024-09-03 13:07:25 +07:00
Darcy Wong
99adf9c7e1 chore(common): Fix missing entries in HISTORY.md 2024-09-03 11:05:13 +07:00
Shawn Schantz
fdad0ca2bb
Merge pull request #12326 from keymanapp/fix/mac/9308-no-package-info
fix(mac): display package info after keyboard installation
2024-09-03 08:42:33 +07:00
Keyman Server
ffa4fb0a1c
Merge pull request #12349 from keymanapp/auto/version-master-18.0.104
auto: increment master version to 18.0.104
2024-09-02 11:03:23 -07:00
Keyman Build Agent
33715a0b38 auto: increment master version to 18.0.104 2024-09-02 14:02:38 -04:00
sgschantz
cc2c917bc2 fix(mac): nil window references after dismissing dialogs
also delete commented code
2024-09-02 15:56:50 +07:00
rc-swag
cad009acc2 feat(windows): Fix string id name 2024-09-02 17:03:37 +10:00
rc-swag
c384902d6d chore(windows): Merge branch 'master' into feat/windows/12251/update-sil-global-strings
# 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
2024-09-02 14:51:05 +10:00
rc-swag
ccee8ed2da
Merge pull request #12250 from keymanapp/feat/windows/12160/update-sil-logo-kmw
feat(windows): update SIL logo for Windows UI
2024-09-02 14:48:13 +10:00
rc-swag
10c343fc43 feat(windows): change verb use to allow for clarity 2024-09-02 13:31:21 +10:00
rc-swag
f0827b4d1e
Merge pull request #12252 from keymanapp/feat/windows/11471/remove-old-flags-modifier
feat(windows): Remove hotkey related feature flags
2024-09-02 12:59:12 +10:00
sgschantz
b38700cb19 fix(mac): comment cleanup 2024-09-02 09:34:31 +07:00
Shawn Schantz
bd51d606b8
Merge branch 'master' into fix/mac/9308-no-package-info 2024-09-02 09:23:29 +07:00
rc-swag
d70ad35691 chore(windows): Merge branch 'feat/windows/11471/remove-old-flags-modifier' into feat/windows/11471/right-modifier-hk 2024-09-02 11:46:00 +10:00
rc-swag
20a9ecdb78 feat(windows): address review comments 2024-09-02 11:33:55 +10:00
Keyman Server
325cab01cc
Merge pull request #12333 from keymanapp/auto/version-master-18.0.103
auto: increment master version to 18.0.103
2024-08-30 11:03:48 -07:00
Keyman Build Agent
11abf8ac69 auto: increment master version to 18.0.103 2024-08-30 14:02:49 -04:00
sgschantz
19cb236fe5 fix(mac): open download info sheet from config window
Rather than opening from the keyboard download window
which is supposed to be closed by the download info
sheet. This prevents the download info sheet from
closing its own parent on which it depends.
2024-08-30 15:05:58 +07:00
Shawn Schantz
d6d9feb64c
Merge branch 'master' into fix/mac/9308-no-package-info 2024-08-30 12:55:23 +07:00
Shawn Schantz
0aa4be5584
Merge pull request #12144 from keymanapp/change/mac/2542-use-partial-keyboard-paths
change(mac): store partial path in UserDefaults
2024-08-30 12:36:17 +07:00
Shawn Schantz
a283fd1391
Merge pull request #12106 from keymanapp/change/mac/2542-store-keyboards-elsewhere
change(mac): store data in Library directory instead of Documents
2024-08-30 12:35:36 +07:00
sgschantz
9ddb7ba329 change(mac): encapsulate active keyboards access in KMSettingsRepository 2024-08-30 09:38:58 +07:00
Eberhard Beilharz
7dc3b06d3e
Merge pull request #12314 from keymanapp/docs/web/doc
docs(web): add documentation comments for touch layout interfaces
2024-08-30 08:35:25 +07:00
Keyman Server
5829155af6
Merge pull request #12329 from keymanapp/auto/version-master-18.0.102
auto: increment master version to 18.0.102
2024-08-29 11:05:20 -07:00
Keyman Build Agent
e121dc786f auto: increment master version to 18.0.102 2024-08-29 14:04:35 -04:00
Joshua Horton
5b5fd30efc
Merge pull request #12313 from keymanapp/fix/web/mid-context-accept-space-interactions 2024-08-29 21:23:04 +07:00
Darcy Wong
6c1125e516
Merge pull request #12316 from keymanapp/chore/common/crowdin-cs
chore(common): Update crowdin strings for Czech
2024-08-29 20:20:00 +07:00
Eberhard Beilharz
0f2ef228ed
Merge pull request #12277 from keymanapp/fix/linux/12019_oskFont
fix(linux): add `keymanFacename` to .ldml file
2024-08-29 20:16:44 +07:00
Darcy Wong
31d2b76b30
Merge pull request #12315 from keymanapp/fix/android/enter-search
fix(android): Prioritize certain actions over multi-line for ENTER key
2024-08-29 20:16:34 +07:00