Commit graph

3302 commits

Author SHA1 Message Date
Marc Durdin
76407b2d86 fix(windows): rollback registry changes and fix one bug 2020-12-02 10:42:43 +11:00
Marc Durdin
9e46b555d9 fix(windows): Rename to Keyman
Fixes #4003.

This addresses the majority of locations where we use the name "Keyman
Desktop" in code. There will be some filenames and paths that do not
change at this point -- particularly at a source level. For now, the
focus is on the user interface changes.

While making these changes, I also made the VERSION and MANIFEST
resources more consistent.
2020-12-02 09:56:14 +11:00
Marc Durdin
b221088de3 fix(windows): Rename to Keyman in help files
Relates to #4003.

Some minor edits have been made but the help files need a revisit before
release as there is much out of date content.
2020-12-02 09:52:39 +11:00
Marc Durdin
1b0d4aafd5 chore(windows): remove obsolete newhelp folder 2020-12-02 09:51:11 +11:00
Marc Durdin
f91702fd33
Merge pull request #4037 from keymanapp/chore/windows/disable-started-sentry-event
chore(windows): disable Sentry 'Started' event
2020-12-01 17:29:39 +11:00
Marc Durdin
50b382a38e
Merge pull request #4036 from keymanapp/fix/windows/3993-handle-network-errors
fix(windows): Handle network errors when downloading keyboards
2020-12-01 17:29:26 +11:00
Marc Durdin
62d13ed2a5
Merge pull request #4035 from keymanapp/fix/windows/3563-keep-language-associations-update
fix(windows): Keep language associations when updating keyboard
2020-12-01 17:29:18 +11:00
Marc Durdin
9c902184a0
Merge pull request #4034 from keymanapp/fix/windows/4005-crash-onlineupdate-package
fix(windows): crash with package online update
2020-12-01 17:29:10 +11:00
Marc Durdin
1897ff14d6 chore(windows): cleanup task deletion issues 2020-12-01 16:45:59 +11:00
Marc Durdin
ae8bb689af chore: improve logging on uninstall 2020-12-01 11:25:38 +11:00
Marc Durdin
7ccde0e3ed chore(windows): disable Sentry 'Started' event
We used the 'Started' event when testing Sentry integration. We no
longer need it, but I left it in as commented code so we can re-enable
if/when we do Sentry updates in the future and need to re-test.
2020-12-01 10:45:22 +11:00
Marc Durdin
d122b3943b fix(windows): Handle network errors when downloading keyboards
Fixes #3993.
Fixes KEYMAN-WINDOWS-4P.

Handles network errors which caused an exception, e.g. connection timed
out, or 12030 The connection with the server was terminated abnormally.
2020-12-01 10:32:31 +11:00
Marc Durdin
1c7ed746dd fix(windows): Keep language associations when updating keyboard
Fixes #3563.

When a keyboard is updated in an online update check, keep the existing
language assocations. This is fixed by using the new install paradigm
which does not change the user's language associations, and so it also
happens to fix issues with non-elevated users who do an update and would
end up with no languages installed.
2020-12-01 10:18:19 +11:00
Marc Durdin
bbfe5adcc8 fix(windows): crash with package online update
Fixes #4005.

The wrong object was being freed which caused an access violation
internally.
2020-12-01 10:15:05 +11:00
Marc Durdin
a2d6f7d3e8 fix(windows): Task creation and deletion cleanup
Fixes #3994.

Task creation was failing for some users because Windows Tasks are all
stored in a shared folder, so attempts to use the same task name by
different users were failing, especially if the user was a non-admin
user.

Furthermore, attempts to execute the trigger would fail because Windows
treats keyman.exe as needing elevation in this context (even though it
doesn't, actually), and so I changed the trigger to call `kmshell -s`,
which then does the needful.

Finally, the uninstaller now attempts to remove all the scheduled tasks
in the Keyman folder. It doesn't care if it fails -- it's just cleanup
and doesn't impact the system adversely if the tasks hang around.
2020-12-01 09:28:14 +11:00
Marc Durdin
376454229f chore(windows): cleanup unused variable 2020-11-27 15:58:52 +11:00
Marc Durdin
c4871c981c
Merge branch 'master' into feat/developer/3863-new-touch-layout-key-tags 2020-11-25 12:51:14 +11:00
Marc Durdin
48a3d0c9fa
Update windows/src/developer/TIKE/compile/CompileKeymanWeb.pas
Co-authored-by: Joshua Horton <joshua_horton@sil.org>
2020-11-25 12:50:45 +11:00
Marc Durdin
9f53e0f0af fix(windows): sentry range check error
In some circumstances, Sentry would get a range check error while
processing the call stack due to DWORD being defined as NativeInt,
not NativeUInt, in old JWA libraries. This would mask the original
exception, and could cause the app to hang.
2020-11-23 10:57:01 +11:00
Marc Durdin
0b62095726 feat(developer): improve downlevel support for new special labels 2020-11-23 06:23:47 +11:00
Marc Durdin
c6f25b1484 chore: tweak comment 2020-11-18 09:11:40 +11:00
Marc Durdin
83325e878c feat(developer): add new touch layout special tags
Fixes #3863.

This adds the new `*RTLEnter*` and other tags introduced in #3851 to
the touch layout editor, and adds validation for use in 14.0 keyboards.

Due to a limitation in the compiler architecture, use of these tags
will not trigger the automatic keyboard versioning functionality; the
keyboard developer must explicitly specify `store(&VERSION) '14.0'`.

Also:

* synchronised error codes between .h and .pas.
* synchronised touch layout tags between Developer and KeymanWeb, and
  cleaned up builder.js usage thereof.
* added support for KeymanwebOsk font override when special tags are
  identified.
* added basic tests to ensure that the compiler is catching use of these
  tags as needed.
* updated keymanweb-osk.ttf font in Developer.
2020-11-18 08:58:57 +11:00
jahorton
598984bc54 chore(common/core/web): Merge branch 'master' into feat/common/core/web/input-processor-unit-tests 2020-11-17 13:11:10 +07:00
Joshua A. Horton
1e52b5c5ba fix(developer): reverts first bugfix attempt 2020-11-17 10:07:57 +07:00
Joshua Horton
ad7a612b42
Merge pull request #3847 from keymanapp/fix/common/core/web/meta-key-handling
fix(common/core/web): meta key handling
2020-11-17 10:02:18 +07:00
jahorton
7e10c56354 docs(common): requested comment tweaks 2020-11-17 09:57:31 +07:00
jahorton
ad6489d9d3 chore(common): adds requested comments re: tentative META flag 2020-11-17 09:42:28 +07:00
Marc Durdin
83a89c77a1
Delphi version requirement note 2020-11-17 10:22:54 +11:00
Joshua A. Horton
d6c90d1ae0 fix(developer): more same-build local change reversion 2020-11-16 14:13:49 +07:00
Joshua A. Horton
6424b6816a fix(developer): undoes unwanted CI-breaking local npm side-effect 2020-11-16 12:06:28 +07:00
Marc Durdin
4de4f3c42e feat(developer): support major version upgrades
See also keymanapp/api.keyman.com#123
2020-11-16 15:33:26 +11:00
Marc Durdin
d87aa19868 feat(windows): major version upgrades
Relates to #1635.

This goes with keymanapp/api.keyman.com#122, and ensures that major
upgrades are offered regardless of the rollout schedule, if they are
available, when the user manually checks for an update.
2020-11-16 14:33:40 +11:00
Marc Durdin
e83e9f94a6 fix(windows): makefile format error
Turns out that `!IFDEF` must be in first column of line -- you cannot
indent it. Broke the release build last night. Yucko.
2020-11-13 06:15:58 +11:00
Marc Durdin
63086e9e9c
Merge pull request #3842 from keymanapp/fix/windows/sporadic-8087-controlword-corruption
fix(windows): sporadic 8087 control word corruption
2020-11-12 15:07:53 +11:00
Marc Durdin
42aab7a4c4
Merge pull request #3834 from keymanapp/chore/windows/3590-symbol-server
chore(windows): symbol server support
2020-11-12 15:07:44 +11:00
Marc Durdin
f3dce9e580
Merge pull request #3833 from keymanapp/fix/windows/3831-sizeofimage-header
fix(windows): SizeOfImage header was wrong for dbg
2020-11-12 15:07:37 +11:00
Marc Durdin
ebf03bb873
Merge pull request #3830 from keymanapp/fix/windows/3810-import-windows-keyboard-layout-mismatch
fix(windows): Import OSK wrong for European layouts
2020-11-12 15:07:19 +11:00
Marc Durdin
46075e0f1e chore(windows): tweak symbol version tagging 2020-11-11 10:47:54 +11:00
Marc Durdin
79cd83e105 chore(windows): fixup makefiles 2020-11-11 10:33:18 +11:00
Marc Durdin
fccff427b4 chore(windows): make symbols target optional 2020-11-11 10:33:17 +11:00
Marc Durdin
00a9744253 chore(windows): symbol server support, initial steps 2020-11-11 10:33:16 +11:00
Marc Durdin
fef2f05144 fix(windows): sporadic 8087 control word corruption
This replaces vectored exception handler code which fixed up the 8087 CW
with a thread-safe version of Set8087CW that avoids the global
variable Default8087CW. We would get occasional situations where
exceptions were raised on 2 threads simultaneously, which could lead to a
race where the first thread set Default8087CW to $1340, and then the second
thread would read that and think that is the default to keep. We want to
avoid touching Default8087CW altogether here.

See also https://stackoverflow.com/a/39684636/1836776 and RSP-13643.
2020-11-09 16:14:11 +11:00
Marc Durdin
60abfdf1df fix(developer): Remove IE dependency from Developer Setup
Fixes #3832.

Removes the now-unneeded Internet Explorer dependency from Developer
Setup, and corresponding strings (plus a couple of other unused
strings).

I18n of these strings is a future project.
2020-11-08 14:00:49 +11:00
Marc Durdin
af07e236a0
Merge pull request #3829 from keymanapp/fix/developer/3827-debug-default-font
fix(developer): debug window inherits editor font
2020-11-07 10:58:46 +11:00
Marc Durdin
3d977d9c92
Merge pull request #3816 from keymanapp/fix/developer/917-support-for-context-and-notany
fix(developer): support for notany() and context()
2020-11-07 10:50:52 +11:00
Marc Durdin
5deb799e33 chore: address review comments 2020-11-06 17:59:06 +11:00
Marc Durdin
3d1601ffe5 fix(windows): SizeOfImage header was wrong for dbg
Fixes #3831.

This fixes both issues reported in the bug (dproj changes ensure
separate .tds, and Makefile changes fix order of execution so that
dbg is generated after sentryprep's cleanup).
2020-11-06 17:36:56 +11:00
Marc Durdin
526164fbd4 fix(windows): detect 102nd key in keyboard import
The detection of the 102nd key is a heuristic - it will decide it is
present if it has a vk code and its corresponding unshifted character
is not the same as the backslash key. This matches the general pattern
for US vs European keyboards.
2020-11-06 08:15:21 +11:00
Marc Durdin
79f6910971 fix(windows): Import OSK wrong for European layouts
Fixes #3810.

Importing a Windows keyboard would not produce correct OSK for European
layouts because it was based on virtual key instead of scan code.
Mapping through the scan code back to "US" base layout resolves the
issue.

Note that there is a slight difference between Import Windows Keyboard
and Fill from Layout results, as deadkeys have slightly more information
in the Import process, and can display the base deadkey, whereas Fill
from Layout will result in a blank deadkey. This difference is by
design.
2020-11-06 07:49:10 +11:00
Marc Durdin
ef7d2bfb0e fix(developer): debug window inherits editor font
Fixes #3827.

The debugger was not inheriting the editor font -- this is a regression
from when we replaced TPlusMemo with Monaco editor.
2020-11-06 07:12:17 +11:00