Commit graph

10245 commits

Author SHA1 Message Date
Darcy Wong
4dd9bbfded chore(android/engine): Use i18n string 2020-11-04 14:00:38 +07:00
Darcy Wong
cb3a408879 chore(android/engine): More cleanup
Remove CloudLexicalModelMetaDataDownloadCallback.updateIsRunning since it's not ready
2020-11-03 11:26:40 +07:00
Darcy Wong
1a02d24d8f chore(android/engine): Remove commented code 2020-11-03 11:00:15 +07:00
Darcy Wong
5271cc115f feat(android/engine): Add hooks for progressbar 2020-11-03 10:52:02 +07:00
Darcy Wong
9931b15a31 feat(android/engine): Add query for available dictionary 2020-11-02 16:19:03 +07:00
Darcy Wong
396df9673d chore(android/engine): Remove callbacks for lexical model catalog 2020-11-02 14:48:22 +07:00
Keyman Server
c399a438ce
Merge pull request #3807 from keymanapp/auto/version-master-14.0.174
auto: increment master version to 14.0.174
2020-10-31 05:17:08 +11:00
Keyman Build Agent
ad895dfd35 auto: increment master version to 14.0.174 2020-10-30 14:16:26 -04:00
Marc Durdin
3be518ebd8
Merge pull request #3804 from keymanapp/fix/windows/3797-task-create-failure
fix(windows): Handle failure on task creation
2020-10-30 17:39:00 +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
9904ec5396
Merge pull request #3800 from keymanapp/fix/windows/3725-3783-keyboard-menu-sync
fix(windows): keyboard menu could get out of sync
2020-10-30 17:23:28 +11:00
Marc Durdin
1fac72cceb
Merge pull request #3799 from keymanapp/fix/windows/3798-profile-disable-enable-incorrect-langid
fix(windows): disabling/enabling a profile could have wrong association
2020-10-30 17:23:01 +11:00
Darcy Wong
2f4ac09c0d
Merge pull request #3803 from keymanapp/chore/android/remove-lexical-model-catalog
chore(android/engine): Remove use of lexical-model catalog
2020-10-30 13:20:22 +07:00
Marc Durdin
38932b7173 chore(windows): address review issues 2020-10-30 17:05:57 +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
0aaea62b1c fix(windows): Handle failure on task creation
Fixes #3797.
Fixes KEYMAN-WINDOWS-5H.

Report unexpected errors creating or deleting scheduled task, and ignore
expected errors better, handling a potential race condition where two
processes both attempt to create a folder at the same time.

Note that creating the task should not be a race because we use the
`TASK_CREATE_OR_UPDATE` flag.
2020-10-30 15:47:43 +11:00
Marc Durdin
baff142d8b
Merge pull request #3793 from keymanapp/fix/windows/3689-cleanup-setup-action-list
fix(windows): cleanup setup action list
2020-10-30 14:27:31 +11:00
Marc Durdin
66b6baf223
Merge pull request #3792 from keymanapp/fix/windows/3689-bootstrap-progress
fix(windows): show bootstrap progress in setup
2020-10-30 14:26:56 +11:00
Marc Durdin
71d42b2580
Merge pull request #3794 from keymanapp/fix/windows/3689-install-location-choice
fix(windows): setup now allows choice of source
2020-10-30 14:26:32 +11:00
Marc Durdin
2c32c84d82
Merge pull request #3790 from keymanapp/fix/windows/3689-setup-polish
fix(windows): Cleanup setup.inf processing and CompareVersions function
2020-10-30 14:26:21 +11:00
Darcy Wong
98aee8895c chore(android/engine): Remove use of lexical-model catalog 2020-10-30 10:25:19 +07:00
Marc Durdin
99e44d030a fix(windows): keyboard menu could get out of sync
Fixes #3725.
Fixed #3783.

In some situations, the keyboard menu would either display empty or
would not refresh to get all installed keyboards.
2020-10-30 14:22:20 +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
Keyman Server
8ac3fa1fcc
Merge pull request #3795 from keymanapp/auto/version-master-14.0.173
auto: increment master version to 14.0.173
2020-10-30 05:01:43 +11:00
Keyman Build Agent
26dff1bb94 auto: increment master version to 14.0.173 2020-10-29 14:01:00 -04:00
Marc Durdin
704efc65d1 chore: cleanup delphi parser garbage in dproj 2020-10-29 16:04:04 +11:00
Marc Durdin
90dd2bc08b fix(windows): fix test dependency 2020-10-29 15:57:47 +11:00
Marc Durdin
add8f1e5e2 fix(windows): cleanup setup action list
If the list of actions that Setup will perform is too long, a scrollbar
will now be shown. This will probably not arise frequently but certainly
helps if it does.

Fixes #3689.
2020-10-29 15:45:25 +11:00
Marc Durdin
b16a7ab77c fix(windows): tweaks to progress dialog 2020-10-29 15:44:58 +11:00
Marc Durdin
873abda526 fix(windows): show bootstrap progress in setup
When Setup is starting, it can sometimes take a few seconds to show the
main form because it is querying an online server and unzipping various
files. This shows a small progress bar window so that the user doesn't
wonder what is going on.

The progress bar is fairly basic: it has only 4 steps, and because all
actions are happening on the main thread, does not animate well or
smoothly. In my view, it is not worth redesigning into a multi-threaded
process for the sake of this progress bar dialog.

Relates to #3689.
2020-10-29 15:44:57 +11:00
Marc Durdin
d0a63d2b88 fix(windows): fix test dependency 2020-10-29 15:43:46 +11:00
Marc Durdin
3415724966 fix(windows): setup now allows choice of source
Where more than one source of a file is available, e.g. a local
keymandesktop.msi which is older than the current published version
online, then Setup will choose the newer, online version by default,
but allows the user to change the install source in the Options dialog
to have an offline setup if they prefer.

This means that the 'best' location is now chosen at startup, and then
the user can override that.

Relates to #3689.
2020-10-29 11:18:25 +11:00
Darcy Wong
d733c54b41
Merge pull request #3731 from keymanapp/fix/android/reinstall-lexical-model
fix(android/engine): Fix issues when re-installing lexical-models
2020-10-29 06:17:18 +07:00
Darcy Wong
bed072fe97
Merge pull request #3782 from keymanapp/feat/web/update-osk-font
chore(web): Update keymanweb-osk.ttf to v. 2.100
2020-10-29 06:16:48 +07:00
Marc Durdin
18a7134378 fix(windows): cleanup setup.inf processing
There were a number of obsolete values in setup.inf, and removing those
led to a small cascade of changes:

1. `MSIOptions` and `Version` properties were removed.
2. `Version` is now read directly from the .msi if it is present.
3. Package name and version are now read directly from local .kmp files,
   rather than relying on metadata in setup.inf.
4. Setup now only loads .kmp files that are referenced in setup.inf, to
   avoid scenarios where a user downloads the installer into a common
   location that already includes .kmp files and is then confused by
   why it is offering to install those files as well.
5. `Strings` property is not used outside of `TInstallInfo`.
2020-10-29 09:23:21 +11:00
Marc Durdin
d8e8aaa1d5 fix(windows): CompareVersions sometimes returned wrong value
If version1 was longer than version2, then CompareVersions would return
the inverse value. This issue has been present for a long, long time...
2020-10-29 09:21:12 +11:00
Marc Durdin
93d0935068
Merge pull request #3781 from keymanapp/fix/windows/3775-error-reading-kmp-inf-in-setup
fix(windows): error reading kmp.inf in setup
2020-10-29 06:43:56 +11:00
Marc Durdin
4b970fefbf
Merge pull request #3779 from keymanapp/fix/windows/3650-remove-msctf-dllmain-free
fix(windows): remove msctf free from DllMain
2020-10-29 06:43:49 +11:00
Marc Durdin
3178495e58
Merge pull request #3772 from keymanapp/fix/windows/3562-start-keyman-on-demand-keyman32
fix(windows): Start Keyman on Demand - keyman32
2020-10-29 06:43:42 +11:00
Keyman Server
ccf19b2177
Merge pull request #3785 from keymanapp/auto/version-master-14.0.172
auto: increment master version to 14.0.172
2020-10-29 05:01:39 +11:00
Keyman Build Agent
3f49b2c780 auto: increment master version to 14.0.172 2020-10-28 14:00:57 -04:00
Darcy Wong
6f0f3e5b62 chore(web): Update keymanweb-osk.ttf to v. 2.100
In preparation for #2713, this updates the keymanweb-osk.ttf font to [v. 2.100](https://github.com/silnrsi/font-keymanweb-osk/releases/tag/v2.100) which adds the new glyphs silnrsi/font-keymanweb-osk#1
2020-10-28 14:42:05 +07:00
Marc Durdin
6015000492 fix(windows): error reading kmp.inf in setup
Fixes #3775.
2020-10-28 17:22:16 +11:00
Marc Durdin
fc7b51c4ca fix(windows): remove msctf free from DllMain
Fixes #3650.

This removes the bad call to `FreeLibrary` that was still present in
a callee of `DllMain` in keyman32. The refactor moves responsibility for
loading TSF to the `SelectKeyboard` functions and gets rid of the
associated thread globals.

The `TSFINTERFACES` struct is of course a future candidate for a class.

In the process I removed a lot of cruft from keyman32.cpp which was
either obsolete, irrelevant or just plain wrong. None of which had
material impact on the running code.
2020-10-28 16:17:52 +11:00
Marc Durdin
24fe11e6fe
Merge pull request #3773 from keymanapp/fix/windows/3562-start-keyman-on-demand-tasks
fix(windows): Start Keyman on Demand - tasks
2020-10-28 16:08:46 +11:00
Marc Durdin
317cbb64e7
Merge pull request #3774 from keymanapp/chore/windows/small-cleanups
chore(windows): small cleanups
2020-10-28 16:08:16 +11:00
Joshua Horton
ecc71ac297
Merge pull request #3767 from keymanapp/fix/common/models/accepted-suggestion-tracking
chore(common/models): fixes context tracking with accepted suggestions
2020-10-28 09:52:15 +07:00
Darcy Wong
59d65a6f45
Merge pull request #3768 from keymanapp/fix/android/embedded-browser
fix(android/browser): Fix slow input in embedded browser (WebViews)
2020-10-28 09:35:39 +07:00
Marc Durdin
3e9f397b27 chore(windows): small cleanups
1. Remove unused variables
2. Remove invalid build configurations
3. Move hotkey checks before touch keyboard panel check, so hotkeys
   still work when touch panel is active; the touch keyboard panel check
   is there to disable serialised input which conflicts with it.
2020-10-28 10:27:24 +11:00
Marc Durdin
b66915bcd0 chore: code cleanup 2020-10-28 10:12:07 +11:00