Commit graph

11778 commits

Author SHA1 Message Date
Marc Durdin
ffdf71f6ed fix(web): publish restorePosition() function
This makes the `osk.restorePosition()` function public and makes it work
even if the OSK is not presently visible. Also DRY out the repeated
implementation.
2021-04-22 14:44:37 +10:00
Joshua Horton
ec9a68cd24
Merge pull request #4929 from keymanapp/chore/web/cherry/touch-alias-issue-logging
change(web): adds error + console logs usable for Sentry reporting targeting 🍒
2021-04-21 15:37:14 +07:00
Marc Durdin
75911da046
Merge pull request #4941 from keymanapp/fix/windows/cherry-pick/4939-prevent-crash-during-upgrade
fix(windows): avoid error if keyman32.dll renamed 🍒
2021-04-21 16:47:02 +10:00
Marc Durdin
3bb62d7f3e fix(windows): avoid error if keyman32.dll renamed
Fixes #4939.
Fixes KEYMAN-WINDOWS-70.
Fixes KEYMAN-WINDOWS-71.
Fixes KEYMAN-WINDOWS-BR.
Fixes KEYMAN-WINDOWS-6J.

I am speculating a little here, because the root cause is not visible in
the crash report, but it appears that if keyman32.dll is renamed, that
the UnregisterControllerWindows function attempts to reload keyman32.dll
which means that (a) it no longer has a list of registered controllers,
and (b) it may fail to reload.

Instead of throwing an exception, we now only log this error in
development mode. The error is not likely to cause significant trouble
for end users as they are shutting down Keyman anyway at this point.

The resolution if there is any uncertainty during an upgrade is to
restart Windows. This is less than ideal but avoids file locks and
problems with in-memory DLLs. (Future versions of Keyman will schedule
upgrades to happen automatically after a restart before Keyman has been
started, in an effort to avoid this kind of trauma.)
2021-04-21 14:25:37 +10:00
Marc Durdin
cd1d931c06
Merge pull request #4900 from keymanapp/chore/windows/cherry/4893-disable-profile-repair
chore(windows): disable profile repair 🍒
2021-04-21 13:50:23 +10:00
jahorton
af78fe077b change(web): null guards for findTouchAliasTarget uses 2021-04-21 09:09:03 +07:00
Marc Durdin
5bbee38e0c
Merge pull request #4935 from keymanapp/fix/developer/cherry-pick/4803-chiral-warning-is-disruptive
fix(developer): chiral mismatch warning is disruptive 🍒
2021-04-21 11:27:16 +10:00
Marc Durdin
9bb3813664
Merge pull request #4919 from keymanapp/fix/developer/cherry/4917-crash-on-malformed-kpj-user-file
fix(developer): avoid crash if .kpj.user file is malformed 🍒
2021-04-21 10:24:55 +10:00
Marc Durdin
f945ac321e
Merge pull request #4923 from keymanapp/fix/windows/cherry-pick/4874-help-contents-broken-from-tray-menu
fix(windows): help contents broken from tray menu 🍒
2021-04-21 10:22:07 +10:00
Marc Durdin
87cbff4e4c
Merge pull request #4921 from keymanapp/fix/windows/cherry-pick/4848-access-violation-closing-text-editor
fix(windows): access violation closing text editor 🍒
2021-04-21 10:21:54 +10:00
Marc Durdin
2df14077de
Merge pull request #4901 from keymanapp/fix/windows/cherry/4889-crash-when-installing-tip
fix(windows): crash when installing TIP in some rare situations 🍒
2021-04-21 10:21:41 +10:00
Marc Durdin
f7452aad50
Merge pull request #4888 from keymanapp/fix/windows/cherry/4886-install-crashes-on-invalid-and-legacy-package-names
fix(windows): handle invalid package names during install 🍒
2021-04-21 10:21:16 +10:00
Marc Durdin
97cdc708fa fix(developer): chiral mismatch warning is disruptive
Fixes #4803.

This fixes part of #4803 - namely the obtrusive warning flagging that
there are mismatched modifier types in the keyboard. Instead of making
the change during tab switching, it simply shows a warning message in
the design view of the keyboard, which the developer can choose to
ignore.

This does not address the removal of comments or the switch of character
formats which is part of that conversion routine. That is a more complex
change to the parser.
2021-04-21 10:12:27 +10:00
Darcy Wong
38396ab7b9
Merge pull request #4928 from keymanapp/cherrypick/android/4926-4927
fix(android/engine): Change getList() to return an empty list instead of null 🍒
2021-04-21 06:24:59 +07:00
Marc Durdin
325bbc28c2 Update initprog.pas 2021-04-21 06:23:43 +10:00
Eberhard Beilharz
89585de03d
Merge pull request #4931 from keymanapp/fix/linux/cherry/issue-4911
fix(linux): Don't crash on network problem (fixes #4911) 🍒
2021-04-20 13:14:43 -07:00
Eberhard Beilharz
a28e37f4ed
fix(linux): Don't crash on network problem (fixes #4911)
If the network is down or the server name can't be resolved we
shouldn't crash. This change logs an error instead.

(cherry picked from commit 1c04d5200c)
2021-04-20 11:04:31 +02:00
jahorton
a4419fc7c1 docs(web): adjusts comments according to PR review 2021-04-20 14:57:25 +07:00
jahorton
2c03725efd change(web): only check for touch-aliases if touchable 2021-04-20 14:57:24 +07:00
jahorton
3ced825313 change(web): adds code to assist diagnosis of #4797 2021-04-20 14:57:24 +07:00
jahorton
c0495c08ed docs(web): better documents TouchAlias internals, scrollbar handling 2021-04-20 14:57:23 +07:00
Darcy Wong
7735141097 fix(android/engine): Change getList() to return an empty list 2021-04-20 14:44:29 +07:00
Darcy Wong
8f54b0c856
Merge pull request #4924 from keymanapp/cherrypick/android/4905-dont-load-woff-on-n
fix(android/engine): Don't load woff fonts on Android N 🍒
2021-04-20 12:49:20 +07:00
Darcy Wong
ab8b72352f fix(android/engine): Don't load woff fonts on Android N 2021-04-20 10:29:53 +07:00
Marc Durdin
c76539b020 fix(windows): help contents broken from tray menu
Fixes #4874.

Opening product help from the tray menu would end up at a broken page.

Given the title of the link is "Help Contents", I have opted to open at
the help contents... (rather than the alternative of context/tray-menu).
2021-04-20 12:55:53 +10:00
Marc Durdin
c0e4b08176 fix(windows): access violation closing text editor
Fixes #4848.

This error arose because the form was destroyed after kmshell.dpr
completes, which meant that sentry had already been destroyed. The
sentry call was simply to record a breadcrumb of the form being closed.

The fix is to move the lifecycle of the form into the `OpenTextEditor`
function. `OpenTextEditor` is used only by `initprog.RunKMCOM` and so it
is safe to remove the ApplicationRunning path of the code, which
simplifies the lifecycle of the form.
2021-04-20 12:45:43 +10:00
Marc Durdin
63c25cf93f fix(developer): avoid crash if .kpj.user file is malformed
Fixes #4917.

This updates `TProjectLoader` to use the same exception handling pattern
for loading the .kpj.user file as we use for the .kpj file.
2021-04-20 10:52:59 +10:00
Eberhard Beilharz
3443ed2e51
Merge pull request #4878 from keymanapp/fix/linux/issue-4876
fix(linux): don't crash on legacy non-Unicode files
2021-04-19 07:12:41 -07:00
Darcy Wong
8bcb2656cf
Merge pull request #4904 from keymanapp/cherrypick/common/4829-crowdin-indonesian
chore(android,windows): Check in crowdin for Indonesian 🍒
2021-04-19 15:23:58 +07:00
Darcy Wong
f31115cb79
Merge pull request #4903 from keymanapp/cherrypick/common/4895-update-crowdin-fr
chore(common): Update crowdin for French 🍒
2021-04-19 15:23:37 +07:00
Darcy Wong
cecf7ab9ab chore(android,windows): Check in crowdin for Indonesian 2021-04-19 15:11:44 +07:00
Darcy Wong
a0e4fb9849
Merge pull request #4892 from keymanapp/cherrypick/developer/4863
fix(developer): Reduce non-canonical BCP 47 tag warning in PackageInfo to Info 🍒
2021-04-19 14:59:20 +07:00
Darcy Wong
dfb1da57f3
Merge pull request #4891 from keymanapp/cherrypick/android/4865
chore(android/engine): Rename "Pulaar" to "Pulaar-Fulfulde" 🍒
2021-04-19 14:59:04 +07:00
Darcy Wong
19760f99fe chore(common): Update crowdin for French 2021-04-19 13:57:47 +07:00
Marc Durdin
b14e2f5d7e fix(windows): crash when installing TIP in some rare situations
May fix #4889.

In some situations, Keyman is unable to precisely match the user's
default language with its own keyboard settings. In this situation,
Keyman may crash when attempting to install the TIP, or may give a
spurious error such as "Too many transient languages" or similar.

I have been unable to reproduce the crash described in #4889 on my
machines so this is an attempted fix.

This does fix a bug with default languages in any case so is a good fix
to include: if the user's default language is not found in Keyman's LCID
table, then Keyman would fail to install the TIP when the keyboard is
installed and would return an error message (but not crash).
2021-04-19 15:59:59 +10:00
Marc Durdin
2a3c43f328 chore(windows): disable profile repair
Fixes #4893.
Fixes KEYMAN-WINDOWS-50.
Fixes KEYMAN-WINDOWS-4Z.

Profile repair was using legacy code for re-establishing Keyman TIP
profiles after they had been modified by a third party app or Windows.
However, with Keyman 14's new profile registration pattern, this is both
less likely to occur and also easier to resolve (just disabling and
re-enabling the keyboard should do it).

Thus, I have opted to disable the profile repair code as, with the way
it stands at present, it may well make things worse, even aside from the
crash, because of disparities between user and admin TSF settings.
2021-04-19 15:55:07 +10:00
Darcy Wong
4d5fef69f7 fix(developer): Reduce non-canonical BCP 47 tag warning in PackageInfo to "Info" 2021-04-19 07:53:22 +07:00
Darcy Wong
aa2f0484d0 chore(android/engine): Rename "Pulaar" to "Pulaar-Fulfulde" 2021-04-19 07:50:09 +07:00
Marc Durdin
7cac8a70a7 fix(windows): handle invalid package names during install
Fixes #4886.

This patch includes 5 separate fixes for the various scenarios we
encountered during package installation.

1. RunTools.pas: don't attempt to install TIPs if package is not also
   being installed.

2. Keyman.Setup.System.OnlineResourceCheck.pas, OnlineUpdateCheck.pas:
   handle online update check for packages with spaces or periods in the
   id (legacy packages only).

3. Keyman.Setup.System.InstallInfo.pas: Handle browsers renaming
   downloaded files with `(n)` and `[n]` patterns as well as the current
   ` (n)` pattern.

4. Keyman.Setup.System.InstallInfo.pas: Handle browsers renaming
   downloaded files with `_n` pattern. See code comments for details.

5. Keyman.Configuration.System.TIPMaintenance.pas: Avoid crashing if
   `kmshell -install-tips-for-packages` is passed an invalid package
   name.

The crash is actually fixed in point 5 above, but the root causes are
addressed in the other points.
2021-04-19 08:31:49 +10:00
Eberhard Beilharz
59c45c4671
fix(linux): don't crash on legacy non-Unicode files
If we encounter a legacy non-Unicode file we now simply ignore the
file instead of crashing.

This fixes #4876.
2021-04-12 17:38:57 +02:00
Darcy Wong
e447b3045b
Merge pull request #4860 from keymanapp/cherrypick/android/pulaar
chore(android/engine): Rename "Fula" to "Pulaar" 🍒
2021-04-05 09:12:57 +07:00
Darcy Wong
1834dbbc4a chore(android): Rename "Fula" to "Pulaar" 2021-04-05 08:30:59 +07:00
Eberhard Beilharz
f1041ac361
Merge pull request #4852 from keymanapp/chore/linux/jenkins-build
chore(linux): Debug triggering Jenkins build
2021-04-02 12:48:03 +02:00
Eberhard Beilharz
9c1db186a7
chore(linux): Debug triggering Jenkins build
Triggering the Jenkins build from the Stable release trigger on TC
fails. This change outputs the data we're actually sending.
2021-04-01 18:15:20 +02:00
Keyman Server
fe6c6e9fc7
Merge pull request #4845 from keymanapp/auto/version-stable-14.0-14.0.272
auto: increment stable-14.0 version to 14.0.272
2021-04-01 13:09:11 +11:00
Keyman Build Agent
f2870bb2ca auto: increment stable-14.0 version to 14.0.272 2021-03-31 22:08:20 -04:00
Darcy Wong
934ed47164
Merge pull request #4842 from keymanapp/cherrypick/bravogeorge-android-help
docs(android): Update installing-keyboards and enabling-system-keyboards
2021-04-01 08:52:38 +07:00
Darcy Wong
1011de5c8b
Merge pull request #4822 from keymanapp/chore/windows/crowdin-ff
chore(common): Check in crowdin strings for Fulah
2021-04-01 08:50:35 +07:00
Marc Durdin
08235c869e
Merge pull request #4832 from keymanapp/fix/developer/4830-range-expansions-buffer-size-cherry
fix(developer): buffer size for range expansions 🍒
2021-04-01 12:49:54 +11:00
Darcy Wong
c3e3242be5 docs(android): Update installing-keyboards and enabling-system-keyboards
Cherry-pick @bravogeorge 's  documentation updates in #4837 and #4839 to stable-14.0

(Updated image saved to settings6-ap.png)
2021-04-01 08:42:54 +07:00