Commit graph

14131 commits

Author SHA1 Message Date
Marc Durdin
4dd5904bca fix(developer): refresh web host on compile 2022-01-19 11:00:44 +11:00
Marc Durdin
24063ad931 chore(developer): update to node 16 lts 2022-01-19 10:59:54 +11:00
Marc Durdin
7b904969cb chore(developer): update icon and fix link 2021-12-23 07:25:07 +11:00
Marc Durdin
c1881bc966 chore: fix npm install 2021-12-22 15:38:14 +11:00
Marc Durdin
bfcdb5ac57 feat(developer): last-use and expire old resources 2021-12-22 14:48:24 +11:00
Marc Durdin
a858c5166c feat(developer): sentry integration into server
This also tidies up the mkver.sh script and adds the
replaceVersionStrings() function to build-utils.sh for use globally.
2021-12-22 11:16:33 +11:00
Marc Durdin
eb46acffcd chore(developer): validate paths in api 2021-12-22 09:44:58 +11:00
Marc Durdin
e35d4e83a6 chore(developer): polish web debug display on mobile 2021-12-22 09:33:34 +11:00
Marc Durdin
64b4a25cc5 chore(developer): rename WebHost to Server 2021-12-22 09:15:53 +11:00
Marc Durdin
cfbcc36e27 chore: more cleanup and polish 2021-12-22 08:39:15 +11:00
Marc Durdin
2a38c69faa chore(developer): minor web server refactors and cleanup 2021-12-22 07:01:57 +11:00
Marc Durdin
2c01b19f69 chore: cleanup
1. Renamed form UfrmNGrokOptions to UfrmServerOptions
2. Renamed kmdev-server to just plain server
3. Tidied up npm versioning to use VERSION_WITH_TAG

This last point should help avoid confusion as now only CI release
builds will ever generate a package.json with a.b.c, a.b.c-alpha or
a.b.c-beta. Local and test builds will always have the corresponding
-test or -local environment appended. This also helps avoid issues if
we accidentally publish an incorrect version.
2021-12-22 06:25:22 +11:00
Marc Durdin
e172480802 chore(developer): add typescript dev-dependency for server 2021-12-21 19:07:43 +11:00
Marc Durdin
f67a5ed9c6 chore(developer): fixup release build 2021-12-21 17:09:04 +11:00
Marc Durdin
51dc6e45c7 chore(developer): cleanup build and remove old ngrok code 2021-12-21 12:08:42 +11:00
Marc Durdin
44b0335fed feat(developer): Keyman Developer Server
Initial commit for Keyman Developer Server, running on Node.

Supports web debugger only at this point.

Extensive rewrite of web debugger, much of it more modern standards,
significantly improved UX:

1. Drop keyboards, packages, fonts, models onto debug page to load them
2. Websocket for instant reload of recompiled keyboards, packages,
   models.
3. API for interacting with debug server.
4. Cache of recently used items.
5. Integration with ngrok for public access as desired.
6. Tray icon (currently default icon) for control of server.
7. Server can live after TIKE closes, supports multiple TIKE instances.
8. UI of debug host page rewritten with Bootstrap.
9. Packages downloads integrated into main page, and download link for
   Keyman supports all platforms (Linux is just a link to
   instructions...)
10. Avoids file locking and contention by managing all files internally.
11. Not yet tested, but should run cross-platform.
2021-12-21 09:06:16 +11:00
Marc Durdin
e569f0aba4 chore(developer): Merge branch 'master' into feat/developer/node-based-debugger-server 2021-12-20 10:41:17 +11:00
Marc Durdin
c5f66f400b
Merge pull request #6059 from keymanapp/docs/windows/split-accounts
docs(windows): Add note on split user/admin accounts
2021-12-17 15:19:43 +11:00
Marc Durdin
b87cb93634
Merge pull request #6062 from keymanapp/chore/developer/add-browse4folder-to-components
chore(developer): add browse4folder to components
2021-12-17 15:19:19 +11:00
Marc Durdin
d24d1798c2
Merge pull request #6061 from keymanapp/fix/developer/project-mru-path
fix(developer): project_mru.xml path
2021-12-17 15:18:42 +11:00
Marc Durdin
a08bc04ec2
Merge pull request #6036 from keymanapp/feat/developer/cache-web-debug-objects
feat(developer): cache web debug objects across sessions 🛒
2021-12-17 15:16:52 +11:00
Marc Durdin
1513398666
Merge pull request #6035 from keymanapp/feat/developer/live-reload-kmw
feat(developer): live reload of web debugger 🛒
2021-12-17 15:16:39 +11:00
Marc Durdin
b5e7e87719
Merge pull request #6034 from keymanapp/feat/developer/tidy-up-package-list-in-kmw-test
feat(developer): tidy up package list in web test view 🛒
2021-12-17 15:14:40 +11:00
Marc Durdin
7d9fc8c308
Merge pull request #6033 from keymanapp/feat/developer/remember-kmw-prefs-on-reload
feat(developer): remember test page preferences on reload 🛒
2021-12-17 15:14:32 +11:00
Marc Durdin
bf7b6d22f9 chore(developer): add browse4folder to components 2021-12-17 13:06:11 +11:00
Marc Durdin
f6624f1cd0 fix(developer): project_mru.xml path 2021-12-17 12:43:32 +11:00
Marc Durdin
0a29123f31 feat(developer): ngrok configuration
Adds ngrok configuration dialog and processes for downloading, updating
and setting up ngrok.

It is likely this will change with a refactor of the web debugger into a
standalone node module in the future. This will add support for multi-
instance Keyman Developer and be another step towards a cross-platform
IDE.
2021-12-17 12:17:46 +11:00
Marc Durdin
e3e1035d74
docs(windows): Add note on split user/admin accounts
If the computer has split user/admin accounts, then language association may not be completed automatically, and the user may need to add a language association themselves.

Ref https://community.software.sil.org/t/what-security-permissions-are-needed-to-install-a-keyboard-configuration-in-keyman/5695/10

Note: the topic `configure-computer` has a terrible url but I won't fix that here. Suggested future fix -- turn `configure-computer` into a redirect to `link-keyboard-to-language` or `associate-keyboard-with-language`?

@keymanapp-test-bot skip
2021-12-17 07:07:58 +11:00
Keyman Server
596fbabe38
Merge pull request #6058 from keymanapp/auto/version-master-15.0.171
auto: increment master version to 15.0.171
2021-12-17 05:02:34 +11:00
Keyman Build Agent
86d50af4a6 auto: increment master version to 15.0.171 2021-12-16 13:01:48 -05:00
Eberhard Beilharz
dd49c213a9
Merge pull request #6054 from keymanapp/fix/linux/issue-5940_packagedescription
fix(linux): Fix package description
2021-12-16 08:54:01 +01:00
Eberhard Beilharz
895f2b3fe0
Merge pull request #6052 from keymanapp/fix/linux/issue-5817_version
fix(linux): fix release version number for Sentry reporting
2021-12-16 08:52:40 +01:00
Eberhard Beilharz
4ef4fd4b43
Merge pull request #6051 from keymanapp/feat/linux/issue-5027_disableSentry
docs(linux): Document how to disable error reporting
2021-12-16 08:52:23 +01:00
Keyman Server
97d1629245
Merge pull request #6055 from keymanapp/auto/version-master-15.0.170
auto: increment master version to 15.0.170
2021-12-16 05:02:10 +11:00
Keyman Build Agent
ee2fe48567 auto: increment master version to 15.0.170 2021-12-15 13:01:30 -05:00
Eberhard Beilharz
2f7fafd0f3 fix(linux): Fix package description
Also improve wording for Debian packages.

Fixes #5940.
2021-12-15 11:32:30 +01:00
Eberhard Beilharz
10c7d88eb9 fix(linux): fix release version number for Sentry reporting
Fixes #5817.
2021-12-15 10:52:21 +01:00
Eberhard Beilharz
8297f6543a docs(linux): Document how to disable error reporting
Part of #5027.
2021-12-15 10:08:05 +01:00
Eberhard Beilharz
e28b7f007d
Merge pull request #6044 from keymanapp/fix/linux/tests
fix(linux): Improve ibus-keyman tests
2021-12-15 09:32:06 +01:00
Shawn Schantz
042e654e68
Merge pull request #6016 from keymanapp/fix/mac/unicode-package-name
fix(mac): display Unicode package name correctly instead of '????'
2021-12-15 15:11:33 +07:00
Marc Durdin
06c5464b1a feat(developer): web debugger ngrok integration
Initial integration of ngrok into Keyman Developer web debugger
experience, so that the user can access their web debug session from
another device without significant configuration. By default, ngrok is
switched off, but when it is enabled and configured (user must register
an email address online I think), then Keyman Developer will start an
ngrok tunnel in the background and make it the default link in the list
of available addresses.

This also adds an option to hide the list of local addresses, which is
probably clearer for users when ngrok is active. However, as local
addresses will be faster if configured, it may be less sensible to do
this.

If the user has ngrok installed and in use already, then it is
recommended that they simply open a tunnel via the ngrok interface for
the debugger web host, rather than relying on Keyman Developer's
internal integration, as Keyman Deveoper does not do handle multiple
ngrok sessions.

The user may choose to make the ngrok tunnel window visible, which will
be helpful in error scenarios.

If Keyman Developer crashes, the ngrok tunnel may be left running, and
will need to be manually killed.
2021-12-15 19:06:03 +11:00
Keyman Server
578aa4afa4
Merge pull request #6045 from keymanapp/auto/version-master-15.0.169
auto: increment master version to 15.0.169
2021-12-15 05:01:49 +11:00
Keyman Build Agent
afac293045 auto: increment master version to 15.0.169 2021-12-14 13:01:07 -05:00
Eberhard Beilharz
ae9cb97ce6 fix(linux): Improve ibus-keyman tests
This change will hopefully help some tests that occasionally fail
on TC. After setting the options during the test setup we sync the
settings before running the test scenario.
2021-12-14 14:10:58 +01:00
Eberhard Beilharz
77a20ddeff
Merge pull request #6037 from keymanapp/feat/linux/issue5032-ubuntu2204
feat(linux): Add support for Ubuntu 22.04 Jammy
2021-12-14 13:54:15 +01:00
Keyman Server
eee4039feb
Merge pull request #6042 from keymanapp/auto/version-master-15.0.168
auto: increment master version to 15.0.168
2021-12-14 05:01:42 +11:00
Keyman Build Agent
23db5a0f8d auto: increment master version to 15.0.168 2021-12-13 13:01:06 -05:00
rc-swag
c599ba456d
Merge pull request #6039 from keymanapp/fix/windows/remove-unused-variable
fix(windows): remove unused variable
2021-12-13 16:15:51 +10:00
Ross
6ad28fb359 fix(windows): remove unused varialbe
Build was failing due to unused variable error.
2021-12-13 14:49:38 +10:00
Marc Durdin
dcff86c2eb fix(developer): use correct cache key 2021-12-13 05:43:33 +01:00