Commit graph

20036 commits

Author SHA1 Message Date
Keyman Server
5d7bcdc5c4
Merge pull request #8922 from keymanapp/auto/version-master-17.0.118
auto: increment master version to 17.0.118
2023-06-05 01:02:46 +07:00
Keyman Build Agent
80e6c2888f auto: increment master version to 17.0.118 2023-06-04 14:02:04 -04:00
Marc Durdin
e96cd3af11
Merge pull request #8915 from keymanapp/chore/developer/8888-long-line-test
chore(developer): verify long lines compile correctly
2023-06-04 21:15:46 +10:00
Keyman Server
6df4aff34d
Merge pull request #8919 from keymanapp/auto/version-master-17.0.117
auto: increment master version to 17.0.117
2023-06-03 01:03:58 +07:00
Keyman Build Agent
36502ee9b4 auto: increment master version to 17.0.117 2023-06-02 14:03:15 -04:00
Marc Durdin
4f3930d9b7
Merge pull request #8914 from keymanapp/chore/common/remove-url-from-web-types
chore(common): remove url module ref from common/web/types
2023-06-02 18:54:54 +10:00
Marc Durdin
16675ef46b
chore: extend from test options in e2e test 2023-06-02 18:54:42 +10:00
Marc Durdin
0ec5c08b26 chore(common): move const url to class prop
We still have cjs modules that rely on the ldml-keyboard-xml-reader, and
this meant that an exported const was being calculated with an invalid
meta url, which crashed the cjs module require() call.
2023-06-02 12:28:13 +07:00
Marc Durdin
d7f22b186f chore(developer): verify long lines compile correctly
Fixes #8888.

Verifies that wrapped lines (ending in \) are handled correctly in
kmcmplib.
2023-06-02 12:01:58 +07:00
Marc Durdin
4e535832d8 chore: cleanup 2023-06-02 11:45:59 +07:00
Marc Durdin
a281e1ac60 chore(common): remove redundant path 2023-06-02 11:43:25 +07:00
Marc Durdin
b313272250 chore(common): remove url module ref from common/web/types
The url module is a node module. We need to move responsibility for
resolving the path of the LDML XML <import> statements out of
common/web/types, and into the ultimate consumer, so it's now surfaced
as an option, along with a helper constant that reports the
import.meta.url-relative base path of the standard imports that are
compiled into common/web/types.

This hopefully means we can use this module in both browser and node
contexts without trouble.
2023-06-02 11:38:17 +07:00
Marc Durdin
9a4345c736
Merge pull request #8908 from keymanapp/chore/developer/8885-error-check-loadFile-callback
chore(developer): loadFile callback error check and optimization
2023-06-02 13:21:04 +10:00
Marc Durdin
355b5f9085
Merge pull request #8907 from keymanapp/refactor/developer/8883-move-filename-consistency-check-to-kmc
refactor(developer): move filename consistency check to kmc
2023-06-02 13:20:57 +10:00
Marc Durdin
f762b31d01
Merge pull request #8899 from keymanapp/refactor/developer/8889-kmcmplib-interface-shuffle
refactor(developer): rearrange kmcmplib interface source
2023-06-02 13:20:50 +10:00
Marc Durdin
d74c276d44
Merge pull request #8892 from keymanapp/chore/developer/8886-kvk-compiler-checks
chore(developer): verify kvks files and report errors
2023-06-02 13:20:43 +10:00
Marc Durdin
53aa9df2c0
Merge branch 'master' into chore/developer/8886-kvk-compiler-checks 2023-06-02 10:30:00 +10:00
Eberhard Beilharz
4b82a34127
Merge pull request #8897 from keymanapp/feat/linux/8631_AddColumn
feat(linux): Add column for installation location
2023-06-01 21:25:04 +02:00
Keyman Server
04d53ef6d9
Merge pull request #8911 from keymanapp/auto/version-master-17.0.116
auto: increment master version to 17.0.116
2023-06-02 01:03:17 +07:00
Keyman Build Agent
51cc5afde7 auto: increment master version to 17.0.116 2023-06-01 14:02:40 -04:00
Eberhard Beilharz
af6e162a27
feat(linux): Rename column and add tooltip
This renames the column from "Location" to "Area" and shows only
the area instead of the full path. This also adds a tooltip to the
row which shows the full path to the keyboard.
2023-06-01 19:16:28 +02:00
Eberhard Beilharz
d615659d5e
chore(linux): Address code review comments 2023-06-01 19:14:17 +02:00
Eberhard Beilharz
980b857b1e
Merge pull request #7989 from keymanapp/feat/linux/StackSidebar
feat(linux): Implement Options page and option to disable Sentry error reporting
2023-06-01 18:48:56 +02:00
Marc Durdin
7301281247 chore(developer): loadFile callback error check and optimization
Fixes #8885.

Adds some optimization and error checking to the loadFile callback in
kmc-kmn. Also handles case of zero-byte bitmap file so we won't crash on
it.
2023-06-01 15:31:31 +07:00
Marc Durdin
c3458d040c refactor(developer): move filename consistency check to kmc
kmcmplib no longer has any filesystem access, so it cannot verify if a
referenced filename in a source file has the same case as the actual
filename on disk (a risk when moving projects between platforms). So
I opted to move this to the `loadFile` callback in kmc, which is the
only place where filesystem is actually accessed, and added
corresponding unit test.

Small additional fixes here:

1. Move from `Buffer` to `Uint8Array` in all kmc-* modules, so that we
   remove that barrier to running on web.
2. Use `callbacks.loadFile` instead of `callbacks.fs.readFileSync`, so
   that we can be sure to run the filename consistency check.
3. Fixed kps parser silently swallowing xml errors on load.
4. Added silent mode to NodeCompilerCallbacks so we could cleanly test
   the new filename consistency hint.
5. Noted a location where we still have NodeJS deps in kmc-ldml.
2023-06-01 15:11:38 +07:00
Marc Durdin
d59d544406
Merge pull request #8894 from keymanapp/fix/common/npm-pack-publish-with-node-18
fix(common): tweak pack/publish support for npm 9.5.1 and node 18.16.0
2023-06-01 16:17:23 +10:00
Marc Durdin
c3ecae4e98 refactor(developer): rearrange kmcmplib interface source
Fixes #8889.

No code changes, just moves WASM interfaces into
CompilerInterfacesWasm.cpp, and CompileKeyboardHandle is renamed to
CompileKeyboardBuffer and moved into its own source file.
2023-06-01 05:29:19 +07:00
Marc Durdin
717b1eea98
chore: Apply code review suggestion
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2023-06-01 08:04:34 +10:00
Marc Durdin
9d351f4798 chore(developer): verify kvks files and report errors
Fixes #8886.

.kvks compiler now returns helpful errors for xml parse failures and
schema validation errors, and for invalid virtual key codes. Introduces
extra infrastructure for reporting and unit testing messages to kmc-kmn.

This also fixes unhandled xml load exceptions and simplifies the error
reporting coming out of the kvks loader, on the basis that only one type
of error was being reported anyway.
2023-06-01 05:02:26 +07:00
Marc Durdin
e2930fa080 chore(developer): fix npm pack for kmc-ldml 2023-06-01 05:02:25 +07:00
Marc Durdin
6f4f20acb8 chore(developer): Add TODO issue numbers to PR 2023-06-01 05:02:24 +07:00
Marc Durdin
47c8a95fb0 refactor(developer): complete fs move out of kmcmplib
* Moves filesystem access out of kmcmplib into kmc-kmn
* Adds filesystem access callback to kmcmplib unit tests
* Cleans up callback interface through wasm
* Adds unit tests for various file load scenarios
* Removes nodefs dependency from kmcmplib wasm build, and removes
  corresponding path mappings which were previously required for wasm
  builds; note that these are still present for the unit tests for
  kmcmplib.
2023-06-01 05:02:23 +07:00
Marc Durdin
980b893644 refactor(developer): move fs for kmn load to caller 2023-06-01 05:02:22 +07:00
Marc Durdin
378465e2c6
Merge pull request #8882 from keymanapp/refactor/developer/kmcmplib-no-fs
refactor(developer): complete fs move out of kmcmplib
2023-06-01 08:00:31 +10:00
Keyman Server
34869cc163
Merge pull request #8898 from keymanapp/auto/version-master-17.0.115
auto: increment master version to 17.0.115
2023-06-01 01:03:34 +07:00
Keyman Build Agent
bbdcb1d5df auto: increment master version to 17.0.115 2023-05-31 14:02:54 -04:00
Eberhard Beilharz
fa66b42410
feat(linux): Add column for installation location
Closes #8631.
2023-05-31 17:40:35 +02:00
Marc Durdin
4b0f4e9c51
chore: Update resources/build/build-utils-ci.inc.sh 2023-05-31 19:12:20 +10:00
Marc Durdin
bb675730a2 fix(common): tweak pack/publish support for npm 9.5.1 and node 18.16.0
The npm version command started failing when we updated to node 18.16.0,
and it looks like it is related to the version numbers. This makes the
pack file mangling idempotent and applies it to all package.json files
in the repository.
2023-05-31 15:59:56 +07:00
Eberhard Beilharz
f711eaea8c
Merge pull request #8864 from keymanapp/chore/linux/8712_build.sh
chore(linux): Move build steps to build.sh
2023-05-31 08:16:34 +02:00
Marc Durdin
8edd656edb
Merge pull request #8874 from keymanapp/chore/developer/move-kb-repo-fixtures
chore(developer): move keyboard repo fixtures
2023-05-31 13:28:42 +10:00
Marc Durdin
92278250d5
Merge pull request #8870 from keymanapp/chore/developer/refactor-kmcmplib-interfaces
chore(developer): refactor kmcmplib interfaces
2023-05-31 13:28:30 +10:00
Marc Durdin
8b89ddca5a
Merge pull request #8857 from keymanapp/chore/developer/replace-cwrap-with-bind
chore(developer): replace cwrap wasm bindings
2023-05-31 13:28:21 +10:00
Marc Durdin
7ccd8bed4f chore(developer): fix npm pack for kmc-ldml 2023-05-31 10:24:32 +07:00
Marc Durdin
c95e232f3c
chore(developer): Add TODO issue numbers to PR 2023-05-31 12:13:59 +10:00
Marc Durdin
77da56e748 refactor(developer): complete fs move out of kmcmplib
* Moves filesystem access out of kmcmplib into kmc-kmn
* Adds filesystem access callback to kmcmplib unit tests
* Cleans up callback interface through wasm
* Adds unit tests for various file load scenarios
* Removes nodefs dependency from kmcmplib wasm build, and removes
  corresponding path mappings which were previously required for wasm
  builds; note that these are still present for the unit tests for
  kmcmplib.
2023-05-31 07:44:35 +07:00
Eberhard Beilharz
b6c90c67b0
chore(linux): Temporarily install schema during creation of man pages 2023-05-30 20:01:05 +02:00
Eberhard Beilharz
a6c4c0763b
chore(linux): Properly set variables in GHA 2023-05-30 19:01:10 +02:00
Eberhard Beilharz
7f9ef0d35b
feat(linux): Add option to disable Sentry
Closes #5027.
2023-05-30 18:32:28 +02:00
Eberhard Beilharz
4a0f061d4d
feat(linux): Use StackSidebar for km-config
This change displays tabs at the left. It also adds a dummy
"Options" page which isn't implemented yet.
2023-05-30 18:32:28 +02:00