Commit graph

112 commits

Author SHA1 Message Date
Marc Durdin
e83061ef80 fix(windows): ensure mitigation works with new registration strategy
The keyboard profile and registration strategy was not taking into
account the mitigation for Win10 1803 (#1285) and this meant that the
Amharic, Tigrigna and Sinhala keyboards would not install correctly.
2020-12-21 08:20:28 +11:00
Marc Durdin
246cb70840 fix(windows): Warn if we reach maximum transient languages
Fixes #3749.
Fixes #3759.

Adds a warning dialog when user attempts to add a transient language to
a keyboard but the maximum number of transient languages is already
installed.

If this issue arises when a user is installing a keyboard for the first
time, Keyman instead installs the keyboard for the user's default
language. This may be a little confusing, but the error condition is
difficult to explain and non-technical users will probably be stuck
and need to install under their default language in any case. Happy to
receive any pushback on this decision.
2020-12-16 09:09:19 +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
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
00a9744253 chore(windows): symbol server support, initial steps 2020-11-11 10:33:16 +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
94a062f20a fix(developer): remove obsolete NRSIAllTags
Relates to #799.

Removes NRSIAllTags, alltags.txt, parser and utility units.

Also re-enables standardsdata.dpr unit test which needed some syntax
cleanup.
2020-11-04 18:41:17 +11:00
Marc Durdin
fd5845a912
Merge pull request #3805 from keymanapp/fix/windows/3801-crash-installing-malformed-package
fix(windows): crash installing package with a race
2020-10-30 17:31:23 +11:00
Marc Durdin
76f77857c5 fix(windows): crash installing package with a race
Fixes #3801.
Fixes #3802.
Fixes KEYMAN-WINDOWS-5M.
Fixes KEYMAN-WINDOWS-5N.

This is a two-part fix for Keyman Configuration where it appears there
was a race with creating a temporary file, and which caused a cascading
exception.

The first part resolves the race; the second part (in
UfrmInstallKeyboard.pas) adds a little extra robustness (probably not
totally necessary).
2020-10-30 16:52:17 +11:00
Marc Durdin
5a4287a68d fix(windows): disabling/enabling a profile could have wrong association
Transient language profiles would get the wrong language association
when they were disabled and re-enabled.

Fixes #3798.
2020-10-30 14:20:00 +11:00
Marc Durdin
11a2cf53c5 fix(windows): Keyman Configuration changes apply instantly
Fixes #3518.

Changes in Keyman Configuration will now apply immediately. This removes
the OK and Cancel buttons from the dialog and means that all actions
are consistent in when they are applied, unlike previously. This also
matches the Windows 10 Settings metaphor and metaphors for most modern
apps and devices.

For now, I have placed a message where the OK and Buttons were
previously, to help existing users understand the change. In time, I
expect us to be able to remove that message entirely.
2020-10-26 15:18:04 +11:00
Marc Durdin
82e15bead0 fix(windows): remove obsolete Reboot flag
The Reboot flag was never set by any Keyman code any longer. Thus,
removing to simplify code pathways for applying config changes.
2020-10-26 09:10:02 +11:00
Marc Durdin
3edec559ec fix(windows): disabled keyboards listed in hotkeys
Fixes #2942.
2020-10-09 11:13:11 +11:00
Marc Durdin
c655c4eaf5 fix(windows): improve version numbers
Release build executables should have 3 component version numbers with
the version tag appended, e.g. keymandesktop-14.0.155-alpha-local.exe.

Coming later, rename keymandesktop-version.exe to keyman-version.exe.
2020-10-08 09:13:48 +11:00
Marc Durdin
827ea6c386 fix(windows): upgrading disabled keyboards
Fixes #3561.

Resolves issues with upgrading disabled keyboards, and fixes a secondary
issue where Windows was giving us invalid LANGIDs for locales, which was
causing trouble with transient LANGIDs.
2020-09-29 20:25:10 +10:00
Marc Durdin
301a76c88a fix(windows): upgrading transitional profiles
Relates to #3561.

If a keyboard is installed for a transitional profile but another
keyboard is already installed for that profile, then Keyman would
crash, expecting the transitional profile to be missing.
2020-09-29 09:08:47 +10:00
Marc Durdin
ffc0b21a46 chore(windows): cleanup comments 2020-09-23 17:47:08 +10:00
Marc Durdin
ded5ed94ad fix(windows): cleanup 2020-09-23 17:44:26 +10:00
Marc Durdin
8fc7421391 fix(windows): add back support for disabling keyboards
Fixes #3560. This reworks the functionality for disabling
keyboards to work with the new TIP registration pattern. Much
of the code is the same as in Keyman 13, but there are some
significant differences, so it all needs to be reviewed.
2020-09-23 17:37:08 +10:00
Marc Durdin
f1b63cc95b
Merge pull request #3558 from keymanapp/fix/windows/language-name
fix(windows): lookup language name on create
2020-09-21 15:32:34 +10:00
Marc Durdin
5f3987b988 fix(windows): lookup language name on create
Lookup a language name from various sources rather than using the
BCP 47 code, where possible.
2020-09-04 13:17:10 +10:00
Marc Durdin
9f2d99b5c7
Merge pull request #3552 from keymanapp/fix/windows/upgrade-profile-scenarios
fix(windows): upgrade of profiles from 13.0
2020-09-04 11:33:23 +10:00
Marc Durdin
2df50c07ba
Merge pull request #3545 from keymanapp/fix/windows/3485-canonicalization
fix(windows): BCP 47 tag canonicalization
2020-09-04 11:33:09 +10:00
Marc Durdin
3d65466cff
Merge pull request #3543 from keymanapp/fix/windows/simplify-profile-uninstall
fix(windows): simplify profile uninstall
2020-09-02 16:53:19 +10:00
Marc Durdin
edfabc5447
Merge pull request #3542 from keymanapp/feat/windows/map-installed-bcp47
feat(windows): map installed bcp47
2020-09-02 16:53:09 +10:00
Marc Durdin
69227beb2a fix(windows): upgrade of profiles from 13.0
This upgrades a 11.0-13.0 install to the 14.0 model for registered TIPs.
It does not yet deal with transient TIPs or disabled keyboards (these
will come in a separate PR). There is also more tidy up coming in a
future PR for language names.
2020-09-02 16:46:58 +10:00
Marc Durdin
6d5ccbd719 fix(windows): add tests and improve canonical options 2020-09-01 09:41:33 +10:00
Marc Durdin
84f0219541 fix(windows): canonicalization
Reworks the BCP 47 tag canonicalization algorithm.
2020-09-01 08:42:56 +10:00
Marc Durdin
4507ab6324
Merge pull request #3524 from keymanapp/feat/windows/1456-select-language-at-keyboard-install
feat(windows): select language at keyboard install
2020-08-31 17:30:04 +10:00
Marc Durdin
b3f5f586cb fix(windows): simplify profile uninstall 2020-08-31 16:32:53 +10:00
Marc Durdin
b1b3f62b18 feat(windows): map installed bcp47
This PR handles the case where Windows installs a BCP 47 tag that may not
match our tag 100% precisely. In this case, Keyman maps the Windows BCP 47
tag to the in-memory data for consistency. It also allows for install of
more complex tags.
2020-08-31 14:11:25 +10:00
Marc Durdin
6c1d93e399 chore: address review comments 2020-08-28 15:37:44 +10:00
Marc Durdin
6cf3368ada feat(windows): select language at keyboard install
For packages with a single keyboard, we now make it
possible to select a language at install time.

Fixes #1456.
2020-08-27 13:59:11 +10:00
Marc Durdin
7f8457dbce fix(windows): remove unneeded OriginalBCP47Tag 2020-08-26 14:29:50 +10:00
Keyman Server
97a16e8535 feat(windows): profile installation - engine 2020-08-26 11:06:10 +10:00
Marc Durdin
d030602e3d fix(windows): more localedtd cleanup 2020-07-29 08:04:32 +10:00
Marc Durdin
025adb865a chore(windows): fix broken build 2020-07-29 08:01:22 +10:00
Marc Durdin
6b748239ed chore(windows): cleanup of i18n
- remove expandidentifiers
- remove messages.txt
- remove desktop.pot
- remove stock message ditor
- stop using captions altogether for translation
2020-07-27 16:54:23 +10:00
Marc Durdin
7552c91f94 fix: Install2 methods need new interfaces 2020-07-06 15:19:00 +10:00
Marc Durdin
a0c0141092 feat: more work towards bootstrap 2020-07-03 13:42:12 +10:00
Marc Durdin
fed63d4690 feat(windows): sentry integration test points 2020-03-31 16:16:56 +11:00
Marc Durdin
00e58c13ec feat(windows): user control for upload to sentry 2020-03-27 17:50:51 +11:00
Marc Durdin
d33d429cd2 feat(windows): sentry x64 support 2020-03-27 14:40:59 +11:00
Marc Durdin
9779792059 fix(windows): remove errlogpath and cleanup 2020-03-27 11:23:51 +11:00
Marc Durdin
e99a6677e1 feat(windows): kmcomapi callstacks for sentry 2020-03-27 09:54:48 +11:00
Marc Durdin
b61949ca41 fix(windows): remove makejcldbg references 2020-03-18 20:26:55 +11:00
Marc Durdin
2121f5ea94 feat(windows): consume new sentry api in delphi projects
Updates Delphi projects to use Sentry API instead of legacy
reporting mechanisms, and strips out existing text-based
reports. Not yet complete: reporting from kmcomapi and
hosted web controls, release number. These are flagged
as build hints.
2020-03-18 17:25:38 +11:00
Marc Durdin
c75aab5886 feat(windows): add paths to syms 2020-03-13 12:38:23 +11:00
Marc Durdin
edfbb4c339 feat(windows): add sentry file prep to build 2020-03-10 21:37:30 +11:00
Marc Durdin
55daa5b422 refactor(windows): start move of help and hint
Moves help window and hint window out of keyman
and into kmshell, part 1 of making sure we have
no chromium dependencies in keyman.
2020-02-23 17:49:33 +07:00