Commit graph

24978 commits

Author SHA1 Message Date
Marc Durdin
4c5a91081f feat(developer): Support v2.0 projects in TIKE
Relates to #9948. Starts basic support for v2.0 projects.

For all operating modes:

- Remove blank projects / untitled projects mode
- Add Open Project Folder buttons and links
- Remove Project Save As
- Render uses in-memory XML
- Upgrade to v2.0 project file (along with checks)

For v2.0 projects:

- Remove 'Add File to Project'
- Populate Files to list all files in folder (note: consider efficiency
  here as currently files are parsed for subfile data)
- Version 2.0 project options and defaults
2023-11-07 05:18:25 +07:00
Keyman Server
5c4ce627ee
Merge pull request #9947 from keymanapp/auto/version-master-17.0.207
auto: increment master version to 17.0.207
2023-11-07 01:04:00 +07:00
Keyman Build Agent
4b3f16dec3 auto: increment master version to 17.0.207 2023-11-06 13:03:23 -05:00
Eberhard Beilharz
09843634bb
chore(web): Address code review comments 2023-11-06 17:28:25 +07:00
Eberhard Beilharz
4851c547a9
chore(core): Enhance core test 2023-11-06 15:57:07 +07:00
Eberhard Beilharz
abe6cee202
chore(web): Additional tests for backspace
Addresses code review comments.
2023-11-06 15:51:29 +07:00
Joshua A. Horton
f1f09918e0 chore(web): Merge branch 'feat/web/flick-implementation' into feat/web/gesture-preview-host 2023-11-06 15:45:57 +07:00
Joshua A. Horton
221e1dcd5d chore(web): Merge branch 'feat/web/modipress' into feat/web/flick-implementation 2023-11-06 15:45:44 +07:00
Joshua A. Horton
eb74bb9c61 chore(web): taggedContext null guard in lm-worker 2023-11-06 15:35:54 +07:00
Joshua A. Horton
8e87e66bcf chore(web): gesture-engine integration null-guards 2023-11-06 15:31:39 +07:00
Darcy Wong
5902c764c7
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-11-06 15:26:32 +07:00
Darcy Wong
699e1f350b chore(common): Revert other files 2023-11-06 15:25:59 +07:00
Joshua A. Horton
d227550172 fix(web): path with undefined return value in matcherSelector 2023-11-06 15:22:33 +07:00
Joshua A. Horton
52897769e4 fix(web): fixes #9561 - disables esbuild's keepNames setting 2023-11-06 15:13:08 +07:00
Marc Durdin
479da80a1a
Merge pull request #9941 from keymanapp/fix/developer/9848-resilient-cache-state-loading
fix(developer): resilience in loading Server config and cache files
2023-11-06 17:56:04 +11:00
Marc Durdin
946dcdabdf
Merge pull request #9940 from keymanapp/fix/developer/9939-sentry-support-in-server
fix(developer): Sentry in Server should honour reporting settings
2023-11-06 17:55:56 +11:00
Darcy Wong
7ff8d7acd9 chore(common): revert VERSIONs 2023-11-06 13:52:20 +07:00
Darcy Wong
132c8c7980 fix(developer): Revert test changes 2023-11-06 13:48:31 +07:00
Darcy Wong
56a86a8f87
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-11-06 13:42:36 +07:00
Eberhard Beilharz
a43fad4678
fix(web): Don't clear deadkeys after backspace
Fixes #8568.
2023-11-06 13:29:33 +07:00
Eberhard Beilharz
2e71ec9e70
chore(web): Add failing test for deadkey bug
Also adds a similar testcase to the baseline keyboard tests.
2023-11-06 13:28:49 +07:00
Joshua A. Horton
8d6610abf4 fix(web): lm-worker null guard 2023-11-06 13:20:37 +07:00
Eberhard Beilharz
84dd0c6b95
chore(web): Improve debug output of nodeProctor 2023-11-06 12:20:57 +07:00
Eberhard Beilharz
fa0b3e839e
refactor(core): Remove obsolete comments
Since things are working in both cases it seems that the problem got
fixed and the comments are obsolete.
2023-11-06 12:20:56 +07:00
Joshua A. Horton
1136b838fb fix(web): better consistency for flick-animation b/t phone and tablet 2023-11-06 11:40:45 +07:00
Marc Durdin
7a08688ae1
Merge pull request #9938 from keymanapp/feat/developer/9931-line-numbers-for-some-kmw-messages
feat(developer): provide line number for some kmw compiler messages
2023-11-06 14:57:51 +11:00
Marc Durdin
2f42dd41f0
Merge pull request #9937 from keymanapp/chore/common/npm-prepublish-remove
chore(common): remove prepublish step from package.json
2023-11-06 14:57:43 +11:00
Marc Durdin
3e3fb92d59
Merge pull request #9924 from keymanapp/chore/developer/remove-CompileErrorCodes
chore(developer): remove compile.pas and CompileErrorCodes.pas
2023-11-06 14:57:35 +11:00
Marc Durdin
65b73b7c54
Merge branch 'fix/developer/9939-sentry-support-in-server' into fix/developer/9848-resilient-cache-state-loading 2023-11-06 14:47:08 +11:00
Marc Durdin
ea038c6db8 chore(developer): developer-utils embed 2023-11-06 10:46:48 +07:00
Joshua A. Horton
fab64bc2ac chore(web): applies a few PR suggestions 2023-11-06 10:30:55 +07:00
Darcy Wong
6247a522b0 chore(android): Merge remote-tracking branch 'origin/master' into fix/android/image-banner 2023-11-06 09:17:20 +07:00
Joshua A. Horton
8ddb91bcbf chore(web): Merge branch 'feat/web/flick-implementation' into feat/web/gesture-preview-host 2023-11-06 08:59:18 +07:00
Joshua A. Horton
2c16255152 docs(web): updates a comment 2023-11-06 08:55:27 +07:00
Joshua A. Horton
ba97cc28a3 chore(web): Merge branch 'feat/web/flick-implementation' into feat/web/gesture-preview-host 2023-11-06 08:41:00 +07:00
Joshua A. Horton
dca2f1431b chore(web): Merge branch 'feat/web/modipress' into feat/web/flick-implementation 2023-11-06 08:40:37 +07:00
Joshua A. Horton
93c1317a5d fix(web): modipress on first tap of multitappable 2023-11-06 08:38:56 +07:00
Marc Durdin
8e21925c26 fix(developer): resilience in loading Server config and cache files
Fixes #9848.

Root cause of #9848 is unknown, because the cache state file was filled
with nul bytes. It is unclear how that could have happened, but seems
likely to be external interference.

The cascade was that Server failed to start because it would crash when
attempting to load the cache state file. So this fix resolves that by
handling invalid file exceptions.
2023-11-06 08:30:05 +07:00
Joshua Horton
a01a48fe7c
Merge pull request #9855 from keymanapp/change/common/models/pred-text-context-tracking
change(common/models): context tracking within the lm-worker 🐵
2023-11-06 08:27:54 +07:00
Joshua Horton
ce4176e5fb
Merge pull request #9827 from keymanapp/feat/web/test-kbd-prototyping
feat(web): prototype gesture-bootstrapping keyboards 🐵
2023-11-06 08:27:42 +07:00
Joshua Horton
a559004ee0
Merge pull request #9836 from keymanapp/refactor/web/transcription-cache
refactor(web): transcription cache needed for multitaps, no longer prediction-only 🐵
2023-11-06 08:27:35 +07:00
Joshua Horton
1bfe774ef1
Merge pull request #9829 from keymanapp/feat/web/custom-key-hints
feat(web): configurable key-cap hints 🐵
2023-11-06 08:27:28 +07:00
Joshua Horton
5a2cfb89c0
chore(web): Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-11-06 08:27:22 +07:00
Joshua Horton
8e13ca45bf
Merge pull request #9803 from keymanapp/fix/web/state-change-source-rewrite
fix(web): proper handling of key previews, longpresses near-synchronous with layer change 🐵
2023-11-06 08:27:08 +07:00
Joshua Horton
fd5f94b8d3
Merge pull request #9802 from keymanapp/fix/web/state-tokens-and-two-caps
fix(web): interactions from layer-shifting during gesture-event processing 🐵
2023-11-06 08:27:00 +07:00
Joshua Horton
835544218b
chore(web): Apply suggestions from code review
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2023-11-06 08:26:53 +07:00
Marc Durdin
716cb526b7 fix(developer): Sentry in Server should honour reporting settings
Fixes #9939.

Uses refactored KeymanSentry.ts in developer-utils and updates the
loader in Server to run from that.

The changes to tray.ts and friends are required to deal with a top-level
await issue with the shutdown call.

The top-level await issue is described in detail at
https://marc.durdin.net/2023/11/dynamic-import-on-node-js-with-circular-dependencies-leads-to-interesting-failure-modes/

tl;dr: shutdown needed to do a proper Sentry shutdown. The shutdown code
was in index.ts. This led to a circular dependency and caused a silent
and abrupt exit code 13 in Node.js. Moved shutdown code into shutdown.ts
to resolve this.
2023-11-06 08:18:24 +07:00
Marc Durdin
8e6252c7de fix(developer): move KeymanSentry to developer-utils
Relates to #9939. Splits KeymanSentry.ts into common functionality in
developer-utils, and TestKeymanSentry.ts.
2023-11-05 06:57:01 +07:00
Marc Durdin
ab4fcef9f7 feat(developer): add line number information for more kmw messages
Adds line number context for:
  * Error_VirtualCharacterKeysNotSupportedInKeymanWeb
  * Error_VirtualKeysNotValidForMnemonicLayouts
  * Warn_ExtendedShiftFlagsNotSupportedInKeymanWeb
  * Hint_UnreachableKeyCode
  * Warn_HelpFileMissing
  * Warn_EmbedJsFileMissing
  * Error_NotAnyRequiresVersion14

Line number metadata is not easily accessible where the following
messages are generated, so these are a potential future improvement:
  * Warn_OptionStoreNameInvalid
  * Error_NotSupportedInKeymanWebStore
2023-11-05 06:33:06 +07:00
Marc Durdin
02e1ea59a2 feat(developer): provide line number for some kmw compiler messages
Fixes #9931.

Provide additional line and file context for some KeymanWeb
compiler messages. This change requires debug data in the intermediate
kmx data provided to the kmw compiler, which should have no impact on
the final .js if debug=false.

This commit only addresses line number data in
Error_NotSupportedInKeymanWebContext and
Error_NotSupportedInKeymanWebOutput.

There are other compiler messages which could benefit from this data:
  * Warn_OptionStoreNameInvalid
  * Error_VirtualCharacterKeysNotSupportedInKeymanWeb
  * Error_VirtualKeysNotValidForMnemonicLayouts
  * Warn_ExtendedShiftFlagsNotSupportedInKeymanWeb
  * Hint_UnreachableKeyCode
  * Error_NotSupportedInKeymanWebStore
  * Warn_HelpFileMissing
  * Warn_EmbedJsFileMissing
  * Error_NotAnyRequiresVersion14
2023-11-05 06:12:42 +07:00